Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Kann der PC net Zählen?? (https://www.delphipraxis.net/6107-kann-der-pc-net-zaehlen.html)

TheMiller 29. Jun 2003 21:14


Kann der PC net Zählen??
 
Hey Ho,

ich möchte gerne einen timer von 300 bis 0 runterzählen und die Zahlen zw. 300 und 0 in einem Label anzeigen. Das ganze habe ich mit der For-schleife probiert, aber nach 1 sek. steht gleich 0 da. Mein Code:

Delphi-Quellcode:
var i:Integer;
begin
for i:= 300 downto 0 do
Label3.Caption:='Hallo ' + Inttostr(i) +' Tschüss';
Was habe ich falsch gemacht?
Bitte hiermit um Hilfe ;-)

Chewie 29. Jun 2003 21:17

Der Text des Labels wird zwar verändert, aber die Veränderung nicht angezeigt. Probiers mal so:

Delphi-Quellcode:
var i:Integer;
begin
for i:= 300 downto 0 do
begin
  Label3.Caption:='Hallo ' + Inttostr(i) +' Tschüss';
  Label3.Refresh;
end;
Allerdings wirst du nicht mehr als ein kurzes Aufflackern sehen, denn von 300 bis 0 geht das in ein paar Milisekunden :wink:

Duffy 29. Jun 2003 21:18

Hallo DJ-SPM,
Du solltest besser einen Rechner mit einem 8080 Prozessor mit 4,77MHz nehmen, dann kannst Du das herunterzählen beobachten. Ich würde sagen Du hast alles richtig gemacht, aber dein Rechner ist zu schnell.
bye

Sanchez 29. Jun 2003 21:21

hallo erstmal,

Setz doch einfach nen Timer, Intervall 1000 oder so und in jedem Timerereignis verringerst du den Wert um 1. Dann siehst wenigstens etwas von der Zählerei.

mfg Daniel

Daniel B 29. Jun 2003 21:28

Hallo,

die Schelfie läuft einfach zu schnell durch, das kannst Du gar nciht wahrnehmen und somit siehst Du nur das Ende.
Mach nach der Zeile mit Labe.Caption ein Sleep(250); und setzen die zwei zeilen in ein begin und end;.

Grüsse, Daniel :hi:

@Claus auch 4,77MHz sind da noch zu schnell. ;)

TheMiller 29. Jun 2003 21:38

Danke für eure schnelle Antwort

@sanchez: Ging leider auch nicht so richtig...sry
@daniel: ??? Wie mache ich das, was meinst du? Könntest du einen Code Preis geben??

flomei 29. Jun 2003 21:44

Zitat:

Zitat von DJ-SPM
Wie mache ich das, was meinst du? Könntest du einen Code Preis geben??

Ich denke so:

Delphi-Quellcode:
begin
  Label3.Caption:='Hallo ' + Inttostr(i) +' Tschüss';
  Sleep(250);
  Label3.Refresh;
end;
Denk ich mir mal so :roll:

MfG Florian :hi:

Daniel B 29. Jun 2003 21:44

Hallo,

Delphi-Quellcode:
for i := 30 downto 0 do
begin
  Lab.Cap := IntToStr(i);
  Sleep(250);
  Application.Processmessages;
end;
Grüsse, Daniel :hi:

Daniel B 29. Jun 2003 23:09

Hallo,

kleinen Nachtrag noch.
Bitte wähle das nächste mal ein passenden Titel! Ausserdem verschiebe ich das nach Delphi-Language, das hat wirklich nichts mit Komponenten zutun!

Grüsse, Daniel :hi:

Christian Seehase 30. Jun 2003 00:33

Moin Zusammen,

vielleicht besser erst Application.ProcessMessages bzw. Refresh, und dann Sleep(250).
Dann wird auch der erste Wert für 250ms angezeigt


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 Uhr.
Seite 1 von 2  1 2      

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