Ein paar Tage später, da ich viel zu arbeiten hatte, aber immerhin konnte ich mich nun mit dem Projekt weiter befassen....
Code: Select all
^9::
MeinSemikolon := chr(59)
MeinLineFeed := chr(13)
i := 0
Run, "C:\Program Files (x86)\XXXXX.exe", , ,PID ; starten XXXXX und PID merken
;MsgBox, %PID%
sleep, 30000
Loop, Read, c:\tmp\2017-11-15\2017-11-15.csv
{
i := i+1
If (40 = i) ; nach 50 datensätzen XXXX neustarten
{
;MsgBox, Dreidatenaeze
Process, Close, %PID%
sleep, 8000
Run, "C:\Program Files (x86)\XXXXX", , ,PID ;Programm starten und PID merken um zwischendurch neuzustarten
sleep, 30000
i := 0
}
Vorwahl := SubStr(A_LoopReadLine, 1, 3)
rufnr := SubStr(A_LoopReadLine, 4, 7)
;MsgBox, %Vorwahl%
;MsgBox, %rufnr%
WinActivate, ahk_class Mein Programm
;WinActivate, ahk_class Notepad
MouseClick, left, 43, 195 ;Suchanfrage auswählen
sleep, 500
MouseClick, left, 217, 93
sleep, 500
Send %A_Tab% ;Auf Rufnummer wechseln
sleep, 100
send %rufnr%
sleep, 100
send %A_Tab% ;Auf Kennwort wechseln
sleep, 100
send %kkw%
sleep, 100
send, {enter}
sleep, 20000
send, {Esc}
sleep, 1000
send, {Esc}
sleep, 1000
FileAppend, %A_LoopReadLine% %MeinSemikolon% %KName% %MeinSemikolon% %KTarif% %MeinLineFeed%, c:\tmp\2017-11-15\XXXXX.csv
}
else if pruefnr <> %rufnr% ; Kein Datensatz gefunden
{
FileAppend, %A_LoopReadLine% %MeinLineFeed%, c:\tmp\2017-11-15\XXXX-fehler.csv
sleep, 1000
}
}
Exit
return
So, das ist der etwas gekürzte Code...... Aber alles, was in der Mitte steht, ist hier eher irrelevant....
Meine Frage nun: Wenn Datensätze abgearbeitet wurden, müssten diese im Optimalfall aus der Startdatei verschwinden.... ich habe dazu aber noch nichts gefunden... Ich bin nun dazu übergegangen, nach Vorwahl und Rufnummer des Kunden zu suchen, da ich nicht weiß, wie ich sonst anders die einzelnen Felder als Variable auslesen kann... Gibt es einen Trick, wie ich definieren kann, dass das Semikolon die Datenfelder von einander trennt?
Wieder einmal: Vielen Dank im Voraus