Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
spreeg
Anmeldungsdatum: 12.01.2006 Beiträge: 4
|
Verfasst am: 14.01.2006, 13:58 Titel: Funktion jede Stunde ausführen...? |
|
|
Hi @ all
So, lezte Frage, bevor ich mit meinen Nooby-Fragen das ganze Forum voll spame
Diesmal geht es darum, dass ich eine Funktion geschrieben habe, die jede Stunde ausgeführt werden soll...
Danke nochmals |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 14.01.2006, 14:14 Titel: |
|
|
Kurz und knapp:
Code: | Declare Sub SleepAPI Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Integer)
do
DieFunktion
SleepAPI 3600000
loop
|
SleepAPI 1 = 1ms
1000 ms = 1s
60s = 1 min
60 min = 1h
1000 * 60 * 60 = 3 600 000ms
Man könnte eigentlich auch sleep verwenden, das wertet aber auch Tastendrücke aus (ein Tastendruck bricht Sleep ab), im Gegensatz zur API Variante.
Wobei dieses spezielle Verhalten von sleep auch praktisch sein kann:
Code: | do
DieFunktion
Sleep 3600000
if inkey$<>"" Then END
loop
|
Dieser Code lässt sich im Gegensatz zum anderen Kontrolliert beenden.
Warnung:
Die Genauigkeit lässt etwas zu Wünschen übrig.
(Am besten mal mit kurzere Zeit Austesten ob die Präzision reicht.) _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
spreeg
Anmeldungsdatum: 12.01.2006 Beiträge: 4
|
Verfasst am: 14.01.2006, 14:39 Titel: |
|
|
aso man macht das auch mit sleep^^
*wieder schlauer sein*
Vielen Dank |
|
Nach oben |
|
 |
Kai Bareis

Anmeldungsdatum: 10.09.2004 Beiträge: 545 Wohnort: Baden Würtemberg
|
Verfasst am: 14.01.2006, 15:20 Titel: |
|
|
Ich denke der Timer wäre eine bessere alternative
da man ihr auch unterbrechen kann mit einer kleinen Erweiterung.
Code: | Do
print "hallo"
timerstart = timer
while timer < timerstart + 1 'Hier Zeit in Sekunden einstellen
sleep 1 'Prozessor entlasten
wend
? timer - timerstart
Loop |
_________________ MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht! |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 14.01.2006, 22:50 Titel: |
|
|
Man kann auch das FB internet Sleep verwenden. Ab Version 0.15 gibts einen 2. Parameter.
Damit wird 10 sekunden gewartet, auch wenn man eine taste drückt.
Michael _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 15.01.2006, 00:03 Titel: |
|
|
internet sleep
Wie aber bereits gesagt is der interne sleep ungenau, timer ist besser. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 15.01.2006, 19:03 Titel: |
|
|
wieso sollte ich das meinen? _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
 |
max06

Anmeldungsdatum: 05.12.2004 Beiträge: 390 Wohnort: Augsburg
|
Verfasst am: 16.01.2006, 16:18 Titel: |
|
|
Wird das nun in der nächsten Version genauer sein? |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 16.01.2006, 18:09 Titel: |
|
|
das siehst du wenn die raus ist  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
OdinX

Anmeldungsdatum: 29.07.2005 Beiträge: 253 Wohnort: SG Schweiz
|
Verfasst am: 18.01.2006, 12:04 Titel: |
|
|
gibt es in fb "time$" nicht mehr? |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 18.01.2006, 12:19 Titel: |
|
|
doch, das ginge auch, is aber umständlicher. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 18.01.2006, 15:12 Titel: |
|
|
max61989 hat Folgendes geschrieben: | Wird das nun in der nächsten Version genauer sein? |
klares nein!
Die Sleep - Anweisung war nie als Präzisionszeit gedacht, war/wird immer je nach Platform (DOS, Windows, Linux) andere zusätzliche Aufgaben oder Zeitreferenzen haben.
Selbst in verschiedenen Windowsversionen sind die Abweichungen unterschiedlich. Ob man aber immer auf Hunderstelsekunde genau sein muß? _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
max06

Anmeldungsdatum: 05.12.2004 Beiträge: 390 Wohnort: Augsburg
|
Verfasst am: 21.01.2006, 01:03 Titel: Nicht so genau... |
|
|
Nun ja... wenn man aber z.B. ein Programm hat, das alle 24 Stunden was bestimmtes tun muss (und das genau alle 24 Stunden!) dann könnte
etwas ungenau werden...
Könnte mir mal jemand eine genaue, unabhängige Möglichkeit der Zeitmessung nennen?
Ich glaube, wir lassen das Thema jetzt... immer diese Haarspaltereien...
Greets
Florian[/code] |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 21.01.2006, 01:18 Titel: |
|
|
Zur Messung ist wohl TIMER das beste, da er relativ einfach zu handlen ist, und - je nach Prozessor - Auflösungen zw. 1/18sek und 1msek bietet (oder wars noch genauer...?)
Bei so großen Zeiten wie hier dürfte aber DATE und TIME besser geeignet sein; die Auflösung ist hier natürlich nur 1sek bzw. 1 Tag  _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
|