Hallo an alle, Ich habe mich nach sehr langer Zeit mal wieder an einem Script Probiert und hab da einige Probleme mit dem Aufbau.
Mein Ziel: ich möchte die Coodinaten für die Mauskicks aus einer .ini oder Textdatei lesen lassen.
Diese ist aktuell so aufgebaut:
920,530
bestsätigen
1089,510
Weiter
1089,510
Zur Eingabe
Deswegen möchte ich nur jede 2te Zeile gelesen haben(Also nur die mit den Coordinaten) und diese Variablen dann als diese angeben.
genau da liegt aber mein Problem ich bekomme diese Abfrage nicht hin.
Ich habe beabsichtigt auf Sachen wie Filegethandle und FF.au3 vesichtet.
Wie muss ich das besser oder schöner gestalten das mein Vorhaben gelingt?
Spoiler anzeigen
C
#include <DateTimeConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <FileConstants.au3>
#include <WinAPIFiles.au3>
#include <File.au3>
#include <ComboConstants.au3>
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
Const $style = BitOR($WS_OVERLAPPED, $WS_CAPTION, $WS_SYSMENU, $WS_VISIBLE, $WS_CLIPSIBLINGS, $WS_MINIMIZEBOX)
Global $hGUI = GUICreate("GC", 200, 200,-1, -1, $style, $WS_EX_ACCEPTFILES)
Global $Input_0 = GuiCtrlCreateInput("", 10, 35, 100, 20)
GUICtrlSetState($Input_0, $GUI_DROPACCEPTED)
Local $idButton_Close = GUICtrlCreateButton("Schließen", 10, 170, 85, 25)
Local $idDate = GUICtrlCreateDate("", 10, 10, 100, 20, $DTS_SHORTDATEFORMAT)
Local $idButton_Next = GUICtrlCreateButton("Weiter", 100, 170, 85, 25)
GuiSetState(@SW_SHOWNORMAL)
Do
Switch GuiGetMsg()
Case $idButton_Next
$file = FileOpen(@Scriptdir & "/Date.txt",10)
FileWrite($file, GUICtrlRead($idDate))
ExitLoop
Case $GUI_EVENT_CLOSE, $idButton_Close
ExitLoop
Case $GUI_EVENT_DROPPED
If @GUI_DropId = $Input_0 Then GUICtrlSetData($Input_0, @GUI_DragFile)
Case Else
;
EndSwitch
Until False
Local $zeile = FileReadLine($file)
GUIDelete($hGUI)
HotKeySet("{ESCAPE}", "esc")
$file = @ScriptDir&"\coord.ini" ;in dieser Datei sind die Coordinaten
FileOpen($file, 0)
Local $iCountLines = _FileCountLines(@ScriptDir&"\coord.ini")
$i=-1
For $i=-1 = 1 to _FileCountLines($file) ;fängt bei -1 an zu zählen
$line = FileReadLine($file, $i)
$i=$i+1
$line = FileReadLine($file, $i)
if $line = ("") then Exit ;sind keine Zeilen mehr da hört er auf
Global $aCoordinates1[2] = [$line]
msgbox(0,'ms1','the line ' & $i & ' is ' & $aCoordinates1[0],$aCoordinates1[1])
FileClose($file)
next
;hört aktuell hier auf weil ich nicht weiter komme
Sleep (2000)
ShellExecute("C:\Programme\Mozilla Firefox\firefox.exe")
Sleep (2000)
MouseClick($MOUSE_CLICK_LEFT,920,530);betsätigen
Sleep(1000)
MouseClick($MOUSE_CLICK_LEFT,1089,784);Weiter
Sleep(1000)
MouseWheel($MOUSE_WHEEL_DOWN, 100)
Sleep(1500)
MouseClick($MOUSE_CLICK_LEFT,1089,510);Zur Eingabe
Sleep(1000)
$date= FileReadLine(@Scriptdir & "/Date.txt", 1) ; Schreibt Datum aus Date.txt
Send ($date)
Send("{Enter}")
Sleep(1000)
MouseClick($MOUSE_CLICK_LEFT,1089,710);weitere mausclicks
$4=FileReadLine(@GUI_DragFile, 4)
If $4="W" then
MouseClick($MOUSE_CLICK_LEFT,350,287)
EndIf
If $4 = "M" then
MouseClick($MOUSE_CLICK_LEFT,350.330)
EndIf
Sleep(1000)
MouseClick($MOUSE_CLICK_LEFT,350,570)
;...
Example()
Func Example()
Local $sAnswer = InputBox("Code", "Hier den Code Eintragen", "", "", _
- 1, -1)
MouseClick($MOUSE_CLICK_LEFT,600,560) ;codefenster
Sleep(1000)
Send($sAnswer) ;Schreibt code
EndFunc
sleep(1000)
Send("{Enter}")
Sleep(1000)
MouseClick($MOUSE_CLICK_LEFT,600,590)
;...
Func esc()
Exit
EndFunc
Alles anzeigen