Autor Beitrag
tortom1000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175

Win XP, Win Server 2003 - 2012, Win 7
Delphi 7
BeitragVerfasst: Mo 05.01.09 22:56 
Hallo,
ich bräuchte mal eure Hilfe:

Ich möchte gerne, wenn die aktuelle Uhrzeit innerhalb bspw. 10:00 - 23:59 Uhr
liegt, eine Prozedur oder ein showmessage ausführen, jedoch habe ich keinen
Schimmer, wie ich das anstellen kann.

Ich habe auf der Form einen Timer gepackt, innerhalb des Timer frage ich dann die
akuelle Uhrzeit ab via "now". Wie kann ich jetzt jedoch feststellen, ob "now" innerhalb
10:00 und 23:59 Uhr liegt?

Für Hilfe stets dankbar.
Tortom
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 05.01.09 23:10 
Die manuelle Methode (ungetestet):
ausblenden Delphi-Quelltext
1:
if (now >= Trunc(now) + 10/24and (now < Trunc(now + 1)) then					
Das basiert darauf, dass bei den Zeitwerten ein Tag 1 entspricht. 10 Uhr ist also die aktuelle Zeit ohne die Nachkommastellen (00:00 Uhr) plus 10/24, also 10 von 24 Stunden, des Tages dazu.
lincore
Hält's aus hier
Beiträge: 15

Kubuntu 8.04, Debian lenny, Windows XP, Windows Vista
Delphi 2009, C++, Python, Lua
BeitragVerfasst: Di 06.01.09 00:03 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Die manuelle Methode (ungetestet):
ausblenden Delphi-Quelltext
1:
if (now >= Trunc(now) + 10/24and (now < Trunc(now + 1)) then					
Das basiert darauf, dass bei den Zeitwerten ein Tag 1 entspricht. 10 Uhr ist also die aktuelle Zeit ohne die Nachkommastellen (00:00 Uhr) plus 10/24, also 10 von 24 Stunden, des Tages dazu.


Bitte korrigiere mich wenn ich falsch liege, aber ich glaube Du hast Dich bei einer Klammer vertan:
ausblenden Delphi-Quelltext
1:
if (now >= Trunc(now + 10/24)) and (now < Trunc(now + 1)) then					
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 06.01.09 00:06 
Nein, das war schon richtig, denn so wie du es hast, würden 10 Stunden zur aktuellen Zeit addiert, und dann davon auf 00:00 Uhr zurückgerechnet praktisch. Also z.B. 23 Uhr heute + 10 Stunden = 9 Uhr morgen. Vergangene Teile des Tages abschneiden ergibt 00:00 Uhr morgen früh, also in einer Stunde, statt heute früh, also vor 23 Stunden. ;-)
lincore
Hält's aus hier
Beiträge: 15

Kubuntu 8.04, Debian lenny, Windows XP, Windows Vista
Delphi 2009, C++, Python, Lua
BeitragVerfasst: Di 06.01.09 00:19 
<ot>Irre!</ot>

Das sollte ich mir mal durch den Kopf gehen lassen.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Di 06.01.09 13:40 
Einfacher geht's mit Frac(Now):

ausblenden Delphi-Quelltext
1:
If (Frac(Now) > 10/24and (Frac(Now) < 1Then					

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Di 06.01.09 13:59 
Frac wird aber niemals 1, weshalb das reichen sollte:
ausblenden Delphi-Quelltext
1:
If Frac(Now) > 10/24 Then					

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
tortom1000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175

Win XP, Win Server 2003 - 2012, Win 7
Delphi 7
BeitragVerfasst: Mi 07.01.09 09:15 
Hallo,
vielen Dank für eure Hilfe. Ich werde heute
die vorgeschlagenen Lösungen austesten.
Nochmals Danke
Tortom
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 07.01.09 10:15 
Nur so ein kleiner Tipp am Rande:
Da es für mich so aussieht, als wärst du noch nicht so erfahren in Delphi, kannst du auch folgenden Aufruf machen:
ausblenden Delphi-Quelltext
1:
if HourOf(now) > 10 then					

Damit das funktioniert musst du allerdings DateUtils bei uses mit in die Liste schreiben.
Das ist vielleicht einfacher zu lesen und nachzuvollziehen. Funktioniert aber genau so wie die anderen Codes.

_________________
In the beginning was the word.
And the word was content-type: text/plain.
tortom1000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175

Win XP, Win Server 2003 - 2012, Win 7
Delphi 7
BeitragVerfasst: Do 15.01.09 09:55 
Hallo,
wollte mich noch mal kurz bei euch bedanken. Konnte dank eurer Tipps
mein "Problem" gut lösen.
Nochmals vielen Dank
Tortom