Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Uhrzeit verarbeitung in Q-Basic

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Beatzler2



Anmeldungsdatum: 24.08.2009
Beiträge: 22

BeitragVerfasst am: 24.08.2009, 22:37    Titel: Uhrzeit verarbeitung in Q-Basic Antworten mit Zitat

Hallo,

ich bin schon verzweifelt auf der Suche nach einer Lösung mittels Q-Basic die aktuelle Systemzeit zu verarbeiten.

Das ganze wird benötigt um nur zu bestimmten Zeiten das eigentliche Programm auszuführen.

Vereinfacht dargestellt:
- Programm wird gestartet und fragt die aktuelle Uhrzeit ab
- Ist die aktuelle Zeit zwischen 09:00 Uhr und 22:00 Uhr gehe weiter zum Hauptprogramm
- Ist die Zeit ausserhalb des oben genannten Zeitraumes gehe zum Ende

Wie könnte ich dies realisieren ?

Vielen Dank für jeden Tipp !

MFg Beatzler
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 24.08.2009, 22:58    Titel: Antworten mit Zitat

Hallo!

Code:
von% = 0900
bis% = 2200
zeit% = Val(Left$(Time$,2)+Mid$(Time$,4,2))
If (zeit% >= von%) AND (zeit% <= %bis) Then
  Print "Hauptprogramm wird gestartet!"
  Shell "c:\windows\notepad.exe"
  Print "Fertig. Taste druecken zum Beenden."
  Sleep: End
Else
  Print "Falsche Zeit!"
  End
End If

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 24.08.2009, 23:24    Titel: Antworten mit Zitat

So ganz funktioniert dein Beispielprogramm aber nicht Zunge rausstrecken (Tipp: zeit% wird falsch berechnet).
EDIT: Wird doch richtig berechnet.happy
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beatzler2



Anmeldungsdatum: 24.08.2009
Beiträge: 22

BeitragVerfasst am: 25.08.2009, 09:44    Titel: Antworten mit Zitat

Hey,

super vielen Dank ! Werde ich heute Abend gleich mal testen ! happy

Habe ich das richtig verstanden das in der dritten Zeile die Zeit jetzt abgefragt und umgewandelt wird auf eine 4 stellige Zahl und diese danach nochmals mit unter / obergrenze abgefragt wird ob das Hauptprogramm starten soll ?

Danke nochmals !

Mfg Beatzler
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 25.08.2009, 11:11    Titel: Antworten mit Zitat

Beatzler2 hat Folgendes geschrieben:
der dritten Zeile die Zeit jetzt abgefragt

Ja, probier doch mal Folgendes aus:
Code:
PRINT TIME$
SLEEP

TIME$ gibt die aktuelle Zeit als Zeichenkette mit Doppelpunkt zwischen Stunden und Minuten sowie Minuten und Sekunden aus:
Code:
12:34:56

Zitat:
und umgewandelt wird auf eine 4 stellige Zahl

Genau. Die linken beiden Zahlen (hour) dieser Zeitangabe (Left$(..., 2)) und 2 Zeichen aus der Mitte (MID), beginnend mit Position 4 (min), werden zunächst aneinander gefügt.
Dies ergäbe bei der oben genannten Beispieluhrzeit "1234" oder bei einer Uhrzeit vor 10:00 Uhr z.B. "0630", also eine Angabe mit führender Null.
Dann wird diese Zeichenkette in eine Zahl, mit der man rechnen und Wertvergleiche anstellen kann (Suffix % für Integer), umgewandelt (VAL).
Zitat:
diese danach nochmals mit unter / obergrenze abgefragt wird ob das Hauptprogramm starten soll ?

Die Zahl, die aus der aktuellen Zeitangabe entstanden ist (zeit%), wird mit deinen im Vorhinein festgelegten Begrenzungen des Intervalls verglichen. Um 12:34 stünde in der Zeile "intern" sozusagen das hier:
Code:
IF (1234 >= 900) AND (1234 <= 2200) THEN

1234 wäre größer/gleich 900 und kleiner/gleich 2200 und liegt somit im angegebenen Intervall. Wenn dies so ist, wird das Programm (im Beispiel "notepad") gestartet.
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beatzler2



Anmeldungsdatum: 24.08.2009
Beiträge: 22

BeitragVerfasst am: 25.08.2009, 11:20    Titel: Antworten mit Zitat

Hey,


PERFEKT lächeln

Nun hab ich es verstanden !

Vielen Dank nochmals !

Mfg Beatzler
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz