Abgelaufene Zeit überwachen

Anfängerfragen zum Programmieren mit PureBasic.
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Abgelaufene Zeit überwachen

Beitrag von Martin66119 »

Hallo an alle Spezialisten!

In einem Programm möchte ich in Intervallen von 15 Sekunden eine bestimmte Funktion genau einmal ausführen.

Global Beginn.l
Global Pruefe_Intervall.l

Procedure Intervall()
MessageRequester("Intervall", Stru(Pruefe_Intervall,#long),0)
EndProcedure

Beginn = Date()
Repeat
Pruefe_Intervall = Date()
If Pruefe_Intervall - Beginn >15
Intervall()
Beginn= Date()
Endif
Forever

Wenn jetz aber wegen einer bestimmten Funktion im Hauptprogramm das Programm stoppt (z.B. Bedienereingabe) funktioniert das mit der Differenzbildung und der Prüfung gegen > 15 Sekunden nicht so gut.

Gibt es auch eine Möglichkeit, dass ein weiteres parallellaufendes Programm den Ablauf bestimmter Zeiten überwacht und dann per Interrupt die gewünschte Funktion startet.

Danke für die Hilfe
Martin
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Lad dir von http://pbosl.purearea.net die PBOSL runter und benutz die Timer-Lib. Die ist wunderbar dafür geeignet.

Die Handhabung ist denkbar einfach:

Code: Alles auswählen

StartTimer(#Timer, 15000 , @Intervall())
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Timer

Beitrag von Martin66119 »

Das mit dem Timer geht ganz gut. Da gibt es nur einProblem!

Da ich bei bestimmte Daten alle x Sekunden oder auch x Minuten erfassen möchte ist das ganze mit dem "StartTimer" sehr gut. Aber wenn ich dann z.B. einmal pro Monat diese Daten auf die speichern will, weiß ich nicht ob das mit dem Timer auch noch geht! Weiß jemand ob das dann noch geht?

Martin
Benutzeravatar
Sylvia
verheiratet<br>1. PureGolf-Gewinner
Beiträge: 487
Registriert: 29.08.2004 09:42
Wohnort: Old Europe

Beitrag von Sylvia »

Bei einem ca. monatlichen Ereignis - ob es da noch eine Rolle spielt, eine
Ungenauigkeit von einem evtl. Viertel-Stündchen zu haben ?

Hast du dich schon mal für "Threads" interessiert ?
Basic Pur = PureBasic
Antworten