und wieder ein kleines Problem aus der Anfängerfraktion:
Ich bastele gerade an einem Programm für eine MySQL-Abfrage. Als kleines Bonus wollte ich einen Intervall einbauen, der alle 10 Sekunden überprüft, ob die Verbindung zur Datenbank noch besteht. Mein Ansatz für den Intervall habe ich wie folgt realisiert:
Code: Alles auswählen
If OpenWindow(0,0,0,170,120,"Zeitschleife", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ButtonGadget(2, 20, 20, 60, 20, "Ende")
StringGadget(3, 20, 60, 60, 20, Time$)
EndIf
Repeat
Time$ = FormatDate("%ss", Date())
SetGadgetText(3, Time$);Diese Zeile auskommentieren
If Time$ = "10"
MessageRequester("Durchlauf", "Mach jetzt was")
EndIf
If Time$ = "20"
MessageRequester("Durchlauf", "Mach jetzt was")
EndIf
If Time$ = "30"
MessageRequester("Durchlauf", "Mach jetzt was")
EndIf
If Time$ = "40"
MessageRequester("Durchlauf", "Mach jetzt was")
EndIf
If Time$ = "50"
MessageRequester("Durchlauf", "Mach jetzt was")
EndIf
If Time$ = "00"
MessageRequester("Durchlauf", "Mach jetzt was")
EndIf
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 2
Quit = 1
EndSelect
EndIf
Until Quit = 1
EndIf
Kommentiere ich Zeile 11 aus (;SetGadgetText), ist die Prozessorlast gering, die einzelnen If-Bedingungen werden aber nicht mehr regelmäßig ausgeführt. Anstatt des 10-Sekunden-Intervalls kommen undefinierbare Abstände (halt digital: geht / geht nicht

Fasziniert von diesem Dilemma stellen sich mir nun zwei Fragen:
1) Warum gibt es solch unterschiedliches Codeverhalten?
2) Gibt es in PB sinnvollere "Zeitaufträge"?
Gruß vom Netzer
Und immer wenn Du denkst, es geht nicht mehr, kommt von irgendwo ne Flanke her!