![]() |
Suchen in RTF-Texten?
Hai,
ich habe in meiner Tabelle Text im RTF-Format gespeichert. Jetzt stellt sich die Frage welches die beste Stategie für eine Volltextsuche ist. Irgend welche Vorschläge, Erfahrungen? :stupic:
|
Re: Suchen in RTF-Texten?
Hai Sharky (lach),
ich benutze folgende Variante zur Textsuche in einem einem Memofeld in das komplette Winword oder WordPerfect Texte zur schnellen Übersicht hinterlegt werden.
Delphi-Quellcode:
Viel Spass mit dem Beispiel
procedure TfrmMain.SuchenText;
var Position, x, i : Integer; BEGIN IF TextSuchen then BEGIN dm.QryDok.next; Position := dm.QryDok.RecNo; SpBtnAbort.Visible := TextSuchen; // Text in DB-Feld finden FOR i := Position to dm.QryDok.RecordCount do BEGIN forms.Application.ProcessMessages; SpBtnAbort.Visible := TextSuchen; IF Textsuchen = false then EXIT; x := pos(AnsiLowerCase(MemoText), AnsiLowerCase(frmText.dbMemo1.Text)); IF x > 0 then BEGIN frmText.Caption := 'Dokument-Text - ' + dm.QryDokDOKUMENTNAME.AsString; frmText.show; // Text im Memo finden SuchenMemo(MemoText); Break; END; dm.QryDok.Next; END; TextSuchen := FALSE; SpBtnAbort.Visible := TextSuchen; END; END; // Suche im Memofeld procedure TfrmMain.SuchenMemo(Text: String); var s : String; I, J, PosReturn, SkipChars : Integer; begin s := Text; for I := 0 to frmText.dbMemo1.Lines.Count do begin forms.Application.ProcessMessages; PosReturn := Pos(s, frmText.dbMemo1.Lines[I]); if PosReturn <> 0 then {gefunden!} begin Skipchars := 0; for J := 0 to I - 1 do Skipchars := Skipchars + Length(frmText.dbMemo1.Lines[J]); SkipChars := SkipChars + (I * 2); SkipChars := SkipChars + PosReturn - 1; // Gefundenen Text im Memo markieren frmText.dbMemo1.SetFocus; frmText.dbMemo1.SelStart := SkipChars; frmText.dbMemo1.SelLength := Length(s); Break; end; end; end; Gruß Jochen [edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz