Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Nach Wert in Liste suchen - Index und alle anderen Einträge (https://www.delphipraxis.net/139868-nach-wert-liste-suchen-index-und-alle-anderen-eintraege.html)

Schnittcher 7. Sep 2009 12:33


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:
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;
Und das gleiche will ich jetzt nach edBesitzer.Text machen.

Kann mir dazu jemand etwas sagen?

Gruß,
Schnittcher

DeddyH 7. Sep 2009 12:37

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.

XXcD 7. Sep 2009 12:37

Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
 
Das geht mit
Delphi-Quellcode:
ListBox1.Items.IndexOf('Eintrag');

DeddyH 7. Sep 2009 12:39

Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
 
Welche ListBox? :gruebel:

XXcD 7. Sep 2009 12:40

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]

Schnittcher 7. Sep 2009 12:49

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:
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;
Gruß,
Schnittcher

XXcD 7. Sep 2009 12:55

Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
 
Ja ich versuch dir das mal weiter zu machen:

Delphi-Quellcode:
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;
So sollte das ganze funktionieren.

martin_ 7. Sep 2009 12:57

Re: Nach Wert in Liste suchen - Index und alle anderen Eintr
 
pAuto := AutoList.IndexOf(edIndex.Text);

Schnittcher 7. Sep 2009 12:59

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

Schnittcher 7. Sep 2009 13:02

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 07:44 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz