Memo içinde bir texti aratmak istiyorum. Ama atıyorum ilk 20 harfi şu olanı bul diyebilirmiyiz.
Memo1.lines.indexof(...) benim için çok ideal ama bunda tam satıra bakıyor ben satırın ilk 20 harfine bakmasını istiyorum.
Memoda bir text aratmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Bulduktan sonra ikinci bir kontrolle satırın ilk 20 si mi diye kontrol edebilirsin
gibi.

Kod: Tümünü seç
if copy(memo1.Lines[satir],1, 20) = ArananSt then ...
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Buda DBmemo da arama;işine yarar
Kod: Tümünü seç
procedure Tform1.FindDialog1Find(Sender: TObject);
var Buff, P, FT : PChar;
BuffLen : Word;
begin
With Sender as TFindDialog do
begin
GetMem(FT, Length(FindText) + 1);
StrPCopy(FT, FindText);
BuffLen:= DBMemo1.GetTextLen + 1;
GetMem(Buff,BuffLen);
DBMemo1.GetTextBuf(Buff,BuffLen);
P:= Buff + DBMemo1.SelStart + DBMemo1.SelLength;
P:= StrPos(P, FT);
if P = NIL then MessageBeep(0)
else
begin
DBMemo1.SelStart:= P - Buff;
DBMemo1.SelLength:= Length(FindText);
end;
FreeMem(FT, Length(FindText) + 1);
FreeMem(Buff,BuffLen);
DBMemo1.SetFocus;
end;
end;
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************