Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prüfen ob Wörter in einem String vorkommen, Reihenfolge egal (https://www.delphipraxis.net/28345-pruefen-ob-woerter-einem-string-vorkommen-reihenfolge-egal.html)

Aike 8. Okt 2004 18:18

Re: Prüfen ob Wörter in einem String vorkommen, Reihenfolge
 
Also, ich hab den Quelltext einfach eingefügt und ausprobiert, aber es findet nichts in der Liste :-/
(Wie oft das Wort vorkommt, ist egal, höchstens ob zwei Strings aufeinander folgen, wäre schön zu wissen, z.B. "Guten Appetit")

Delphi-Quellcode:
SpielerListe := getHTML('http://www.d4o.de/index.php?site=heldenonline'); //SpielerListe ist ein String

if IstVorhanden('aktuell',SpielerListe,',') then //Wort "aktuell" kommt auf jeden Fall vor
  ShowMessage('Online')
else
  ShowMessage('Offline');

SaschaM 8. Okt 2004 18:58

Re: Prüfen ob Wörter in einem String vorkommen, Reihenfolge
 
Zitat:

Zitat von Aike
Also, ich hab den Quelltext einfach eingefügt und ausprobiert, aber es findet nichts in der Liste :-/
(Wie oft das Wort vorkommt, ist egal, höchstens ob zwei Strings aufeinander folgen, wäre schön zu wissen, z.B. "Guten Appetit")

Delphi-Quellcode:
SpielerListe := getHTML('http://www.d4o.de/index.php?site=heldenonline'); //SpielerListe ist ein String

if IstVorhanden('aktuell',SpielerListe,',') then //Wort "aktuell" kommt auf jeden Fall vor
  ShowMessage('Online')
else
  ShowMessage('Offline');


Kannst Du die Funktion für getHTML posten oder die Liste an sich??

Gruß Sascha

Aike 8. Okt 2004 19:10

Re: Prüfen ob Wörter in einem String vorkommen, Reihenfolge
 
Die Funktion "GetHTML" habe ich hier (www.delphipraxis.net) her.

Aike 17. Okt 2004 22:43

Re: Prüfen ob Wörter in einem String vorkommen, Reihenfolge
 
Ich habe es jetzt wie folgt hinbekommen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  DelphiPraxisStrings : String;
  sl  : TStringList;
  ndx : Integer;
  okay : Boolean;
  x:integer;
begin
  DelphiPraxisStrings := getHTML('http://www.delphipraxis.net'); //Nur als Bsp.

  lstbxGetrennt.Items.Clear;
  lstbxVerbunden.Items.Clear;

  sl := TStringList.Create;
  try
    sl.Delimiter := ' ';
    sl.Sorted:=True;

    for x:=0 to lstbxGesucht.Count-1 do
    begin
      sl.DelimitedText := lstbxGesucht.Items[x];
      sl.Duplicates:=dupIgnore;
      for ndx := 0 to pred (sl.Count) do
      begin
        okay := Pos (sl.Strings[ndx],DelphiPraxisStrings) > 0; // Wort ist vorhanden
        if not (okay) then
        begin
          lstbxGetrennt.Items.Add(sl.Strings[ndx]); //Wort steht nicht in der Liste
        end
        else
        begin
          lstbxVerbunden.Items.Add(sl.Strings[ndx]); //Wort steht in der StringListe
        end;
      end;
    end;
  finally
    FreeAndNil (sl);
  end;
end;
Jetzt fehlt mir nur noch eine Möglichkeit auch aufeinander folgene Strings zu untersuchen ... wie eben "Guten Tag", welches in "lstbxGesucht.Items[x]" gespeichert ist.

Mir ist leider gerade aufgefallen, dass auch Substrings gefunden werden. In diesem Thread steht ja schon etwas von der function "SplitIntoWords", aber ich weiß nicht, was ich damit anfangen soll :wiejetzt:

SaschaM 18. Okt 2004 12:53

Re: Prüfen ob Wörter in einem String vorkommen, Reihenfolge
 
Sorry, Aike, hatte keine Zeit in den letzten Tagen...

Ich habe nun nicht ganz mitbekommen, was Du eigentlich haben willst.

Wofür stehen nun die 3 Variablen:

lstbxGetrennt
lstbxVerbunden
DelphiPraxisStrings

und was willst du als Ergebnis erhalten?

lg
Sascha

Aike 19. Okt 2004 09:22

Re: Prüfen ob Wörter in einem String vorkommen, Reihenfolge
 
lstbxGetrennt enthält alle nicht vorhandenen Wörter; lstbxVerbunden enthält alle enthaltenen Wörter; DelphiPraxisStrings enthält alle Wörter auf der DelphiPraxis-Startseite.

Das Ergebnis sollte so aussehen:
"Tölz" -> Nicht enthalten -> lstbxGetrennt
"Delphi" -> Enthalten -> lstbxVerbunden

"Delp" -> Nicht enthalten -> lstbxGetrennt
"Willkommen in der freundlichen Community" -> Enthalten -> lstbxVerbunden


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.
Seite 4 von 4   « Erste     234   

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