Post by nacken012 » 23 Feb 2019, 12:33
Vielen Dank, klappt leider nicht so wie ich dachte
Hier mal mein Script, wie bekomme ich es hin, das ich die Variable "OutputList" da sortieren kann ?
Code: Select all
#SingleInstance, Force
#NoEnv
SetBatchLines, -1
ListLines Off
Sleep, 100
#Include, D:\Tools\AutoHotkey 1.1\Gdip_All.ahk
#Include D:\Tools\AutoHotkey 1.1\Compiler\ToolTipOpt.ahk
#Include D:\Tools\AutoHotkey 1.1\Gdip_ImageSearch.ahk
ToolTipFont("s16", "arialbd")
WinActivate,ahk_exe chrome.exe
Sleep, 100
ToolTip, Wenn Du bereit bist dann drücke die linke "Strg" Taste, 95, 80, 3
KeyWait, LControl, D
ToolTip, , , , 3
pToken := Gdip_Startup()
winName := "ahk_exe chrome.exe"
clientW := 1920 ; set your client area width
clientH := 1080 ; set your client area height
WinGetPos, x, y, w, h, %winName%
winBorder := (w-clientW)/2
x := x+winBorder
y := y+(h-clientH-winBorder)
snap := Gdip_BitmapFromScreen(x "|" y "|" clientW "|" clientH)
Gdip_SaveBitmapToFile(snap, "Bilder/ScreenShot.bmp")
Sleep, 250
Gdip_DisposeImage(snap)
bmpHaystack := Gdip_CreateBitmapFromFile("Bilder/ScreenShot.bmp")
Sleep, 250
bmpNeedle := Gdip_CreateBitmapFromFile("Bilder/TannenBaum-gross.png")
Sleep, 50
bmpNeedle1 := Gdip_CreateBitmapFromFile("Bilder/TannenBaum-mittel.png")
Sleep, 50
bmpNeedle2 := Gdip_CreateBitmapFromFile("Bilder/TannenBaum-klein.png")
Sleep, 50
RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,OutputList,0,0,0,0,21,"",1,0)
Sleep, 100
RET1 := Gdip_ImageSearch(bmpHaystack,bmpNeedle1,OutputList1,0,0,0,0,12,"",1,0)
Sleep, 100
RET2 := Gdip_ImageSearch(bmpHaystack,bmpNeedle2,OutputList2,0,0,0,0,12,"",1,0)
Sleep, 100
Gdip_DisposeImage(bmpHaystack)
Gdip_DisposeImage(bmpNeedle)
Gdip_Shutdown(gdipToken)
gross := 0
mittel := 0
klein := 0
;---------------OutputList-----------
alt = %OutputList% ;Das klappt leider nicht
vor1 =
vor2 =
loop, parse, alt, `n
{
stringsplit, lfd, a_loopfield, `,
if (lfd1 <> vor1) or (lfd2 <> vor2 + 1)
neu .= a_loopfield "`n"
vor1 := lfd1
vor2 := lfd2
}
FileDelete, neu.txt
Sort, neu, U P
Sleep, 100
FileAppend,%neu%, OutputList.txt
;msgbox, % neu
;-------------OutputList ende----------------
;FileDelete, OutputList.txt
;Sort, OutputList, U P
;Sleep, 100
;FileAppend,%OutputList%, OutputList.txt
;FileAppend,%OutputList1%, OutputList1.txt
;FileAppend,%OutputList2%, OutputList2.txt
;---------Großer Tannenbaum-------------
ToolTip, %ret% große Tannenbäume gefunden, 100, 900, 12
ToolTip, %ret1% mittlere Tannenbäume gefunden, 100, 930, 13
ToolTip, %ret2% kleine Tannenbäume gefunden, 100, 960, 14
ZeilenArray := StrSplit(neu, "`n", "`r")
;ZeilenArray := StrSplit(OutputList, "`n", "`r")
For ZeilenNummer, ZeilenInhalt In ZeilenArray {
xy:= StrSplit(ZeilenInhalt, ",")
SeitenAngabeX := xy[1]
SeitenAngabeY := xy[2]
MouseMove, %SeitenAngabeX%, %SeitenAngabeY%, 0
Sleep, 100
SendEvent, {Click, Rel 5, 15, 0}
Click, Left, 1
Sleep, 1500
MouseMove, 800, 690, 0
Sleep, 100
Click, Left, 1
Sleep, 1000
MouseMove, 1266, 932, 0
Sleep, 100
Click, Left, 1
Sleep, 100
gross += 1
ToolTip, %gross%, 460, 900, 15
}
;---------Großer Tannenbaum ende-------------
;---------Mittlerer Tannenbaum-------------
ZeilenArray := StrSplit(OutputList1, "`n", "`r")
For ZeilenNummer, ZeilenInhalt In ZeilenArray {
xy:= StrSplit(ZeilenInhalt, ",")
SeitenAngabeX := xy[1]
SeitenAngabeY := xy[2]
MouseMove, %SeitenAngabeX%, %SeitenAngabeY%, 0
Sleep, 100
Click, Left, 1
Sleep, 1500
MouseMove, 800, 690, 0
Sleep, 100
Click, Left, 1
Sleep, 1000
MouseMove, 1266, 932, 0
Sleep, 100
Click, Left, 1
Sleep, 100
mittel += 1
ToolTip, %mittel%, 460, 930, 16
}
;---------Mittlerer Tannenbaum Ende-------------
;---------Kleiner Tannenbaum-------------
ZeilenArray := StrSplit(OutputList2, "`n", "`r")
For ZeilenNummer, ZeilenInhalt In ZeilenArray {
xy:= StrSplit(ZeilenInhalt, ",")
SeitenAngabeX := xy[1]
SeitenAngabeY := xy[2]
MouseMove, %SeitenAngabeX%, %SeitenAngabeY%, 0
Sleep, 100
Click, Left, 1
Sleep, 1500
MouseMove, 800, 690, 0
Sleep, 100
Click, Left, 1
Sleep, 1000
MouseMove, 1266, 932, 0
Sleep, 100
Click, Left, 1
Sleep, 100
klein += 1
ToolTip, %klein%, 460, 960, 17
}
;---------Kleiner Tannenbaum Ende-------------
EXIT_LABEL4: ; be really sure the script will shutdown GDIP
Gdip_Shutdown(gdipToken)
ToolTip, Keine Weihnachtsbäume mehr vorhanden, 750, 520, 6
Sleep, 1000
ToolTip,,,,6
ToolTip,,,,12
ToolTip,,,,13
ToolTip,,,,14
ToolTip,,,,15
ToolTip,,,,16
ToolTip,,,,17
Gdip_ShutDown(pToken)
Sleep, 100
ExitApp
return
F8::
ExitApp
return
Vielen Dank, klappt leider nicht so wie ich dachte
Hier mal mein Script, wie bekomme ich es hin, das ich die Variable "OutputList" da sortieren kann ?
[code]
#SingleInstance, Force
#NoEnv
SetBatchLines, -1
ListLines Off
Sleep, 100
#Include, D:\Tools\AutoHotkey 1.1\Gdip_All.ahk
#Include D:\Tools\AutoHotkey 1.1\Compiler\ToolTipOpt.ahk
#Include D:\Tools\AutoHotkey 1.1\Gdip_ImageSearch.ahk
ToolTipFont("s16", "arialbd")
WinActivate,ahk_exe chrome.exe
Sleep, 100
ToolTip, Wenn Du bereit bist dann drücke die linke "Strg" Taste, 95, 80, 3
KeyWait, LControl, D
ToolTip, , , , 3
pToken := Gdip_Startup()
winName := "ahk_exe chrome.exe"
clientW := 1920 ; set your client area width
clientH := 1080 ; set your client area height
WinGetPos, x, y, w, h, %winName%
winBorder := (w-clientW)/2
x := x+winBorder
y := y+(h-clientH-winBorder)
snap := Gdip_BitmapFromScreen(x "|" y "|" clientW "|" clientH)
Gdip_SaveBitmapToFile(snap, "Bilder/ScreenShot.bmp")
Sleep, 250
Gdip_DisposeImage(snap)
bmpHaystack := Gdip_CreateBitmapFromFile("Bilder/ScreenShot.bmp")
Sleep, 250
bmpNeedle := Gdip_CreateBitmapFromFile("Bilder/TannenBaum-gross.png")
Sleep, 50
bmpNeedle1 := Gdip_CreateBitmapFromFile("Bilder/TannenBaum-mittel.png")
Sleep, 50
bmpNeedle2 := Gdip_CreateBitmapFromFile("Bilder/TannenBaum-klein.png")
Sleep, 50
RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,OutputList,0,0,0,0,21,"",1,0)
Sleep, 100
RET1 := Gdip_ImageSearch(bmpHaystack,bmpNeedle1,OutputList1,0,0,0,0,12,"",1,0)
Sleep, 100
RET2 := Gdip_ImageSearch(bmpHaystack,bmpNeedle2,OutputList2,0,0,0,0,12,"",1,0)
Sleep, 100
Gdip_DisposeImage(bmpHaystack)
Gdip_DisposeImage(bmpNeedle)
Gdip_Shutdown(gdipToken)
gross := 0
mittel := 0
klein := 0
;---------------OutputList-----------
alt = %OutputList% ;Das klappt leider nicht
vor1 =
vor2 =
loop, parse, alt, `n
{
stringsplit, lfd, a_loopfield, `,
if (lfd1 <> vor1) or (lfd2 <> vor2 + 1)
neu .= a_loopfield "`n"
vor1 := lfd1
vor2 := lfd2
}
FileDelete, neu.txt
Sort, neu, U P
Sleep, 100
FileAppend,%neu%, OutputList.txt
;msgbox, % neu
;-------------OutputList ende----------------
;FileDelete, OutputList.txt
;Sort, OutputList, U P
;Sleep, 100
;FileAppend,%OutputList%, OutputList.txt
;FileAppend,%OutputList1%, OutputList1.txt
;FileAppend,%OutputList2%, OutputList2.txt
;---------Großer Tannenbaum-------------
ToolTip, %ret% große Tannenbäume gefunden, 100, 900, 12
ToolTip, %ret1% mittlere Tannenbäume gefunden, 100, 930, 13
ToolTip, %ret2% kleine Tannenbäume gefunden, 100, 960, 14
ZeilenArray := StrSplit(neu, "`n", "`r")
;ZeilenArray := StrSplit(OutputList, "`n", "`r")
For ZeilenNummer, ZeilenInhalt In ZeilenArray {
xy:= StrSplit(ZeilenInhalt, ",")
SeitenAngabeX := xy[1]
SeitenAngabeY := xy[2]
MouseMove, %SeitenAngabeX%, %SeitenAngabeY%, 0
Sleep, 100
SendEvent, {Click, Rel 5, 15, 0}
Click, Left, 1
Sleep, 1500
MouseMove, 800, 690, 0
Sleep, 100
Click, Left, 1
Sleep, 1000
MouseMove, 1266, 932, 0
Sleep, 100
Click, Left, 1
Sleep, 100
gross += 1
ToolTip, %gross%, 460, 900, 15
}
;---------Großer Tannenbaum ende-------------
;---------Mittlerer Tannenbaum-------------
ZeilenArray := StrSplit(OutputList1, "`n", "`r")
For ZeilenNummer, ZeilenInhalt In ZeilenArray {
xy:= StrSplit(ZeilenInhalt, ",")
SeitenAngabeX := xy[1]
SeitenAngabeY := xy[2]
MouseMove, %SeitenAngabeX%, %SeitenAngabeY%, 0
Sleep, 100
Click, Left, 1
Sleep, 1500
MouseMove, 800, 690, 0
Sleep, 100
Click, Left, 1
Sleep, 1000
MouseMove, 1266, 932, 0
Sleep, 100
Click, Left, 1
Sleep, 100
mittel += 1
ToolTip, %mittel%, 460, 930, 16
}
;---------Mittlerer Tannenbaum Ende-------------
;---------Kleiner Tannenbaum-------------
ZeilenArray := StrSplit(OutputList2, "`n", "`r")
For ZeilenNummer, ZeilenInhalt In ZeilenArray {
xy:= StrSplit(ZeilenInhalt, ",")
SeitenAngabeX := xy[1]
SeitenAngabeY := xy[2]
MouseMove, %SeitenAngabeX%, %SeitenAngabeY%, 0
Sleep, 100
Click, Left, 1
Sleep, 1500
MouseMove, 800, 690, 0
Sleep, 100
Click, Left, 1
Sleep, 1000
MouseMove, 1266, 932, 0
Sleep, 100
Click, Left, 1
Sleep, 100
klein += 1
ToolTip, %klein%, 460, 960, 17
}
;---------Kleiner Tannenbaum Ende-------------
EXIT_LABEL4: ; be really sure the script will shutdown GDIP
Gdip_Shutdown(gdipToken)
ToolTip, Keine Weihnachtsbäume mehr vorhanden, 750, 520, 6
Sleep, 1000
ToolTip,,,,6
ToolTip,,,,12
ToolTip,,,,13
ToolTip,,,,14
ToolTip,,,,15
ToolTip,,,,16
ToolTip,,,,17
Gdip_ShutDown(pToken)
Sleep, 100
ExitApp
return
F8::
ExitApp
return
[/code]