Hogy lehet delphi-ben keresni egy tmemo-ban?
Azt szeretném, hogy egy gomb megnyomásával jelezze, hogy
egy Memo1-ben van e egy adott szó.
Pl: Memo1 tartalma: mcnashdáháEZASZÓjlkdgasdbiaud
és ha rákeresek 'EZASZÓ' akkor megtalálja, kiadja van e benne(true/false).
Kérem segítsenek, nagyon fontos lenne.
Szia.
Több módszer is van.
1. Ha a memóban lehet a kijelölést használni akkor, kijelölteted az egész memót (Form1.Memo1.SelectAll), majd használod a pos függvényt result:=pos (KeresoSzo,Form1.Memo1.SelText))<>0;
2. A memo sorai elérhetőek a következő módon :
1. sor: Form1.Memo1.Lines[0]
2. sor: Form1.Memo1.Lines[1]
Utolsó sor : Memo1.Lines.Count-1.
stb.
Ha egy ciklussal végigmész a sorokon, akkor soronként használhatod a a pos függvényt.
Sok sikert.
Üdv.
Köszönöm, ez elég hasznos, de nem vagyok hozzá elég profi.
Esetleg egy konkrét kódot nem tudsz küldeni(procedure-tól az end;-ig)?
üdv.
Szia.
Ami kell a formra :
1 db Tmemo
1 db Tedit
1 db Button
Egy függvény (A memmóban keresi az editor szövegét) és egy procedure (gombnyomás procedurája) :
Function MemoKereses:boolean ;
Begin
_ _ _Form1.Memo1.SelectAll;
_ _ _Result:=pos (Form1.Edit1.Text,Form1.Memo1.SelText)<>0;
End ;
procedure TForm1.Button1Click(Sender: TObject);
begin
_ _ _if MemoKereses then begin
_ _ _ _ _ showmessage (Form1.Edit1.Text+' megtalálható a szövegben');
_ _ _end
_ _ _Else Begin
_ _ _ _ _ showmessage (Form1.Edit1.Text+' NINCS benne a szövegben');
_ _ _End ;
end;
Sok sikert.
Üdv.
Második változat (ciklusos):
Function MemoKereses:boolean ;
Var i : longint ;
Begin
_ _ _Result:=False;
_ _ _I:=-1;
_ _ _while (not (Result) and (I<Form1.Memo1.Lines.Count-1)) do begin
_ _ _ _ _ I:=I+1;
_ _ _ _ _ Result:=pos (Form1.Edit1.Text,Form1.Memo1.Lines[I])<>0;
_ _ _end ;
End ;
Sok sikert.
Üdv.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!