Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zählschleife ??? (https://www.delphipraxis.net/4750-zaehlschleife.html)

Vader 10. Mai 2003 18:29


Zählschleife ???
 
wie kann ich das realisieren:
ich möchte das in einen label mit der zahl 0 beginnt und immer +1 dazu zählt und das man es im label sieht ( es darf nicht zu schnell zählen vielleicht mit einem timer ??? :?


mfg Vader

Daniel B 10. Mai 2003 18:56

Hallo,

ja, mit dem Timer kannst Du das machen.
Du kannst Dir eine Integervariable machen, die Du mit Inc(Var); immer hochzählst.
Dann brauchst Du nur noch die Variable im Label anzuzeigen.
Vorher musst Du sie aber nur noch mit IntToStr(Var); in einen String umwandeln und dann dem Label zuweisen.

Grüsse, Daniel :hi:

Vader 10. Mai 2003 19:51

hab was probiert:

Code:
var
  Count: Integer;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label1.Caption := IntToStr(Inc(Count));
end;
aber alles geht so schnell und läuft nicht unendlich.


mfg Vader

Daniel B 10. Mai 2003 19:59

Hallo,

hier mal ein Beispiel wie ich es mal mit nem Edit gemacht habe.
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
//Edit, Füllen
begin
  if not b then
  begin
    Edit1.Text := '0'; //Hier dann Label nehmen
    Timer1.Enabled := True;
    b := True;
    Button5.Caption := 'Stoppen';
  end
  else if b then
  begin
    Timer1.Enabled := False;
    b := False;
    Button5.Caption := 'Füllen';
  end;
end;
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
//im Edit die Zahl hochzählen
begin
  Edit1.Text := FloatToStr(StrToFloat(Edit1.Text) +1);
end;
HTH.

Grüsse, Daniel :hi:

Stanlay Hanks 10. Mai 2003 20:01

Hallo! Also ich hätte das spontan so gemacht:

Delphi-Quellcode:
var i : Int64 = 0;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := IntToStr(i+1);
i := i+1
end;

Man liest sich, Stanlay

nailor 10. Mai 2003 20:25

Zitat:

Zitat von Vader
hab was probiert:

Code:
var
  Count: Integer;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label1.Caption := IntToStr(Inc(Count));
end;
aber alles geht so schnell und läuft nicht unendlich.


mfg Vader

Schnelligkeit: Timer.Intervall hilft dir
Unendlich: was meinst du damit? Das läuft bis der Interger "voll" ist. Wenn das nicht reicht nimm cardinal/int64

Vader 10. Mai 2003 20:55

ihr seit super

danke für die vielen Vorschläge

mfg Vader :bouncing4:


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