Hej udviklere..
Hvad er koden til at hvis jeg vil søge efter et ord i mit tekstprogram??
Altså jeg går ind i søg og indtaster min søgeord så skal jeg trykke på en knap hvor den søger efter ordet, men hvad for en kode skal jeg skrive for at den kan søge efter ordet???
Håber der er nogen der kan hjælpe....
Hilsen Armen
..:AA:..
Indsæt en TButton og TEdit, og sæt følgende kode ind ved din TButtons OnClick event:
if pos(Edit1.Text, Memo1) > 0 then ShowMessage(Edit1.Text + ' blev fundet...')
else
ShowMessage(Edit1.Text + ' blev ikke fundet...');
Jeg bruger FindDialog...hvad skal jeg så gøre??
Og desuden har jeg lige prøvet det du skrev, me´n der er fejl fordi jeg bruger Richedit ikke Memo..
Jeg skrev såden her: Og der er fejl lige efter: "richedit1)"
if pos(Edit1.Text, richedit1) > 0 then ShowMessage(Edit1.Text + ' blev fundet...')
else
ShowMessage(Edit1.Text + ' blev ikke fundet...');
[Redigeret d. 23/05-02 11:46:45 af Armen (AA)]
Et eksempel på det du mangler:
procedure TForm1.Button1Click(Sender: TObject);
begin
FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top);
FindDialog1.Execute;
end;
procedure TForm1.FindDialog1Find(Sender: TObject);
var
FoundAt: LongInt;
StartPos, ToEnd: Integer;
begin
with RichEdit1 do
begin
{ begin the search after the current selection if there is one }
{ otherwise, begin at the start of the text }
if SelLength <> 0 then
StartPos := SelStart + SelLength
else
StartPos := 0;
{ ToEnd is the length from StartPos to the end of the text in the rich edit control }
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FindDialog1.FindText);
end;
end;
end;
// Martin.