PDA

View Full Version : سوال: جواب ندادن Perform(EM_LINEINDEX برای پرش به سطر مورد نظر در ممو



mbshareat
جمعه 03 خرداد 1398, 22:02 عصر
سلام
من یه کد نوشتم دلفی ایراد می گرفت که پرانتز باز انتظار داره نه بسته(البته بعدا فهمیدم Ln یه تابعه!)
یه کد کوچک نوشتم که سطری که تعداد پرانتز باز و بسته اش یکی نبود پیدا کنم.
یعنی یونیت رو میریختم توی ممو و یه دکمه هم گذاشته بودم که بره به سطر مشکل ساز اما با اینکه اشکال رو پیدا می کرد به سطر نمی پرید.
ممکنه بهم بگید چرا؟
procedure TForm1.Button1Click(Sender: TObject);
Var
I,J,N1,N2:Word;
S:String;
begin
For I:=0 to Memo1.Lines.Count-1 do
Begin
S:=Memo1.Lines[I];
N1:=0;
N2:=0;
For J:=1 to Length(S) Do
if S[J]=')' then
Inc(N1);
For J:=1 to Length(S) Do
if S[J]='(' then
Inc(N2);
if N1<>N2 then
BEgin
Memo1.SetFocus;
Memo1.SelStart:=Memo1.Perform(EM_LINEINDEX,I,0);
ShowMessage(S);
Exit;
End;
End;

end;