Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Newbie - Zeitgleiche Ablauf von Programmcode (https://www.delphipraxis.net/11068-newbie-zeitgleiche-ablauf-von-programmcode.html)

-mfg- 30. Okt 2003 15:23


Newbie - Zeitgleiche Ablauf von Programmcode
 
Hallo,

ich möchte, das in meinem Program etwas im Hintergrund alle 5 sekunden passiert. Also mal ein Anschauliches Beispiel:

Ich möchte die Zeit zählen, wie lange das Programm läuft bis einer stop sagt:

Delphi-Quellcode:
while stop <> 1 do begin
    sec := sec +1 ;
    sleep(1000);
    ausgabe.Caption := sec+' Sekunden':
    end;
So etwas in der Art möchte ich machen, wenn ich so etwas über onCreate in einer prcedure mache, startet das program zwar, aber wird nicht angezeigt und er wiederholt trotzdem alles was darin steht.

Ich wäre froh wenn mir jemand helfen könnte, aber bitte auf Deutsch ;) ... habe Delphi seit gestern abend!

Niels 30. Okt 2003 15:27

Re: Newbie - Zeitgleiche Ablauf von Programmcode
 
Wilkommen erstmal!

Du willst also alle 5sec eine Aktion auslösen?
Das machste am Besten mit einem Timer. Einfach Interval auf 5000 stellen und bei OnTimer dann ausgabe.Caption := sec+' Sekunden'; reinschreiben

Um dann "stop" zu sagen musste einfach Timer.Enabled auf false stellen

Niels

Daniel B 30. Okt 2003 15:28

Re: Newbie - Zeitgleiche Ablauf von Programmcode
 
Hallo und herzlich Willkommen in der DP!

Schau mal in der Library nach der Delay Funktion von Luckie.
Oder bastel Dir gleich selbst was zusammen mit GetTickCount. Dann brauchst Du nur noch einen Button und wenn jemand da drauf klickt, dann misst Du den Unterschied zwischen dem GetTickCount und dem aktuellen Wert und schon hast Du es.

mfg 30. Okt 2003 15:32

Re: Newbie - Zeitgleiche Ablauf von Programmcode
 
ah danke für die schnellen antowrten,

wie genau funktioniert das mit dem timer ... ihr müsst wissen, ich bin da total auf euch angewiesen, weil ich noch nicht wirklich nen plan von delphi hab ... danke.

Daniel B 30. Okt 2003 15:37

Re: Newbie - Zeitgleiche Ablauf von Programmcode
 
Hi,

warum hast Du nicht getan was ich gesagt habe? *setzen, 6* :tongue:
Schau Dir folgenden Beitrag an, man kommt bei solchen Sachen auch wunderbar ohne Timer aus. Da die Systemzeit ja eh schon da ist, wozu also noch selbst einen eigenen Timer benutzen.
http://www.delphipraxis.net/internal...ighlight=delay

mfg 30. Okt 2003 15:42

Re: Newbie - Zeitgleiche Ablauf von Programmcode
 
habs schon gefunden gehabt, blos konnte es nicht so wirklich einordnen, wo ich das nun reinschreiben muss und wie ich es verwende... kannst du mir da vieleicht ein Beispiel mit Bezug auf meines im ersten Post geben. Danke

himitsu 30. Okt 2003 15:43

Re: Newbie - Zeitgleiche Ablauf von Programmcode
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bei den "System"-Komponenten ist der Timer.

Den ziehst du dir auf dein Formular.
Im Objektinspektor kannst du ein Interval in Milisekunden (1/1000-tel Sekunden) einstellen.
(5000 = 5 Sekunden)
Und wenn du jetzt noch doppelt auf den Timer (die Uhr im Formular) klickst, kommst du in die Prozedur, die dann alle "5 Sekunden" ausgeführt wird.

Delphi-Quellcode:
Var Sec: Integer;

Procedure TForm1.Timer1Timer(Sender: TObject);
  Begin
    Inc(Sec); {entspricht: Sec := Sec + 1;}
    Ausgabe.Caption := IntToStr(Sec) + ' Sekunden';
  End;

Treffnix 30. Okt 2003 15:45

Re: Newbie - Zeitgleiche Ablauf von Programmcode
 
mfg, welche Version willste denn jetzt benutzen? Timer oder Tick?


Zitat:

Da die Systemzeit ja eh schon da ist, wozu also noch selbst einen eigenen Timer benutzen.
Und wenn jetzt einer die Systemzeit umstellt, während das Programm läuft? :roteyes:

*edit*
Mannomann, sitzt ihr den ganzen Tag auf der Portalseite und drückt F5? :zwinker:

Daniel B 30. Okt 2003 15:49

Re: Newbie - Zeitgleiche Ablauf von Programmcode
 
Zitat:

Zitat von Treffnix
Zitat:

Da die Systemzeit ja eh schon da ist, wozu also noch selbst einen eigenen Timer benutzen.
Und wenn jetzt einer die Systemzeit umstellt, während das Programm läuft? :roteyes:

Ich meinte natürlich den SystemTakt. Das wäre der GetTickCount, NICHT die Uhrzeit. ;) Und das ist halt auch "nur" ein Timer und sonst nichts, man muss beim Button klick dessen Wert mit dem welchen man beim Programmstart sich gemerkt hat vergleichen und schon weiss man wie lange das Programm läuft, ohne so ein blöden "Standard"-Timer benutzen zu müssen. ;-)

mfg 30. Okt 2003 15:53

Re: Newbie - Zeitgleiche Ablauf von Programmcode
 
oh ich danke ecuh, es hat wunderbar funktioniert, danke für die Anleitung,himitsu!


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