Entwickler-Ecke
Sonstiges (Delphi) - Finddialog und Richedit...
Scrat - Di 19.11.02 13:22
Titel: Finddialog und Richedit...
Hallo zusammen,
wie stell ich es an, dass ich den Finddialog richtig benutzen kann?
Ich habe in der Hilfe einen Quelltext gefunden, aber der funtzt irgendwie nich...
Quelltext
1: 2: 3: 4: 5: 6:
| if FindDialog1.Execute then begin if SelLength <> 0 then StartPos := SelStart + SelLength else StartPos := 0; |
Ich möchte einfach nur, dass nach den Wörtern gesucht wird welche ich im Finddialog eingebe.
Wer kann mir helfen?
MFG
Scrat
foxy - Di 19.11.02 13:25
Versteh ich dich richtih du möchtest das du nach einem String gesucht wird den du eingibst ??... was soll er suchen Dateien mit dem Namen oder in einer Datei eine Zeile oder Wörter??
LCS - Di 19.11.02 14:03
Hi
Auszug aus der Hilfe zum RichEdit
| borland hat folgendes geschrieben: |
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| procedure TForm1.FindDialog1Find(Sender: TObject); var FoundAt: LongInt; StartPos, ToEnd: Integer; begin with RichEdit1 do begin { Suchbeginn nach der aktuellen Markierung (falls vorhanden), } { andernfalls am Textanfang starten }
if SelLength <> 0 then StartPos := SelStart + SelLength else
StartPos := 0;
{ ToEnd ist die Länge von StartPos bis zum Ende des Textes im RTF-Eingabefeld }
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; |
|
Gruss Lothar
Delete - Di 19.11.02 15:32
| foxy hat folgendes geschrieben: |
| Versteh ich dich richtih du möchtest das du nach einem String gesucht wird den du eingibst ??... was soll er suchen Dateien mit dem Namen oder in einer Datei eine Zeile oder Wörter?? |
Sthet doch da: Eine Zeichenfolge in einem RichEdit.
Scrat - Mi 20.11.02 10:20
Ja ich möchte nach Wörtern suchen.
Wenn der Satz lauten würde: Willkommen im Delphi-Forum...
Und ich suche mittels dem Finddialog nach dem Wort "Delphi",
soll mein Cursor zu der Stelle im Satz springen wo das Wort steht und dieses blau makieren.
Danke im Vorraus
Scrat
PS: Den Finddialog-Quellcode habe ich so wie er in der Hilfe-Datei steht in meinen Quellcode kopiert. Resultat = null.
Keldorn - Mi 20.11.02 11:12
Hallo,
ein ähnliches thema Thema hatten wir ja erst vor kurzem ....ich hab auch den text aus der OH kopiert und bei mir is Resultat <> Null.
haste auch das onfind-ereignis beim Finddialog richtig zugeordnet?
Mfg Frank
Scrat - Mi 20.11.02 16:30
Also ich komme irgendwie mit der Hilfe von Delphi nur ganz selten klar.
Und OnFind habe ich bei mir gar nicht im einsatz.
(Habe ich auch bei dem Quelltext von der Delphi-Hilfe nicht finden Können)
Wenn ich Finddialog1.Onfind eingebe verlangt Delphi nach mehr Parametern. Wie muß ich denn den OnFind-Befehl benutzen?
MFG
Scrat
Keldorn - Mi 20.11.02 16:54
| Scrat hat folgendes geschrieben: |
Also ich komme irgendwie mit der Hilfe von Delphi nur ganz selten klar.
|
solltest du aber - sonst kommst du nie weiter.
| Scrat hat folgendes geschrieben: |
Und OnFind habe ich bei mir gar nicht im einsatz.
|
- klick den finddialog auf deiner Form an
- im objektinspektor auf
ereiognisse klicken
- da steht unter anderem onclose,
onfind ... , auf der rechten seite bei onfind sollte eine Prozedur eingetragen sein, wennn nicht, ist es kein wunder, das bei dir resultat=null ist.
| Die gute Onlinehilfe hat folgendes geschrieben: |
Beschreibung
Wenn der Benutzer auf die Schaltfläche Weitersuchen im Dialogfeld Suchen klickt, tritt das Ereignis OnFind ein. Die in Options gesetzten Flags bestimmen, wie die Suche durchgeführt wird.
|
steht keine Procedur drin, doppelklick drauf ... im quelltext steht dann:
Quelltext
1: 2: 3: 4:
| procedure TForm1.FindDialog1Find(Sender: TObject); begin
end; |
das
finddialog1find sollte dir bekannt vorkommen, hierein mußte den Code aus der OH reinkopieren.
ansonsten poste mal nen teil von deinem Quelltext.
Mfg Frank :roll:
Scrat - Do 21.11.02 10:35
Hi Keldorn,
jetzt funkt es.
Mann muß die Prozedur also in das Ereignissfeld schreiben......
Danke
Scrat
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!