AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Äh.. wie kann das sein (Zeitrechnung)

Äh.. wie kann das sein (Zeitrechnung)

Ein Thema von SearchBot · begonnen am 16. Sep 2004 · letzter Beitrag vom 16. Sep 2004
Antwort Antwort
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
236 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Äh.. wie kann das sein (Zeitrechnung)

  Alt 16. Sep 2004, 17:36
Also, ich möchte ca. 30sec. nach einem Start etwas ausführen.

Code:
 start:=now;
...
 if round((now-start)*10000) > 3 then
Witzigerweise stimmt gedanklich alles; wenn die Routine läuft, geht es nie, obwohl die Bedingungen true sind.


Zur Überlegung:
now:TDateTime // ist Double
1.0 = 1 Tag
1/86400 = 1 Sec. = 0.000011574
mal 30 (also 30sec.) = 0.000347222
mal 10000 (um es gut runden zu können) = 3.47222...
round(dasda) = 3 oder 4, also in jedem Fall und zeitlich später sowieso: >3

Aber es geht nicht!!!


Wieso?
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.536 Beiträge
 
#2

Re: Äh.. wie kann das sein (Zeitrechnung)

  Alt 16. Sep 2004, 17:45
Hi SearchBot,

warum verwendest du nicht einen Timer mit Interval=30000?

Du könntest aber auch die Startzeit speichern (start := now) und anschließend so überprüfen:

Delphi-Quellcode:
if now > start+EncodeTime(0,0,30,0) then
..
Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.394 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Äh.. wie kann das sein (Zeitrechnung)

  Alt 16. Sep 2004, 18:01
Warum verwendest Du nicht SecondsBetween?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#4

Re: Äh.. wie kann das sein (Zeitrechnung)

  Alt 16. Sep 2004, 18:26
Zitat von SearchBot:
Also, ich möchte ca. 30sec. nach einem Start etwas ausführen.
Delphi stellt haufenweise Datum & Zeit Funktionen zur Verfügung. Schau doch einfach in die Hilfedatei.
Da wirst du bestimmt das passende finden.
Delphi-Quellcode:
var
  Stop: TDateTime;
begin

  Stop := Now + EncodeTime(0, 0, 30, 0);

  while Stop > Now do
  begin
    Sleep(125);
    Application.ProcessMessages;
  end;

  ShowMessage('Fertig.');

end;
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
236 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Äh.. wie kann das sein (Zeitrechnung)

  Alt 16. Sep 2004, 23:59

Ich Depp!

Ich hab meinen Fehler gefunden.

HIER hab ichs richtig geschrieben
round((now-start)*10000) Und in meinem Quelltext
(round(now-start)*10000) Ihr seht den Unterschied?!


Ouh Mann, sowas hält nur auf; trotzdem Danke für Eure Beteiligung!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf