Ich habe einen fehler in einem Timer

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Ich habe einen fehler in einem Timer

Re: Ich habe einen fehler in einem Timer

by emubox2002 » 13 Jun 2020, 12:30

Es funktioniert, finde ich Toll.
Danke für die Hilfe, ich hätte es nicht umsetzten können.
Wie kann man so etwas lernen.
Ich habe aber noch ein Problem.
Ich will aus einer ini Datei eine 1 oder 0 auslesen.
Bei 1 soll die Zeit stoppen.
Bei 0 soll die Zeit wieder weiterlaufen.
Hier ist meine Idee, siehe script.

Code: Select all

#SingleInstance, Force
Progress, m0 b1 fs80 zh0 x550 y50 w450 cwred , % "00:00:00",

startover:
Dauer := SubStr(A_Now, 1, 8)
T := 0
Dauer += T, S
Settimer, Label, 1000

loop,
{
Iniread, P, D:\Downloads\Gerd\AHK\FB.ini, Pause, P
If P = 1	
Hier soll die Zeit angehalten werden
If P = 0
Hier soll die Zeit wieder weiterlaufen
sleep, 3000
}


Return
label:
Dauer += 1, S
FormatTime, Anzeige, %Dauer%, HH:mm:ss
Progress, , %Anzeige%

Return
p:: settimer,label,off
o:: settimer,label,on
b:: settimer,label,% (a:=!a) ? "off" : "on"
s:: goto startover
m:: msgbox, %Anzeige%
esc:: ExitApp

Re: Ich habe einen fehler in einem Timer

by just me » 13 Jun 2020, 04:56

Moin,

wenn eine maximale Laufzeit von 24 Stunden ausreicht.

Code: Select all

#SingleInstance, Force

Progress, m0 b1 fs80 zh0 x550 y50 w450 cwred , % "00:00:00",
; w .= x , y := SubStr("000" w, -3) ; <<<<< w und x gibt es nicht, y ist immer 0

startover:
Dauer := SubStr(A_Now, 1, 8)
; ---------------------------- <<<<< für den Test
T := 3595 
Dauer += T, S
; ---------------------------- <<<<< für den Test
; w := SubStr(y,1,2)*60*60 + SubStr(y,3,2)*60 + SubStr(y,3,2) ; <<<<< s.o.: y = 0 -> w = 0
Settimer, Label, 1000
Return

label:
; +++t ; <<<<< +++ ist interessant, funktioniert aber trotzdem
Dauer += 1, S
FormatTime, Anzeige, %Dauer%, HH:mm:ss
Progress, , %Anzeige%
Return

p:: settimer,label,% (a:=!a) ? "off" : "on"
s:: goto startover
esc:: ExitApp

Ich habe einen fehler in einem Timer

by emubox2002 » 13 Jun 2020, 03:24

Wenn ich den Timer starte, zählt er bei 60 Minuten weiter.
Wenn die 60 Minuten erreicht sind zählt er eine Stunde weiter ist ok.
Aber die Minuten werden bei 60 nicht null sondern er zählt weiter bis 100.
Was mache ich falsch.
Ich habe schon rumprobiert, aber bekomme es nicht hin.
Kann mir vielleicht jemand helfen.


Hier ist der script.

Code: Select all

#SingleInstance, Force

Progress, m0 b1 fs80 zh0 x550 y50 w450 cwred , % "00:00:00",
w .= x , y := SubStr("000" w, -3)
 

   
startover:
t := 3595, w := SubStr(y,1,2)*60*60 + SubStr(y,3,2)*60 + SubStr(y,3,2)
settimer,label,1000
return
label:
+++t
Progress,, % SubStr("00" floor((t-w)/60/60), -1) ":" SubStr("00" floor((t-w,60)/60), -1) ":" SubStr("00" mod(t-w,60), -1),

p:: settimer,label,% (a:=!a) ? "off" : "on"
s:: goto startover
esc:: ExitApp

Top