![]() |
Nach Wert in Liste suchen - Index und alle anderen Einträge
Hallo,
ich möchte nach einem Wert in einer Liste suchen. Dazu den Index ausgeben und alle anderen Einträge die es zu dem Wert gibt. Hier habe ich es nach dem Index gemacht:
Delphi-Quellcode:
Und das gleiche will ich jetzt nach edBesitzer.Text machen.
procedure TForm1.cmdIndexClick(Sender: TObject);
var pAuto: IAuto; index: Integer; begin index := 0; index := StrToInt(edIndex.Text); pAuto := AutoList.Items[index]; edBesitzer.Text := pAuto.ErgebnisName; edKW.Text := FloatToStr(pAuto.ErgebnisKW); edPS.Text := FloatToStr(pAuto.ErgebnisPS); end; Kann mir dazu jemand etwas sagen? Gruß, Schnittcher |
Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
Na, setz den Suchindex initial auf 0 und gehe in einer Schleife die Liste durch, bis Du den passenden Eintrag gefunden hast oder das Ende der Liste erreicht wurde.
|
Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
Das geht mit
Delphi-Quellcode:
ListBox1.Items.IndexOf('Eintrag');
|
Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
Welche ListBox? :gruebel:
|
Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
Ich nehme mal an, dass Autolist eine Listbox ist.
Und wenn nicht in anderen Komponenten gibt es IndexOf auch [Edit]Hab gerade meinen Fehler selber bemerkt :-D In der Liste sind nur die Addressen gespeichert[\Edit] |
Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
Hallo,
könnt ihr mir ein Beispiel geben? Ich dachte mir jetzt sowas:
Delphi-Quellcode:
Gruß,
procedure TForm1.cmdBesitzerClick(Sender: TObject);
var besitzer: string; pAuto: IAuto; i: Integer; begin i := 0; edBesitzer.Text := besitzer; for i := 0 to AutoList.Count do begin pAuto := AutoList.Items[i]; besitzer := pAuto.ErgebnisName; end; edBesitzer.Text := pAuto.ErgebnisName; edKW.Text := FloatToStr(pAuto.ErgebnisKW); edPS.Text := FloatToStr(pAuto.ErgebnisPS); end; Schnittcher |
Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
Ja ich versuch dir das mal weiter zu machen:
Delphi-Quellcode:
So sollte das ganze funktionieren.
procedure TForm1.cmdBesitzerClick(Sender: TObject);
var besitzer: string; pAuto: IAuto; i: Integer; begin i := 0; edBesitzer.Text := besitzer; for i := 0 to AutoList.Count do begin pAuto := AutoList.Items[i]; if pAuto.ErgebnisName='Mustermann' then //Mustermann ist der String de rgesucht wird begin besitzer := pAuto.ErgebnisName; break;//Wenn gefunden, dann Schleife unterbrechen end; end; if Besitzer<>'' then begin //gefunden end; edBesitzer.Text := pAuto.ErgebnisName; edKW.Text := FloatToStr(pAuto.ErgebnisKW); edPS.Text := FloatToStr(pAuto.ErgebnisPS); end; |
Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
pAuto := AutoList.IndexOf(edIndex.Text);
|
Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
Hallo,
@XXcD jetzt bekomme ich den Fehler "List index out of bounds(3)". Gruß, Schnittcher |
Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
Hallo,
so mein Fehler, es läuft. Danke. Gruß, Schnittcher |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 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