Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listboxwerte untereinander auslesen (https://www.delphipraxis.net/7227-listboxwerte-untereinander-auslesen.html)

thorstenf01 6. Aug 2003 10:19


Listboxwerte untereinander auslesen
 
Hy,
die unten gezeigte Prozedur soll bei einer "1" (der Timer1 ist enabled) die aktuelle Uhrzeit + "ja"
in die Listbox schreiben. Das Problem liegt nun darin, das der Listboxkopf zwar steht, aber die zyklische
Abfrage jedesmal überschrieben wird, anstatt untereinander ausgegeben zu werden.
Nehme ich nun das "ListBox2.Items.Clear;" heraus, so wiederholt sich der Listboxkopf, die zyklische Abfrage wird aber
nicht überschrieben.
Wie bekomme ich es nun hin, das der Listboxkopf fix bleibt und die zyklische Abfrage untereinander Ausgegeben wird?

Code:
procedure TForm3.Timer1Timer(Sender: TObject);
var Zahl :real;
begin
   ListBox2.Items.Clear;
   ListBox2.Items.Add(' ');
   ListBox2.Items.Add('       Abfrage der Schnittstelle                        ');
   ListBox2.Items.Add(' ');
   ListBox2.Items.Add('    Uhrzeit        Schattenwurf vorhanden             ');
   ListBox2.Items.Add(' ');
   ListBox2.Items.Add('______________________________________________________________________');
   ListBox2.Items.Add(' ');

  Zahl:= strtofloat(Edit1.text);
  try
    if Zahl = 1 then
    ListBox2.Items.Add( TimeToStr(Time) +  'Uhr'    +     ' ja ')
    except

  end;
end;
Gruß
Thorsten

MathiasSimmack 6. Aug 2003 10:32

Re: Listboxwerte untereinander auslesen
 
Indem du diesen Teil:
Delphi-Quellcode:
  ListBox2.Items.Clear;
   ListBox2.Items.Add(' ');
   ListBox2.Items.Add('       Abfrage der Schnittstelle                        ');
   ListBox2.Items.Add(' ');
   ListBox2.Items.Add('    Uhrzeit        Schattenwurf vorhanden             ');
   ListBox2.Items.Add(' ');
   ListBox2.Items.Add('______________________________________________________________________');
   ListBox2.Items.Add(' ');
aus der Timer-Prozedur nimmst und nur einmal (etwa beim Programmstart) eintragen lässt.

Grund für das scheinbare Fehlverhalten ist, dass du ja mit obigem Code die Listbox bei jedem Timerdurchgang neu leerst (Items.Clear) und dann den Kopf neu einträgst, ... und dazu dann die jeweils aktuelle Zeit.

thorstenf01 6. Aug 2003 11:48

Re: Listboxwerte untereinander auslesen
 
Danke, es klappt jetzt

Luckie 6. Aug 2003 12:44

Re: Listboxwerte untereinander auslesen
 
Alternativ würde ich hier einen Listview vorschlagen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 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