Program welches die Zeit von eimem Zeitserver holt!
Vieleich kann das ja einer brauchen ?
P.S. Debug ein
Hier also mein Einstieg!
Code: Alles auswählen
Procedure INetEin() ; Stellt Internetverbindung für OpenNetworkConnection her !
If InitNetwork() = 0
MessageRequester("Fehler", "Internetverbindung fehlgeschlagen !!!")
End
EndIf
EndProcedure
Procedure.d AtomFaktor() ; Holt die vergangenen Sekunden seit 1.1.1900 von eimen Zeitserver
Buffer1 = AllocateMemory(1)
Buffer2 = AllocateMemory(1) ; Reserviert 4 x 1 Byte zum empfangen der Daten!
Buffer3 = AllocateMemory(1)
Buffer4 = AllocateMemory(1)
ConnectionID = OpenNetworkConnection("131.188.34.45", 37,#PB_Network_TCP) ; öffnet Verbindung zum Zeit-Server
If ConnectionID
ReceiveNetworkData(ConnectionID, Buffer1, 1) ; Schreibt 1. empfangenes Byte in Buffer1
Byte1.q=PeekB(Buffer1)& $FF ; Schreibt Inhalt von Buffer1 in (quad)Variabel Byte1
Byte1=Byte1<<24 ; Multipliziert Byte1 mit 255*255*255
ReceiveNetworkData(ConnectionID, Buffer2, 1) ; Schreibt 2. empfangenes Byte in Buffer2
Byte2.q=PeekB(Buffer2)& $FF ; Schreibt Inhalt von Buffer2 in (quad)Variabel Byte2
Byte2=Byte2<<16 ; Multipliziert Byte2 mit 255*255
ReceiveNetworkData(ConnectionID, Buffer3, 1) ; Schreibt 3. empfangenes Byte in Buffer3
Byte3.q=PeekB(Buffer3)& $FF ; Schreibt Inhalt von Buffer3 in (quad)Variabel Byte3
Byte3=Byte3<<8 ; Multipliziert Byte2 mit 255
ReceiveNetworkData(ConnectionID, Buffer4, 1) ; Schreibt 4. empfangenes Byte in Buffer4
Byte4.q=PeekB(Buffer4)& $FF ; Schreibt Inhalt von Buffer4 in (quad)Variabel Byte4
sek.q=(Byte4+(Byte3)+(Byte2)+(Byte1)) +7200 ; Ergibt die vergangen Sekunden seit 1. Jan 1900
Else
MessageRequester("Fehler", "Zeit-Server nicht erreichbar !!")
End
EndIf
CloseNetworkConnection(ConnectionID)
ProcedureReturn sek ;gibt die Sek. zurück an Hauptprogram
EndProcedure
INetEin()
VergangendeSek.q = AtomFaktor()
VergangendeTage.q = VergangendeSek/86400
SekundenAktTag.q=VergangendeSek-VergangendeTage*86400
stunde.f = SekundenAktTag/3600
minute.f = (stunde-Round(stunde,0))*60
sekunde.f = (minute-Round(minute,0))*60
Debug "UHRZEIT = "+Str(Round(stunde,0))+":"+Str(Round(minute,0))+":"+Str(Round(sekunde,0))