Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi delay problem! (https://www.delphipraxis.net/3517-delay-problem.html)

toms 16. Mär 2003 20:53

Zitat:

Normalerweise sollte er nämlich jetzt bis 0 runterählen!
Du musst noch ein Application.ProcessMessages;*in die Schleife einbauen, damit der Text im Label aktualisiert wird.

smax 17. Mär 2003 05:40

Wo muss ich das Application.ProcessMessages; einbauen?

janjan 17. Mär 2003 07:22

Und das i:=i+1 mußt du auch weglassen...

smax 17. Mär 2003 14:23

Zitat:

Zitat von janjan
Und das i:=i+1 mußt du auch weglassen...

Achso erhöht Delphi die i automatisch?

Wo soll ich nun Application.ProcessMessages; einbauen?

Luckie 17. Mär 2003 14:33

Sicher, ist ja eine for-Schleife. Mach dich mal über die Grundlagen schlau: www.delphi-source.de und www.delphi-treff.de

smax 17. Mär 2003 14:45

Hmm wusste ich nicht, da ich seit kanpp 3 Jahren PHP programmiere und es da so ist, dass ich es immer erhöhern muss! In Turbo Pascal auch, aber Delphi ist ja schon etwas intelligenter :D

Wo muss ich nun Application.ProcessMessages; einfügen?

janjan 17. Mär 2003 14:47

In Turbo Pascal musstest du NIE in einer For-Schleife die Zählervariable erhöhen! Dafür sind die Dinger doch schließlich da 8)

smax 17. Mär 2003 14:51

??? also ich hab TP selber nur im Informatik und beschäftige mich zuhause damit net weiter aber mein Informatik-Lehrer sagt immer das man das machen soll!

Wo soll ich nun Application.ProcessMessages; einbauen? hab schon fast alle Varianten probiert die auch nur gehen :(

Luckie 17. Mär 2003 14:55

Na innerhalb der for-Schleife.

Und das was du da über for-Schleifen und TP erzählst kann ich nicht glauben. Verwechselst du das jetzt mit einer while-Schleife?

smax 17. Mär 2003 15:04

Ja gut es geht aber immernoch net:

Delphi-Quellcode:
 if Edit1.Text < '1' then Application.MessageBox('Sie müssen eine Zahl eingeben die größer als 0 ist!','Fehler',16);
 ending:=StrToInt(Edit1.Text)*60;
 calc:=ending;
 for i:=0 to ending do;
 begin
  Application.ProcessMessages;
  calc:=calc-1;
  panel1.caption:='Noch ' + IntToStr(calc) + ' Sekunden';
  delay(1000);
 end;
Eigentlich sollte er nun die Sekunden runterzählen und anzeigen aber es steht nur:

Noch 59 Sekunden


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.
Seite 2 von 3     12 3      

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