Seite 1 von 2

Problem mit der Zeit

Verfasst: 11.04.2008 15:55
von Kawentsmann
Hallo an alle,

ich verwende die Version 3.3 von PureBasic und hab ein Problem mit der Zeitmessung. Folgendes Programm

Code: Alles auswählen

time.SYSTEMTIME
If OpenConsole()<>0
 Repeat
  GetLocalTime_(time)
  PrintN(Str(time\wHour)+":"+Str(time\wMinute)+":"+Str(time\wSecond))
  Delay(1000)
 Until Inkey()<>""
 CloseConsole()
EndIf
gibt leider nicht immer die Zeit aus, sondern legt manchmal minutenlange Pausen ein. Es kommt dann eine Ausgabe wie z.B.:
15:30:30
15:30:31
15:30:57
15:30:58

Auch die Ausgabe in ein gadget in einem normalen Windows-Window klappt nur mit besagten Pausen.

Was ist da los?

Danke schonmal im Vorraus

Verfasst: 11.04.2008 16:04
von STARGÅTE
und eine zeit ausgeben zu lasse nutze lieber diese Procedure hier:

Code: Alles auswählen

Procedure.s Time(String$) 
 time$=Space(1000)
 GetTimeFormat_(#LOCALE_USER_DEFAULT,0,0,String$,@time$,1000) 
 ProcedureReturn Trim(time$)
EndProcedure 
Wenn du dann Eine Zeit ausgeben möchtest Rufst du:

Code: Alles auswählen

Time("HH':'mm':'ss")
auf und erhälst
16:03:45
Bei dir also:

Code: Alles auswählen

If OpenConsole()<>0 
 Repeat 
  PrintN(Time("HH':'mm':'ss")) 
  Delay(1000) 
 Until Inkey()<>"" 
 CloseConsole() 
EndIf 

Gut gemeint, aber

Verfasst: 11.04.2008 16:06
von Kawentsmann
die Funktion macht den selben Mist :(

Verfasst: 11.04.2008 16:08
von bobobo
unter XP sp2 nicht nachvollziehbaren Mist allerdings .. Läuft rund hier.

Verfasst: 11.04.2008 16:12
von STARGÅTE
habe eben auch noch mal getestet, 10mal gehts geht und dann kommt n kleine pause.

Vllt weil es zu häufig abgefragt wird.

Du solltest es vllt nur ein mal abfragen und dann selber addieren je Sekunde

Verfasst: 11.04.2008 16:15
von ts-soft
Mit delay wird das sowieso nichts, hab ich schon immer gesagt :mrgreen:
http://purebasic.fr/german/viewtopic.ph ... 805#110805

Re: Gut gemeint, aber

Verfasst: 11.04.2008 16:17
von Kiffi
Kawentsmann hat geschrieben:die Funktion macht den selben Mist :(
dann hast Du im Hintergrund was laufen, das Deinen Rechner nachhaltig
ausbremst. Anders ist das nicht zu erklären. Check mal, was da so alles
werkelt.

Grüße ... Kiffi

Verfasst: 11.04.2008 16:26
von AND51
Wieso verwendest du für das Datum/die Zeit nicht einfach Date() und FormatDate()?

Verfasst: 11.04.2008 16:35
von ts-soft
AND51 hat geschrieben:Wieso verwendest du für das Datum/die Zeit nicht einfach Date() und FormatDate()?
Weil Du nicht aufmerksam liest :mrgreen:
PureBasic 3.3

Verfasst: 11.04.2008 16:38
von Kawentsmann
@AND51: die Funktionen gibts nicht in der Version 3.3

@Kiffi: das war auch mein erster Gendanke, aber da läuft sonst nix

@ts-soft: das mit dem Delay() hab ich auch nur zu Testzwecken eingesetzt

@STARGATE: so werd ichs mal versuchen

@bobobo: es liegt also am OS... ich hab nix anderes erwartet xD

Vielen Dank für die Antworten