Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Liste bei jedem klick auf Button nächsten Index anzeigen (https://www.delphipraxis.net/139866-liste-bei-jedem-klick-auf-button-naechsten-index-anzeigen.html)

Schnittcher 7. Sep 2009 11:13


Liste bei jedem klick auf Button nächsten Index anzeigen
 
Hallo,

ich habe ein kleines Problem ich will bei jedem Klick auf einen Button den nächsten Index der Liste anzeigen.
Ich habe es so versucht:

Delphi-Quellcode:
procedure TForm1.cmdNextClick(Sender: TObject);
var
  x: integer;
  pAuto: IAuto;
begin
  x:= x+1;
    pAuto := AutoList.Items[x];
    edBesitzer.Text := pAuto.ErgebnisName;
    edKW.Text := FloatToStr(pAuto.ErgebnisKW);
    edPS.Text := FloatToStr(pAuto.ErgebnisPS);
end;
Kann mir jemand meinen Fehler sagen?

In x wird immer ein sehr hoher Wert gespeichert. Wieso?

Gruß,
Schnittcher

XXcD 7. Sep 2009 11:23

Re: Liste bei jedem klick auf Button nächsten Index anzeigen
 
Du hast X inerhalb der prozedur cmdNextClick deklariert, du musst diese aber direkt in Form1 deklarieren.
Am besten im private Bereich.
Beim anzeigen des ersten Items musst die X 0 zuweisen also x:=0;
Dann müsste das funktionieren

Andreas L. 7. Sep 2009 11:24

Re: Liste bei jedem klick auf Button nächsten Index anzeigen
 
x muss eine globale Variable oder eine Eigenschaft der Form sein und im OnCreate des Forms mit 0 initialisiert werden.

Schnittcher 7. Sep 2009 11:24

Re: Liste bei jedem klick auf Button nächsten Index anzeigen
 
Hallo,

das habe ich mir auch schon überlegt. Danke für deine Antwort.

Aber wieso bekomme ich einen Wert in x über 4000?

Gruß,
Schnittcher

Andreas L. 7. Sep 2009 11:25

Re: Liste bei jedem klick auf Button nächsten Index anzeigen
 
Zitat:

Zitat von Schnittcher
Hallo,

das habe ich mir auch schon überlegt. Danke für deine Antwort.

Aber wieso bekomme ich einen Wert in x über 4000?

Gruß,
Schnittcher

Wenn eine Variable nicht initialisiert wird, wird ihr ein Zufallswert zugewiesen.

Schnittcher 7. Sep 2009 11:28

Re: Liste bei jedem klick auf Button nächsten Index anzeigen
 
Hallo,

achso okay danke.

Bei VB war es so, dass ich es so machen konnte wie ich es jetzt hatte, kann das sein?

Gruß,
Schnittcher

hoika 7. Sep 2009 12:17

Re: Liste bei jedem klick auf Button nächsten Index anzeigen
 
Hallo,

das mit dem VB glaube ich nicht.
Ach in VB kannst du nicht eine lokale Variable hochzählen,
und erwarten, dass sie beim nächsten Klick den Wert beibehalten hat.

Das Dim x as Integer (?) muss auch dort Modul-Code stehen.


Heiko

Schnittcher 7. Sep 2009 12:19

Re: Liste bei jedem klick auf Button nächsten Index anzeigen
 
Hallo,

okay, dann verwechsel ich jetzt etwas.

Aber naja danke für eure Hilfe.

Gruß,
Schnittcher


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 Uhr.

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