![]() |
ListBox auslesen
Hi ich habe folgendes Problem:
Ich habe eine ListBox, in die ich Dateinamen eines Ordners reingeschrieben habe. Nun möchte ich diese Einträge per Timer auslesen und zwar, damit mein Label die einzelnen Einträge hintereinander anzeigen kann. Wie kann ich das machen? |
Re: ListBox auslesen
Hi!
Willkommen in der DP!! Meinst du sowas:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var i: integer; begin for i:=0 to ListBox1.Count-1 do Label1.Caption:=ListBox1.Items[i]; end; |
Re: ListBox auslesen
Hallo und herzlich Willkommen in der DP!
Dann schau Dir dochmal in der OH an wie man den Timer benutzt, mittels ItemIndex der ListBox, was auch in der OH beschrieben ist, kannst Du dann die Einträge erreichen. |
Re: ListBox auslesen
Hallo Matze,
würde das nicht so schnell ablaufen, dass man immer nur den letzten Eintrag sieht? |
Re: ListBox auslesen
Bevor du den Timer startest setzt du LB.ItemIndex := 0;
Dann könntest du in dem Timer-Ereignis
Delphi-Quellcode:
Alternativ zu ItemIndex kannst du auch selber eine Integer-Variable deklarieren.
with LB do
begin Label.Caption := Items[ItemIndex]; if Item >= Count - 1 then T.Enabled := false // Timer stoppen else ItemIndex := ItemIndex + 1; end; |
Re: ListBox auslesen
@choose: Wenn man das Intervall des Timers auf 1000 stellt (standard) dann sieht man die Einträge im Sekundentakt im Label. ;)
|
Re: ListBox auslesen
@Matze
schau deinen Code nochmal genau an Ich würde bloß aller einer Sekunde den letzten Eintrag im Label sehen. |
Re: ListBox auslesen
oh :wall: stimmt :wall:
|
Re: ListBox auslesen
Delphi-Quellcode:
with LB do
begin Label.Caption := Items[ItemIndex]; if Item >= Count - 1 then ItemIndex := 0 // ODER um vorne wieder zu beginnen else ItemIndex := ItemIndex + 1; end; |
Re: ListBox auslesen
Meins könnte man auch so schreiben. ;)
Delphi-Quellcode:
var i: integer;
... procedure TForm1.Timer1Timer(Sender: TObject); begin Label1.Caption:=ListBox1.Items[i]; inc(i); //fals wiederholt werden soll: if i=ListBox1.Count then i:=0; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 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