- Offizieller Beitrag
Hi!
Argh, ich muss mich entschuldigen, die Funktion ist in der File.au3...
Die noch includen, dann sollte es gehen.
Sorry,
peethebee
Hi!
Argh, ich muss mich entschuldigen, die Funktion ist in der File.au3...
Die noch includen, dann sollte es gehen.
Sorry,
peethebee
hi
ja bis jetzt funzt wieder alles. aber mal wieder ne frage wie löscht man doppelte einträge aus nem array, gibts dafür ne extra funktion?
mfg bjoerni
hi
ich hab mein script weiter geschrieben und es kommt ein fehler mit dem ich nichts anfangen kann in der zeile 129
$conid[$i] = GUICtrlCreateListViewItem($eintrag, $planibearbeitlistview)
in einer for next schleife. hab das komplette script mit zusatzdateien die man braucht mal angeängt.
mfg bjoerni
hallo bjoerni,
es ist sehr ungeschickt array nur mit einem feld zu erzeugen naja egalo....ersetz zeile 117 einfach mal mit "Dim $conid[100]" dann geht es....das array was du dann anlegst ist zwar für deine jetzigen testzwecke viel zu groß aber es passt soweit
mir fällt grad nichts besseres ein...zuviel kopfschmerzen mal schaun morgen der snoozer
hi
habs noch mal überarbeitet, und da kommt jetzt zwar kein fehler. aber es funzt nict so wie ich will. und ich habe keine ahnung woran es liegen könnte. ihr vieleicht?
$conidselect=GUICtrlRead($planibearbeitlistview)
$ende = UBound($id) - 1
For $i = 1 to $ende Step 1
If $conidselect = $conid[$i] Then $arraynummer = $i And $i = $ende
Next
$planiidjetzt = $id[$arraynummer]
[/autoit] [autoit][/autoit] [autoit]$eintrag = $planiidjetzt & '|' & $plani[$arraynummer] & '|' & (GUICtrlRead($combo))
GUICtrlSetData($conidselect, $eintrag)
::::also hier macht er alles so weit
$fileeintrag1 = "javascript:document.pl.p2.value='"
$fileeintrag2 = $planiidjetzt & "'"
$fileeintrag3 = ";PLSelectGlobal('construction.php')"
$fileeintrag = $fileeintrag1 & $fileeintrag2 & $fileeintrag3
;~ FileWriteLine("schleife.txt", )
MsgBox(0,"eintragen", $fileeintrag) ::::::: aber hier mit der gleichen var gibt er die id nicht aus
kompletter code:
#include <GUIConstants.au3>
#include <array.au3>
#include <file.au3>
#include <_ArraySortDblDel.au3>
Opt("GUIEventOptions", 1)
Global $mainwindow, $eingeben, $anzeigen, $bearbeiten, $starten, $planieingebwindow, $quelltext, $ok, $queltexttext, $msg, $arOut, $planianzeigwindow, $planianzeiglistview
Global $planibearbeitwindow, $planibearbeitlistview, $combo, $uebernehmen, $id, $conid, $plani, $arraynummer, $planiidjetzt
$mainwindow = GUICreate("Bauen in EC",300,300)
$eingeben=GUICtrlCreateButton("Planeten eingeben",9,10,115,29,-1,-1)
$anzeigen=GUICtrlCreateButton("Planeten anzeigen",9,40,115,29,-1,-1)
$schleifeneu = GUICtrlCreateButton("Neue Schleife",9,70,115,29,-1,-1)
$schleifespeichern = GUICtrlCreateButton("Schleife speichern",9,100,115,29,-1,-1)
$schleifeladen = GUICtrlCreateButton("Schleife laden",9,130,115,29,-1,-1)
$bearbeiten=GUICtrlCreateButton("Schleife bearbeiten",9,160,115,29,-1,-1)
$starten=GUICtrlCreateButton("Schleife starten",9,190,115,29,-1,-1)
GUISetState(@sw_show)
$planieingebwindow = GUICreate("Planeten eingeben",300,200)
GUICtrlCreateLabel("Kopieren sie den html Quelltext von der EC Konstruktionsseite in das Feld.",20,10,174,44,-1,-1)
$quelltext=GUICtrlCreateEdit("hier hinein",25,71,110,50,-1,-1)
$ok=GUICtrlCreateButton("Wenn fertig hier draufdrücken",42,129,162,31,-1,-1)
GUISetState(@SW_hide, $planieingebwindow)
$planianzeigwindow = GUICreate("Planeten anzeigen",300,400)
GUICtrlCreateLabel("Hier werden ihre Planis mit ID´s angezeigt",5,5)
$planianzeiglistview = GUICtrlCreateListView ("Plani ID|Plani Kord´s",10,20,200,350);,$LVS_SORTDESCENDING)
GUISetState(@SW_hide, $planianzeigwindow)
$planibearbeitwindow = GUICreate("Plani Schleife bearbeiten", 300,500)
GUICtrlCreateLabel("Hier können sie ihre Schleife erstellen",5,5)
$planibearbeitlistview = GUICtrlCreateListView ("Plani ID|Plani Kord´s|Aufgabe",10,20,250,350);,$LVS_SORTDESCENDING)
$combo = GUICtrlCreateCombo("Aufgabe auswählen", 5,390,200,20)
GUICtrlSetData(-1,"Kommandozentrale|Forschungszentrum|Eisenmine|Lutinummine|Bohrturm|Chemiefabrik|Erweiterte Chemie|Eisenspeicher|Lutinumspeicher|Wasserspeicher|Wasserstoffspeicher|Schiffsfabrik|Verteidigungsstation","item3")
$uebernehmen = GUICtrlCreateButton( "Übernehmen", 5,415)
GUISetState(@SW_hide, $planibearbeitwindow)
While 1
$msg = GUIGetMsg(1)
If $msg[0] = $eingeben AND $msg[1] = $mainwindow Then GUISetState(@SW_SHOW, $planieingebwindow) ;zeigt das Fenter an
If $msg[0] = $GUI_EVENT_CLOSE AND $msg[1] = $mainwindow Then Exitloop ;schließt alles
If $msg[0] = $anzeigen AND $msg[1] = $mainwindow Then Planianzeigen ()
If $msg[0] = $bearbeiten AND $msg[1] = $mainwindow Then Schleifebearbeiten()
If $msg[0] = $starten AND $msg[1] = $mainwindow Then starten()
If $msg[0] = $ok AND $msg[1] = $planieingebwindow Then quelbearbeit()
If $msg[0] = $GUI_EVENT_CLOSE AND $msg[1] = $planieingebwindow Then GUISetState(@SW_HIDE, $planieingebwindow)
If $msg[0] = $GUI_EVENT_CLOSE AND $msg[1] = $planianzeigwindow Then GUISetState(@SW_HIDE, $planianzeigwindow)
If $msg[0] = $GUI_EVENT_CLOSE AND $msg[1] = $planibearbeitwindow Then GUISetState(@SW_HIDE, $planibearbeitwindow)
If $msg[0] = $uebernehmen AND $msg[1] = $planibearbeitwindow Then uebernehmen()
WEnd
Func quelbearbeit()
$queltexttext = GUICtrlRead ( $quelltext )
$pattern = '((\d{6,7}">\d{1,2}\:\d{3}\:\d{1,2})|(\d{6,7}"\sselected="selected"\s>\d{1,2}\:\d{3}\:\d{1,2}))'
$str = $queltexttext
$arSelect = StringRegExp($str, $pattern, 3)
Dim $arOut[1]
ReDim $arOut[UBound($arSelect)]
For $i = 0 To UBound($arSelect)-1
If StringInStr($arSelect[$i], '" selected="selected" >') Then
$arOut[$i] = StringReplace($arSelect[$i], '" selected="selected" >', "|")
Else
$arOut[$i] = StringReplace($arSelect[$i], '">', "|")
EndIf
Next
_ArraySortDblDel($arOut)
Dim $id[1]
Dim $plani[1]
Dim $bearbeitet[1]
$ende = UBound($arOut) - 1
For $i = 1 to $ende Step 1
$bearbeiten = $arOut[$i]
$bearbeitet = StringSplit($arOut[$i], "|")
_ArrayAdd( $id,"" & $bearbeitet[1])
_ArrayAdd( $plani,"" & $bearbeitet[2])
Next
_FileWriteFromArray( 'planiid.txt', $id)
_FileWriteFromArray( 'planikord.txt', $plani)
GUISetState(@SW_HIDE, $planieingebwindow)
[/autoit] [autoit][/autoit] [autoit]EndFunc
Func Planianzeigen()
Dim $id[1]
Dim $plani[1]
GUISetState(@SW_SHOW, $planianzeigwindow)
_FileReadToArray( 'planiid.txt', $id)
_FileReadToArray( 'planikord.txt', $plani)
_ArrayDelete( $id,0)
_ArrayDelete( $plani,0)
$ende = UBound($id) - 1
For $i = 1 to $ende Step 1
$eintrag = $id[$i] & '|' & $plani[$i]
GUICtrlCreateListViewItem($eintrag, $planianzeiglistview)
Next
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndFunc
Func Schleifebearbeiten()
GUISetState(@SW_SHOW, $planibearbeitwindow)
Dim $conid[10000]
Dim $id[1]
Dim $plani[1]
Dim $abarbeiten[1]
_FileReadToArray( 'planiid.txt', $id)
_FileReadToArray( 'planikord.txt', $plani)
_ArrayDelete( $id,0)
_ArrayDelete( $plani,0)
$ende = UBound($id) - 1
For $i = 1 to $ende Step 1
$eintrag = $id[$i] & '|' & $plani[$i]
$conid[$i] = GUICtrlCreateListViewItem($eintrag, $planibearbeitlistview)
Next
_ArrayDelete( $conid,0)
EndFunc
Func starten()
if WinExists("Eternal") Then
$ende = _FileCountLines("schleife.txt")
WinActivate("Eternal Chronicles - Chapter", "")
Sleep(2000)
For $i = 1 To $ende Step 1
$machen = FileReadLine("schleife.txt", $i)
Send("{F6}")
Sleep(500)
Send($machen)
Send("{enter}")
Sleep(2000)
Next
Else
MsgBox(0,"Fehler", "Der Browser mit Eternal Chronicles ist nicht geöffnet")
EndIf
EndFunc
Func Beenden()
Exit
EndFunc
Func uebernehmen()
Dim $id[1]
Dim $plani[1]
Dim $abarbeiten[1]
_FileReadToArray( 'planiid.txt', $id)
_FileReadToArray( 'planikord.txt', $plani)
_ArrayDelete( $id,0)
_ArrayDelete( $plani,0)
_ArrayDelete( $id,0)
_ArrayDelete( $plani,0)
_ArrayDisplay($id)
_ArrayDisplay($plani)
$conidselect=GUICtrlRead($planibearbeitlistview)
$ende = UBound($id) - 1
For $i = 1 to $ende Step 1
If $conidselect = $conid[$i] Then $arraynummer = $i And $i = $ende
Next
$eintrag = $id[$arraynummer] & '|' & $plani[$arraynummer] & '|' & (GUICtrlRead($combo))
GUICtrlSetData($conidselect, $eintrag)
$fileeintrag1 = "javascript:document.pl.p2.value='"
$fileeintrag2 = $planiidjetzt & "'"
$fileeintrag3 = ";PLSelectGlobal('construction.php')"
$fileeintrag = $fileeintrag1 & $fileeintrag2 & $fileeintrag3
FileWriteLine("schleife.txt", $fileeintrag)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$zubauen = GUICtrlRead($combo)
[/autoit] [autoit][/autoit] [autoit]Select
Case $zubauen = "Kommandozentrale"
$bauen = 1
Case $zubauen = "Forschungszentrum"
$bauen = 2
Case $zubauen = "Eisenmine"
$bauen = 5
Case $zubauen = "Lutinummine"
$bauen = 6
Case $zubauen = "Bohrturm"
$bauen = 7
Case $zubauen = "Chemiefabrik"
$bauen = 8
Case $zubauen = "Erweiterte Chemie"
$bauen = 9
Case $zubauen = "Eisenspeicher"
$bauen = 10
Case $zubauen = "Lutinumspeicher"
$bauen = 11
Case $zubauen = "Wasserspeicher"
$bauen = 1
Case $zubauen = "Wasserstoffspeicher"
$bauen = 1
Case $zubauen = "Schiffsfabrik"
$bauen = 17
Case $zubauen = "Verteidigungsstation"
$bauen = 22
EndSelect
FileWriteLine("schleife.txt", "javascript:SetBB(" & $bauen & ");Build()")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit]mfg bjoerni
shit, falsch geantwortet
habs hingekriegt:
#include <GUIConstants.au3>
#include <array.au3>
#include <file.au3>
#include <_ArraySortDblDel.au3>
Opt("GUIEventOptions", 1)
Global $mainwindow, $eingeben, $anzeigen, $bearbeiten, $starten, $planieingebwindow, $quelltext, $ok, $queltexttext, $msg, $arOut, $planianzeigwindow, $planianzeiglistview
Global $planibearbeitwindow, $planibearbeitlistview, $combo, $uebernehmen, $id, $conid, $plani, $arraynummer, $planiidjetzt
$mainwindow = GUICreate("Bauen in EC",300,300)
$eingeben=GUICtrlCreateButton("Planeten eingeben",9,10,115,29,-1,-1)
$anzeigen=GUICtrlCreateButton("Planeten anzeigen",9,40,115,29,-1,-1)
$schleifeneu = GUICtrlCreateButton("Neue Schleife",9,70,115,29,-1,-1)
$schleifespeichern = GUICtrlCreateButton("Schleife speichern",9,100,115,29,-1,-1)
$schleifeladen = GUICtrlCreateButton("Schleife laden",9,130,115,29,-1,-1)
$bearbeiten=GUICtrlCreateButton("Schleife bearbeiten",9,160,115,29,-1,-1)
$starten=GUICtrlCreateButton("Schleife starten",9,190,115,29,-1,-1)
GUISetState(@sw_show)
$planieingebwindow = GUICreate("Planeten eingeben",300,200)
GUICtrlCreateLabel("Kopieren sie den html Quelltext von der EC Konstruktionsseite in das Feld.",20,10,174,44,-1,-1)
$quelltext=GUICtrlCreateEdit("hier hinein",25,71,110,50,-1,-1)
$ok=GUICtrlCreateButton("Wenn fertig hier draufdrücken",42,129,162,31,-1,-1)
GUISetState(@SW_hide, $planieingebwindow)
$planianzeigwindow = GUICreate("Planeten anzeigen",300,400)
GUICtrlCreateLabel("Hier werden ihre Planis mit ID´s angezeigt",5,5)
$planianzeiglistview = GUICtrlCreateListView ("Plani ID|Plani Kord´s",10,20,200,350);,$LVS_SORTDESCENDING)
GUISetState(@SW_hide, $planianzeigwindow)
$planibearbeitwindow = GUICreate("Plani Schleife bearbeiten", 300,500)
GUICtrlCreateLabel("Hier können sie ihre Schleife erstellen",5,5)
$planibearbeitlistview = GUICtrlCreateListView ("Plani ID|Plani Kord´s|Aufgabe",10,20,250,350);,$LVS_SORTDESCENDING)
$combo = GUICtrlCreateCombo("Aufgabe auswählen", 5,390,200,20)
GUICtrlSetData(-1,"Kommandozentrale|Forschungszentrum|Eisenmine|Lutinummine|Bohrturm|Chemiefabrik|Erweiterte Chemie|Eisenspeicher|Lutinumspeicher|Wasserspeicher|Wasserstoffspeicher|Schiffsfabrik|Verteidigungsstation","item3")
$uebernehmen = GUICtrlCreateButton( "Übernehmen", 5,415)
GUISetState(@SW_hide, $planibearbeitwindow)
While 1
$msg = GUIGetMsg(1)
If $msg[0] = $eingeben AND $msg[1] = $mainwindow Then GUISetState(@SW_SHOW, $planieingebwindow) ;zeigt das Fenter an
If $msg[0] = $GUI_EVENT_CLOSE AND $msg[1] = $mainwindow Then Exitloop ;schließt alles
If $msg[0] = $anzeigen AND $msg[1] = $mainwindow Then Planianzeigen ()
If $msg[0] = $bearbeiten AND $msg[1] = $mainwindow Then Schleifebearbeiten()
If $msg[0] = $starten AND $msg[1] = $mainwindow Then starten()
If $msg[0] = $ok AND $msg[1] = $planieingebwindow Then quelbearbeit()
If $msg[0] = $GUI_EVENT_CLOSE AND $msg[1] = $planieingebwindow Then GUISetState(@SW_HIDE, $planieingebwindow)
If $msg[0] = $GUI_EVENT_CLOSE AND $msg[1] = $planianzeigwindow Then GUISetState(@SW_HIDE, $planianzeigwindow)
If $msg[0] = $GUI_EVENT_CLOSE AND $msg[1] = $planibearbeitwindow Then GUISetState(@SW_HIDE, $planibearbeitwindow)
If $msg[0] = $uebernehmen AND $msg[1] = $planibearbeitwindow Then uebernehmen()
WEnd
Func quelbearbeit()
$queltexttext = GUICtrlRead ( $quelltext )
$pattern = '((\d{6,7}">\d{1,2}\:\d{3}\:\d{1,2})|(\d{6,7}"\sselected="selected"\s>\d{1,2}\:\d{3}\:\d{1,2}))'
$str = $queltexttext
$arSelect = StringRegExp($str, $pattern, 3)
Dim $arOut[1]
ReDim $arOut[UBound($arSelect)]
For $i = 0 To UBound($arSelect)-1
If StringInStr($arSelect[$i], '" selected="selected" >') Then
$arOut[$i] = StringReplace($arSelect[$i], '" selected="selected" >', "|")
Else
$arOut[$i] = StringReplace($arSelect[$i], '">', "|")
EndIf
Next
_ArraySortDblDel($arOut)
Dim $id[1]
Dim $plani[1]
Dim $bearbeitet[1]
$ende = UBound($arOut) - 1
For $i = 1 to $ende Step 1
$bearbeiten = $arOut[$i]
$bearbeitet = StringSplit($arOut[$i], "|")
_ArrayAdd( $id,"" & $bearbeitet[1])
_ArrayAdd( $plani,"" & $bearbeitet[2])
Next
_FileWriteFromArray( 'planiid.txt', $id)
_FileWriteFromArray( 'planikord.txt', $plani)
GUISetState(@SW_HIDE, $planieingebwindow)
[/autoit] [autoit][/autoit] [autoit]EndFunc
Func Planianzeigen()
Dim $id[1]
Dim $plani[1]
GUISetState(@SW_SHOW, $planianzeigwindow)
_FileReadToArray( 'planiid.txt', $id)
_FileReadToArray( 'planikord.txt', $plani)
_ArrayDelete( $id,0)
_ArrayDelete( $plani,0)
$ende = UBound($id) - 1
For $i = 1 to $ende Step 1
$eintrag = $id[$i] & '|' & $plani[$i]
GUICtrlCreateListViewItem($eintrag, $planianzeiglistview)
Next
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndFunc
Func Schleifebearbeiten()
GUISetState(@SW_SHOW, $planibearbeitwindow)
Dim $conid[10000]
Dim $id[1]
Dim $plani[1]
Dim $abarbeiten[1]
_FileReadToArray( 'planiid.txt', $id)
_FileReadToArray( 'planikord.txt', $plani)
_ArrayDelete( $id,0)
_ArrayDelete( $plani,0)
$ende = UBound($id) - 1
For $i = 1 to $ende Step 1
$eintrag = $id[$i] & '|' & $plani[$i]
$conid[$i] = GUICtrlCreateListViewItem($eintrag, $planibearbeitlistview)
Next
_ArrayDelete( $conid,0)
EndFunc
Func starten()
if WinExists("Eternal") Then
$ende = _FileCountLines("schleife.txt")
WinActivate("Eternal Chronicles - Chapter", "")
Sleep(2000)
For $i = 1 To $ende Step 1
$machen = FileReadLine("schleife.txt", $i)
Send("{F6}")
Sleep(500)
Send($machen)
Send("{enter}")
Sleep(2000)
Next
Else
MsgBox(0,"Fehler", "Der Browser mit Eternal Chronicles ist nicht geöffnet")
EndIf
EndFunc
Func Beenden()
Exit
EndFunc
Func uebernehmen()
Dim $id[1]
Dim $plani[1]
Dim $abarbeiten[1]
_FileReadToArray( 'planiid.txt', $id)
_FileReadToArray( 'planikord.txt', $plani)
_ArrayDelete( $id,0)
_ArrayDelete( $plani,0)
_ArrayDelete( $id,0)
_ArrayDelete( $plani,0)
$conidselect=GUICtrlRead($planibearbeitlistview)
$ende = UBound($id) - 1
For $i = 1 to $ende Step 1
If $conidselect = $conid[$i] Then
$arraynummer = $i
ExitLoop
EndIf
Next
$eintrag = $id[$arraynummer] & '|' & $plani[$arraynummer] & '|' & (GUICtrlRead($combo))
GUICtrlSetData($conidselect, $eintrag)
$planiidjetzt = $id[$arraynummer]
$fileeintrag1 = "javascript:document.pl.p2.value='"
$fileeintrag2 = $planiidjetzt & "'"
$fileeintrag3 = ";PLSelectGlobal('construction.php')"
$fileeintrag = $fileeintrag1 & $fileeintrag2 & $fileeintrag3
FileWriteLine("schleife.txt", $fileeintrag)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$zubauen = GUICtrlRead($combo)
[/autoit] [autoit][/autoit] [autoit]Select
Case $zubauen = "Kommandozentrale"
$bauen = 1
Case $zubauen = "Forschungszentrum"
$bauen = 2
Case $zubauen = "Eisenmine"
$bauen = 5
Case $zubauen = "Lutinummine"
$bauen = 6
Case $zubauen = "Bohrturm"
$bauen = 7
Case $zubauen = "Chemiefabrik"
$bauen = 8
Case $zubauen = "Erweiterte Chemie"
$bauen = 9
Case $zubauen = "Eisenspeicher"
$bauen = 10
Case $zubauen = "Lutinumspeicher"
$bauen = 11
Case $zubauen = "Wasserspeicher"
$bauen = 1
Case $zubauen = "Wasserstoffspeicher"
$bauen = 1
Case $zubauen = "Schiffsfabrik"
$bauen = 17
Case $zubauen = "Verteidigungsstation"
$bauen = 22
EndSelect
FileWriteLine("schleife.txt", "javascript:SetBB(" & $bauen & ");Build()")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit]war nur nen fehler in der schleife
mfg bjoerni