Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Listbox: letzten Eintrag erkennen? (https://www.delphipraxis.net/71185-listbox-letzten-eintrag-erkennen.html)

mlspider 10. Jun 2006 13:52


Listbox: letzten Eintrag erkennen?
 
Wie könnte man den letzen Eintrg einer Listbox erkennen lassen?

mkinzler 10. Jun 2006 13:55

Re: Listbox: letzten Eintrag erkennen?
 
Delphi-Quellcode:
Listbox.Items[ListBox.Items.Count);

SirThornberry 10. Jun 2006 14:00

Re: Listbox: letzten Eintrag erkennen?
 
fast wenn dann so
Delphi-Quellcode:
Listbox.Items[ListBox.Items.Count - 1);
allerdings sollte man auch prüfen das mindestens ein Eintrag vorhanden ist.

mkinzler 10. Jun 2006 14:02

Re: Listbox: letzten Eintrag erkennen?
 
Klar ich sollte besser überlegen, bevor ich poste. :oops:

mlspider 10. Jun 2006 14:04

Re: Listbox: letzten Eintrag erkennen?
 
Delphi-Quellcode:
if Listbox1.ItemIndex <> -1 then begin
 Listbox1.Items[ListBox1.Items.Count -1];
 Label13.Caption:='Track '+InttoSTR(Listbox1.ItemIndex + 1);
 Timer2.Enabled:=True;
 Button4Click(nil);
Bei Listenende wird ButtonClick fleißig weiter ausgeführt. Leider.

SirThornberry 10. Jun 2006 14:06

Re: Listbox: letzten Eintrag erkennen?
 
uj, was hast du vor? dein Quelltext ist irgendwie komisch... Am besten du sagst was du vor hast, dann können wir glaub ich besser helfen.

mlspider 10. Jun 2006 14:14

Re: Listbox: letzten Eintrag erkennen?
 
Hier mal die gesamte Procedur:

Delphi-Quellcode:
procedure TForm1.LameCoder1EndProcess(Sender: TObject);
begin
 ProgressBar1.Position:=0;
 DeleteFile(Memo1.Text); //Das ist die zu rippende Datei
 Label12.Caption:='Track erfolgreich gerippt';
 Label15.Caption:=IntToStr(StrToInt(Label15.Caption) + StrToInt(Label18.Caption));
 listbox1.ItemIndex:=StrToInt(Label15.Caption);
 if Listbox1.ItemIndex <> -1 then begin //Hier soll geprüft werden,
 //ob das Listenende erreicht wurde. Wenn nicht, dann Timer auf True
 //und ButtonClick.
 Listbox1.Items[ListBox1.Items.Count -1];
 Label13.Caption:='Track '+InttoSTR(Listbox1.ItemIndex + 1);
 Timer2.Enabled:=True;
 Button4Click(nil);
end;
end;
Button4 Event:

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var ini: TIniFile;
begin
 CDRip.RipTrack(Edit1.Text+'\'+Label13.Caption+'.wav',seltrack,drivenum,Application);
 //Edit1 beinhaltet den Zielpfad.
Timer2.Enabled:=True;

 ini:=TIniFile.Create('C:\3\ripphat.ini');
 try
  Ini.WriteString('ripphat', '01', Edit1.Text);
 finally
  Ini.Free;
end;
end;

DGL-luke 10. Jun 2006 14:17

Re: Listbox: letzten Eintrag erkennen?
 
Ich blick jetzt auch nicht ganz durch,

aber wenn dus prüfen willst:

Delphi-Quellcode:
if Listbox1.ItemIndex = Listbox1.Items.Count -1 then
  Showmessage('Das letzte Element wurde ausgewählt');
Hoffe das ist verständlicher.

EDIT: Nur zum Verständnis: Listbox1.Items.Count ist die Anzahl der Elemente von Listbox1. Damit hat das letzte Element logischerweise den Index Count-1.

mlspider 10. Jun 2006 14:27

Re: Listbox: letzten Eintrag erkennen?
 
Der Quelltext sieht wirklich chaotisch aus. Habe den Übeltäter gefunden. Wie wäre es mit "end else begin". Jetzt läuft alles. Danke an alle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:24 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 by Thomas Breitkreuz