23. juni 2002 - 21:53Der er
7 kommentarer og 1 løsning
søge/find
Hej.. Jeg er igang med en html program.. Hvad er koden til at søge efter et ord.. Altså jeg have finddialog og koden til at få den til at søge/finde...
Her et et lille eksempel på hvordan man kan bruger Finddialogen. (Taget fra delphis hjælpefil) Hvis der er noget du er i tvivl om eller ikke kan finde ud af, så skriv en mail til michaelriis@ofir.dk
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;
if newpos <> -1 then begin RichEdit1.SelStart := newpos; RichEdit1.SelLength := Length(cd.FindText); end else begin MessageDlg('Færdig',mtInformation,[mbOK],0); RichEdit1.SelStart := 0; end;
end;
procedure TForm1.ReplaceDialog1Replace(Sender: TObject); begin if RichEdit1.SelLength = 0 then FindDialog1Find(Sender) else begin RichEdit1.SelText := ReplaceDialog1.ReplaceText; FindDialog1Find(Sender); end;
if frReplaceAll in ReplaceDialog1.Options then while (RichEdit1.SelLength <> 0) do ReplaceDialog1Replace(Sender); end;
procedure TForm1.FormCreate(Sender: TObject); begin RichEdit1.SelStart := 0; end;
if newpos <> -1 then begin RichEdit1.SelStart := newpos; RichEdit1.SelLength := Length(cd.FindText); end else begin MessageDlg('Færdig',mtInformation,[mbOK],0); RichEdit1.SelStart := 0; end;
end;
Resten af koden er hvis du vil erstatte ord - hvis du ikke vil bruge den kan du bare droppe den. Den har ingen forbindelse til Finddialogen.
er der stadig problemer kan jeg sende dig et eksempel i brugen af finddialogen. mail: steenlarsne@it.dk vh stone
fejl i den ovenstående skrevne email: steenlarsen@it.dk
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.