Версия AutoIt: 3.3.6
Описание: Всем доброе время суток. Столкнулся с проблемой. У меня есть функция авторизации, после своего выполнения функция сохраняет файлы. При запуске скрипта первая авторизация проходит удачно, доступ к файлам есть, никаких проблем. Но, при повторной авторизации в тот же запуск скрипта доступа к двум файлам уже нет. Это файл, создаваемые строкой
FileClose(@ScriptDir & "\users\" & $Login & "\temp\" & GUICtrlRead($hCombo) & "\" & GUICtrlRead($hCombo) & ".txt")
и файл ID.txt, создаваемый строкой
FileClose(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata & "\" & "ID.txt")
Приходится перезапускать скрипт. С чем это может быть связано?
Примечания: Заранее прошу прощения, если имеются ошибки при оформлении.
Описание: Всем доброе время суток. Столкнулся с проблемой. У меня есть функция авторизации, после своего выполнения функция сохраняет файлы. При запуске скрипта первая авторизация проходит удачно, доступ к файлам есть, никаких проблем. Но, при повторной авторизации в тот же запуск скрипта доступа к двум файлам уже нет. Это файл, создаваемые строкой
FileClose(@ScriptDir & "\users\" & $Login & "\temp\" & GUICtrlRead($hCombo) & "\" & GUICtrlRead($hCombo) & ".txt")
и файл ID.txt, создаваемый строкой
FileClose(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata & "\" & "ID.txt")
Приходится перезапускать скрипт. С чем это может быть связано?
Код:
func Login()
_IENavigate ($oIE,"http://www.voyna-plemyon.ru/game.php")
$oForm = _IEFormGetCollection($oIE, 0)
$oPassword = _IEFormElementGetObjByName($oForm,"password")
$oLogin = _IEFormElementGetObjByName($oForm,"user")
$oCheck = _IEGetObjById($oForm, "login_submit_button")
_IEFormElementSetValue($oLogin, $Login)
_IEFormElementSetValue($oPassword, $Password)
_IEAction($oCheck, 'click')
Sleep(250)
$oLink = _IELinkGetCollection($oIE, 68)
ConsoleWrite('Заходим в ' & _IEPropertyGet($oLink, 'innertext') & @LF)
GUICtrlSetData($status,"Заходим в игру.")
$oLink.fireEvent("onmousedown")
$oLink.fireEvent("onmouseup")
_IEAction($oLink,'click')
_IELoadWait($oIE)
$Captha_text = _IEBodyReadHTML($oIE)
If StringInStr($Captha_text,"bot_check_image") <> 0 Then
_SendMail($BlatArgs)
MsgBox(0,"Captha!","Капча, ахтунг")
EndIf
$oLink = _IEBodyReadHTML($oIE)
$Link_name = _IEBodyReadHTML($oIE)
FileDelete(@ScriptDir & "\users\" & $Login & "\temp" & "\villiages_id.txt")
FileDelete(@ScriptDir & "\users\" & $Login & "\temp" & "\villiages.txt")
FileDelete(@ScriptDir & "\users\" & $Login & "\temp" & "\villiages_names.txt")
DirCreate(@ScriptDir & "\users\" & $Login & "\temp\")
_FileCreate(@ScriptDir & "\users\" & $Login & "\temp" & "\villiages.txt")
FileWrite(@ScriptDir & "\users\" & $Login & "\temp" & "\villiages.txt",$oLink)
Do
$nam = StringInStr($Link_name,'<span id="label_text_')
;ConsoleWrite($nam & @LF)
$pos = StringInStr($oLink,"'edit_input_")
;ConsoleWrite($pos & @LF)
$Link_name = StringTrimLeft($Link_name,$nam+28)
;MsgBox(0,"title", $link_name)
$oLink = StringTrimLeft($oLink,$pos+11)
$Eject = StringLeft($oLink,5)
$Eject_name = StringLeft($Link_name,30)
;MsgBox(0,"title", $Eject_name)
;ConsoleWrite($Link_name & @lf)
$exp = StringRegExp($Eject_name,'\d\d\d\|\d\d\d',1)
$find = StringInStr($Eject_name,$exp[0])
$string_w = StringLeft($Eject_name,$find-2)
FileWriteLine(@ScriptDir & "\users\" & $Login & "\temp" & "\villiages_id.txt",$Eject & @CRLF)
FileWrite(@ScriptDir & "\users\" & $Login & "\temp" & "\villiages_names.txt",$string_w & " " & $exp[0] & @CRLF)
Until StringInStr($oLink,"'edit_input_") = 0
For $i = 1 to _FileCountLines(@ScriptDir & "\users\" & $Login & "\temp" & "\villiages_names.txt")
$Combo_setdata = FileReadLine(@ScriptDir & "\users\" & $Login & "\temp" & "\villiages_names.txt",$i)
$Exp_combo_setdata = StringRegExp($Combo_setdata,'\d\d\d\|\d\d\d',1)
$find_combo_setdata = StringInStr($Combo_setdata,$Exp_combo_setdata[0])
$string_combosetdata = StringLeft($Combo_setdata,$find_combo_setdata-3)
GUICtrlSetData($hCombo,$string_combosetdata)
GUICtrlSetData($Villiage_chooser,$string_combosetdata)
DirRemove(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata)
FileDelete(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata & "\" & $string_combosetdata & ".txt")
FileDelete(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata & "\" & "ID.txt")
DirCreate(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata)
FileOpen(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata & "\" & $string_combosetdata & ".txt",1)
FileWrite(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata & "\" & $string_combosetdata & ".txt",$Exp_combo_setdata[0])
FileOpen(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata & "\" & "ID.txt",1)
FileWrite(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata & "\" & "ID.txt",FileReadLine(@ScriptDir & "\users\" & $Login & "\temp\" & "villiages_id.txt",$i))
Next
FileClose(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata & "\" & $string_combosetdata & ".txt")
FileClose(@ScriptDir & "\users\" & $Login & "\temp\" & GUICtrlRead($hCombo) & "\" & GUICtrlRead($hCombo) & ".txt")
FileClose(@ScriptDir & "\users\" & $Login & "\temp\" & $string_combosetdata & "\" & "ID.txt")
EndFunc
Примечания: Заранее прошу прощения, если имеются ошибки при оформлении.