![]() |
Inhaltsvergleich einer Listbox
Huhu DP!
Ich habe eine Listbox auf meiner Form. Ich lese einen String aus und möchte wissen, ob dieser String bereits in meiner Listbox vorkommt. Eigentlich geht das doch so:
Delphi-Quellcode:
Das klappt komischerweise aber nicht. Ist da was falsch?
//Prüfen ob er in der Liste ist..
if Fliste.meineliste.items.indexof(meinstring) = -1 then begin //String ist nicht in der Listbox end else begin //String wurde in Listbox gefunden end; |
Re: Inhaltsvergleich einer Listbox
Die Strings müssen ja vollständig übereinstimmen (Groß-Kleinschreibung, Leerzeichen) versuchs mal mit Trim(), UpperCase() o,ä.
|
Re: Inhaltsvergleich einer Listbox
Müsste eigentlich gehen , habs gerade ausprobiert. Bekomme -1 zurueck, wenn Delphi nichts findet.
self.LstStartedProcesses.items.indexof('Suchtext') ; // -das funktioniert bei mir Hast du wirklich eine Listbox ?? Vielleicht Groß/Kleinschreibung ?? Zudem hast du vor Items 2 Objekte stehen ?? |
Re: Inhaltsvergleich einer Listbox
Hi,
Ich hab das ganze nochmal geprüft, das Ergebnis ist immer negativ. Hier der simple Code:
Delphi-Quellcode:
Ihr könnt es gern mal testen aber angeblich ist der string immer in der liste 2 :(
procedure TForm1.Button4Click(Sender: TObject);
var s: String; begin //lade den ersten namen aus der Liste if fileexists('C:\liste1.txt') then begin liste1.Items.LoadFromFile('C:\liste1.txt'); s:=liste1.items[0]; //den ersten Eintrag auswählen end; //vergleichen mit dem inhalt der anderen liste if fileexists('C:\napliste.txt') then napliste.Items.LoadFromFile('C:\napliste.txt'); if napliste.items.indexof(s) = -1 then showmessage(s+' ist nicht in Liste 2') else showmessage(s+' ist in Liste 2 Juchuu'); End; |
Re: Inhaltsvergleich einer Listbox
Hallo Jaimy,
wenn du deinen Code etwas erweiterst, dann kommst du der Fehlerursache vielleicht selbst auf die Spur:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.ButtonClick(Sender: TObject);
const FN_LISTE1 = 'C:\Liste1.txt'; FN_NAPLISTE = 'C:\napliste.txt'; var s: string; begin // lade den ersten namen aus der Liste if FileExists(FN_LISTE1) then begin Liste1.Items.LoadFromFile(FN_LISTE1); if Liste1.Count > 0 then begin // den ersten Eintrag auswählen s := Liste1.Items[0]; // vergleichen mit dem inhalt der anderen liste if FileExists(FN_NAPLISTE) then begin napListe.Items.LoadFromFile(FN_NAPLISTE); if napListe.Items.IndexOf(s) < 0 then ShowMessage(Format('"%s" nicht in NapListe', [s])) else ShowMessage(Format('"s" in NapListe gefunden', [s])); end else ShowMessage(Format('Datei "%s" nicht gefunden', [FN_NAPLISTE])); end else ShowMessage('Liste1 ist leer'); end else ShowMessage(Format('Datei "%s" nicht gefunden', [FN_LISTE1])); end; |
Re: Inhaltsvergleich einer Listbox
Der marabu liegt wieder völlig richtig, da war ich wohl zu ungenau. Ich werde zukünftig darauf achten.
Grüsse Jaimy :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 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