![]() |
bestimmte einträge in listbox zählen
halli hallo,
ich bin als anfänger auf folgendes problem gestoßen: ich möchte eine listbox machen, in der nur bestimmte einträge gezählt werden (nicht die gesamte listbox)und dann soll es in einem label angezeigt werden. Danke im Voraus |
Re: bestimmte einträge in listbox zählen
Und welche Einträge? Prinzipiell kannst Du in einer Schleife alle Einträge durchgehen und prüfen.
Delphi-Quellcode:
Zaehler := 0;
for i := 0 to ListBox.Items.Count - 1 do if ListBox.Items[i] = 'Passt' then inc(Zaehler); Label.Caption := inttostr(Zaehler); |
Re: bestimmte einträge in listbox zählen
alles klar, hat geklappt.
hätte noch eine kleine frage zum label, könnte ich anzeigen lassen, "Dings 10/Bums 3" usw., und das in einem label? |
Re: bestimmte einträge in listbox zählen
Ja warum nicht?
|
Re: bestimmte einträge in listbox zählen
ich meinte mehere ergebnisse in einem label..
|
Re: bestimmte einträge in listbox zählen
Klar geht das.
Delphi-Quellcode:
Label1.Caption := Label1.Caption + 'Wuppdi';
|
Re: bestimmte einträge in listbox zählen
Delphi-Quellcode:
Label.Caption := 'Dings:'+inttostr(Zaehler)+'/Bums:'+IntToStr( zaehler2);
|
Re: bestimmte einträge in listbox zählen
Hallo,
meinst du du hast folgende Liste: Zitat:
Hallo: 1 Welt: 3 Gehen: 2 ? Dann würde ich jeden Eintrag durchgehen, und in einer zweiten Liste überprüfen ob dies bereits existiert.
Delphi-Quellcode:
Ich geben keine Gewähr auf den Code, das dieser funktioniert oder besonders optimiert ist!
var
sl : TStringList; // Eine Liste von Strings cnts : array of Integer; // Eine Liste mit der Anzahl einzelner Strings begin sl := TStringList.Create; // Die Liste erstellen SetLength(cnts, 0); // Die Anzahl der Anzahl auf 0 setzen try for i := 0 to <ListBox>.Count - 1 do // Jeden einzelnen Eintrag durchgehen begin if sl.IndexOf(<ListBox>.Items[i]) >= 0 then // Wenn der Eintrag bereits in der Liste der Strings existiert ... Inc(cnts[sl.IndexOf(<ListBox>.Items[i])]) // ... die Anzahl der Einträge um eins erhöhen ... else // ... ansonsten ... begin SetLength(cnts, Length(cnts) + 1); // ... die Anzahl der Anzahlen um eins erhöhen ... cnts[High(cnts)] := 1; // ... den Wert auf 1 setzten ... sl.Add(<ListBox>.Items[i]); // ... und den Eintrag der Stringliste hinzufügen end; end; finally sl.Free; end; end; Dieser Code berechnet dir wie viele verschiedene Wörter drin vorkommen, und wie häufig diese vorkommen. Wenn du dazu Fragen hast: Schieß los (blos nicht auf mich ;) ) MfG xZise |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 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-2025 by Thomas Breitkreuz