Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Woerter in Memo suchen, wie viel gefunden, welche Zeile (https://www.delphipraxis.net/140812-woerter-memo-suchen-wie-viel-gefunden-welche-zeile.html)

Praxist 26. Sep 2009 12:47


Woerter in Memo suchen, wie viel gefunden, welche Zeile
 
Hallo

ich moechte beim Suchen nach einem Wort in Memo mehr Informationen anzeigen lassen
Ich lade den Text von einem .txt in Memo1 und dann wird nach dem Wort gesucht

Das Ergebnis soll in mehrere Edits angezeigt werden, z.B.

In Edit1 : In Welche Memo-Zeile ist das 1. gefunde Wort
In Edit2 : In Welche Memo-Zeile ist das 1. gefunde Wort

...
Editx : wie viel Woerter wurden gefunden

Kann jemand mir helfen?

Ich verwende diesen Code :
http://www.swissdelphicenter.ch/en/showcode.php?id=2136

DeddyH 26. Sep 2009 12:57

Re: Woerter in Memo suchen, wie viel gefunden, welche Zeile
 
Wieso die Ausgabe in Edits? Du weißt doch gar nicht, wieviele Fundstellen es gibt, Du müsstest die Edits also dynamisch erzeugen, das finde ich nicht sonderlich elegant. Du könntest stattdessen doch z.B. eine Listbox nehmen. Aus dem Kopf:
Delphi-Quellcode:
var i: integer;
begin
  ListBoxZeilen.Items.BeginUpdate;
  try
    ListBoxZeilen.Items.Clear;
    for i := 0 to Memo.Lines.Count - 1 do
      //wenn Groß- und Kleinschreibung berücksichtigt werden soll, AnsiContainsText durch AnsiContainsStr ersetzen
      if {StrUtils.}AnsiContainsText(Memo.Lines[i],Suchtext) then
        ListBoxZeilen.Items.Add(Format('Gefunden in Zeile %d',[i]));
  finally
    ListBoxZeilen.Items.EndUpdate;
  end;
end;
Die Anzahl der Funde steht dann in ListBoxZeilen.Items.Count.

Klaus01 26. Sep 2009 12:59

Re: Woerter in Memo suchen, wie viel gefunden, welche Zeile
 
In etwa sollte es so aussehen:

Delphi-Quellcode:
for i:=0 to Memo1.lines.count -1 do
  if pos(Memo1.lines[i],suchwort) > 0 then
     // suchwort in Zeile i gefunden
Wobei pos auch etwas findet wenn das Suchwort nur ein
Teil eines ganzen Wortes ist.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz