![]() |
ausgabe einer suche ohne doppelungen in Listbox
hallo,
ich hab schon nen bisschen rumgesucht konnte aber noch nichts dazu finden. Ich will eine suche machen, welche in der listbox ausgegeben werden soll. Allerdings sollen doppelte Namen/... nicht vorkommen Da ich aber nicht weiß wie man die einzelnen items anspricht und sie löscht komme ich net wirklich weiter. Hier mein code:
Delphi-Quellcode:
if RadioButtonjahrgang3.checked = true THEN
BEGIN if StrToInt(Editsuchen3.text) = Schuelerfeld[i].jahrgang THEN // i ist die zähl variable, der das ganze arry (1..1000) durchgeht begin a := a+1; ListBox3.Items.add(IntToStr(Schuelerfeld[i].jahrgang)); end else if a = 0 THEN StatusBar.Panels[0].text := 'Kein Eintrag gefunden!' else begin if a = 1 THEN StatusBar.Panels[0].text := 'Es wurde ' + IntToStr(a) + ' Eintrag gefunden' else StatusBar.Panels[0].text:= 'Es wurden ' + IntToStr(a) + ' Einträge gefunden'; END END; |
Re: ausgabe einer suche ohne doppelungen in Listbox
Hallo,
die Items einer Listbox sind vom Typ TStringlist. Elemente findest Du mit IndexOf(<gesuchter String>). Alternativ kannst Du Sorted := true setzen und Duplicate auf dupIgnore. Dann wird die Liste automatisch sortiert und Duplikate tauchen nicht auf. |
Re: ausgabe einer suche ohne doppelungen in Listbox
|
Re: ausgabe einer suche ohne doppelungen in Listbox
Zitat:
Delphi-Quellcode:
funzt irgendwie net, sagt duplicates = undefinierter bezeichner
[...]
ListBox3.Sorted := true; ListBox3.Duplicates := dupIgnore; [...] sry bin nen ziemlicher delphi noob |
Re: ausgabe einer suche ohne doppelungen in Listbox
Das sind Eigenschaften von Items
|
Re: ausgabe einer suche ohne doppelungen in Listbox
Ja, also ist mein Vorschlag raus? Falsch? Nicht das was Du suchst?
Gruß Mitchl |
Re: ausgabe einer suche ohne doppelungen in Listbox
Naja, das ist nicht so schön. Direkt mit Windows-Messages die VCL zu beschiessen wo es auch mit Bordmitteln geht...
|
Re: ausgabe einer suche ohne doppelungen in Listbox
Zitat:
Ich versuche die ganze zeit das mit dem Dublicates := dubIgnore hinzubekommen ... ich versuche das mit ner ListBox, geht das deswegen net ? kannst du mir ma die zeile schreiben wie das heißen soll ? -> TStringList(ListBox3).Duplicates := dupIgnore; oder so ? komme echt net weiter da :/ sry ich weiß die Fragen sind nen bisschen dumm aber hab gerade erst angefangen mit Delphi :D |
Re: ausgabe einer suche ohne doppelungen in Listbox
Hier nochmal im Klartext:
Delphi-Quellcode:
Listbox3.Items.Sorted := true;
ListBox3.Items.Duplicates := dupIgnore; |
Re: ausgabe einer suche ohne doppelungen in Listbox
Zitat:
Kommt immer das gleiche, er akzeptiert duplicates net (sorted geht glaub ich mit Listbox3.Sorted := true;) [Fehler] Unit1.pas(1108): E2003 Undefinierter Bezeichner: 'Sorted' [Fehler] Unit1.pas(1109): E2003 Undefinierter Bezeichner: 'Duplicates' |
Re: ausgabe einer suche ohne doppelungen in Listbox
Duplicates existiert nur in einer
![]() |
Re: ausgabe einer suche ohne doppelungen in Listbox
Sorry,
es ist tatsächlich TStrings und nicht TStringlist. Du könntest es nur selber machen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
const Strings : Array[0..4] of string = ('abc', 'def', 'ghi', 'abc', 'def'); var i : shortint; begin for i := 0 to high(Strings) do if ListBox1.Items.IndexOf(Strings[i]) = -1 then Listbox1.Items.Add(Strings[i]); end; |
Re: ausgabe einer suche ohne doppelungen in Listbox
Oder rst in eine StringList und dann in die ListBox packen
|
Re: ausgabe einer suche ohne doppelungen in Listbox
Ich würde es so machen:
Delphi-Quellcode:
sl := TStringList.Create;
sl.Sorted := true; sl.Duplicates := dupIgnore; // Code zum suchen und speichern in sl ListBox1.Items.Assign(sl); sl.Free; |
Re: ausgabe einer suche ohne doppelungen in Listbox
danke inherited und DevilsCamp für den tipp
funzt wunderbar :DDD |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 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