Hallo,
für meine Warenwirtschaft habe ich mir eine Automatisierung programmiert, um einen Zahlungsabruf von allein zu starten.
Manchmal bleibt der hängen, das liegt dann aber an der Warenwirtschaft.
Daher möchte ich die Automatisierung automatisch nach drei Minuten beenden.
Hier der Code der Automatisierung
Code
MsgBox (0,"Wartezeit","Schleife beginnt",2)
; Büro Fenster nach vorne holen
MsgBox (0,"Wartezeit","Büro Fenster nach vorne holen",2)
WinActivate ("frmBP","Schnellzugriffsleist")
WinWait("frmBP","Schnellzugriffsleist")
WinWaitActive("frmBP","Schnellzugriffsleist")
; Warten
Sleep(2000)
; Girokonto wird abgerufen
MouseClick("left",365,81,1)
Send("{ALTDOWN}q{ALTUP}")
Send("{ALTDOWN}q{ALTUP}")
WinWait("Import von Kontoauszügen","Zahlungsverkehrdaten")
WinWaitActive("Import von Kontoauszügen","Zahlungsverkehrdaten")
Sleep(2000)
MouseClick("left",425,293,1)
Send("{ALTDOWN}f{ALTUP}")
WinWait('Import von Kontoauszügen','Zu Ihrer Information')
WinWaitActive('Import von Kontoauszügen','Zu Ihrer Information')
Sleep(2000)
Send("{ALTDOWN}ß{ALTUP}")
; Paypal wird abgerufen
; Warten
Sleep(2000)
; Einige Tastendrücke senden
MouseClick("left",350,98,1)
Send("{ALTDOWN}w{ALTUP}")
WinWait("Import von Kontoauszügen","Zahlungsverkehrdaten")
WinWaitActive("Import von Kontoauszügen","Zahlungsverkehrdaten")
Sleep(2000)
MouseClick("left",507,261,1)
Send("{ALTDOWN}f{ALTUP}")
WinWait('Import von Kontoauszügen','Zu Ihrer Information')
WinWaitActive('Import von Kontoauszügen','Zu Ihrer Information')
Sleep(2000)
Send("{ALTDOWN}ß{ALTUP}")
; Offene Posten werden zugewiesen
; Warten
Sleep(2000)
Send("{ALTDOWN}e{ALTUP}")
MouseClick("left",543,79,1)
WinWait("Offene Posten den Kontobewegungen zuweisen","plClientSchemaAuswah")
WinWaitActive("Offene Posten den Kontobewegungen zuweisen","plClientSchemaAuswah")
Sleep(2000)
Send("{ALTDOWN}w{ALTUP}")
Sleep(500)
Send("{ALTDOWN}f{ALTUP}")
; Zahlungsverkehr wird gebucht
WinWait("Zuweisungen im Zahlungsverkehreingang buchen","plClientSchemaAuswah")
WinWaitActive("Zuweisungen im Zahlungsverkehreingang buchen","plClientSchemaAuswah")
Sleep(2000)
Send("{ALTDOWN}w{ALTUP}")
Sleep(500)
Send("{SPACE}")
Sleep(500)
Send("{ALTDOWN}w{ALTUP}")
Sleep(500)
Send("{ALTDOWN}f{ALTUP}")
WinWait("Zuweisungen im Zahlungsverkehreingang buchen","Zu Ihrer Information")
WinWaitActive("Zuweisungen im Zahlungsverkehreingang buchen","Zu Ihrer Information")
Sleep(1000)
Send("{ALTDOWN}ß{ALTUP}")
Alles anzeigen
Nun möchte ich, dass er nach drei Minuten auf jeden Fall aufhört.
Ich habe mich durch viele Forenbeiträge gearbeitet und folgende Lösungen ausprobiert.
Code
Local $Timer = TimerInit()
While 1
If TimerDiff($Timer) >= 180 * 1000 Then ExitLoop
;Code
WEnd
-----------------------------------
Global $Timer = TimerInit()
Do
;code
Until TimerDiff($Timer) >= 180 * 1000
-----------------------------------
Dim $minute = @min
While 1
if $minute == @min-3 then
Exit
Else
;code
Endif
WEnd
-----------------------------------
Local $hTimer = TimerInit()
Do
; ... Code
Until TimerDiff($hTimer) > 180000
-----------------------------------
Local $hTimer = TimerInit()
While TimerDiff($hTimer) < 180000
; ... Code
WEnd
-----------------------------------
Local $hTimer = TimerInit()
While True
; ... Code
If TimerDiff($hTimer) > 180000 Then ExitLoop
Sleep(100)
WEnd
Alles anzeigen
Aber mit keiner dieser Möglichkeiten hört er nach 3 Minuten auf.
Was mache ich falsch?
Danke vorab für die Hilfe.
Gruß Heiko