Eventstart zu bestimmter Uhrzeit

dapenk

Grünschnabel
Hallo zusammen!

ich habe ein kleines Programm in Visual Basic 6 geschrieben, welches beim PC Start automatisch geladen wird. Die Formen sind dabei auf Visible=FALSE per default.

Um Punkt 10 Uhr will ich ein Popup erzwingen, wozu ich in regelmäßigen Abständen die Systemzeit mit dem Wert "10:00:00" vergleiche - sofern das zutrifft schalte ich die Form auf Visible=TRUE.
vielleicht nicht der eleganteste Weg, aber funktioniert :)

Bisher hatte ich die Zeit verglichen und das "Popup" gestartet über folgenden Weg:
Code:
zeit1 = Now
zeit2 = Right(zeit1, 8)

Target = "10:00:00"
If zeit2 = Target Then

Form1.Visible = True
AlwaysOnTop Form1, True

Ich lasse mir als über "Now" das komplette Datum mit Zeit ausgeben und beschneide auf die letzten 8 Zeichen.

Mein Problem:
Je nach eingestellter Länderregion wird die Zeit anders angezeigt.

Englisch (US):
3/6/2008 4:55:11 PM

Englisch (UK):
06/03/2008 04:55:11

Deutsch:
06.03.2008 04:55:11

dadurch fange ich mir auf vielen Systemen RUNTIME Fehler ein, wenn das Format nicht stimmt.

Ich habe es dann mit "VBA.Time" und "Time" versucht statt now - aber auch hier ist es mal mit AM/PM, mal ohne, mal mit fühtender Null etc...

gibt es in VB eine Möglichkeit Länderunabhängig einen Zeitwert zu bekommen


Vielen Dank für Eure Antworten!!

Benny
 
Erstmal, bau deinen Vergleichscode doch in eine Prozedur in einem Modul (Sub Main()), die Form lädst du erst dann, wenn die Prüfung positiv ist.

Zur Prüfung, verwende einfach Format(), dein Code könnte so aussehen:
Visual Basic:
'Ein Modul
Sub Main()
 Target = "10:00:00"
 Do
  DoEvents
 Loop Until Format(Now, "hh:mm:ss") = Target
 Form1.Show
 AlwaysOnTop Form1, True
End Sub
Hoffe, das Grundlegende kommt klar rüber.


Der Doc!
 
danke, das hört sich gut an!

FORMAT kannte ich nicht, das ist genau was ich suche...
werd das nächste Woche gleich ausprobieren.

Merci!
 
Zurück