Что нового

[Ошибки] ошибка при невыполнении условия

andreitrane

Новичок
Сообщения
141
Репутация
3
делается 2 деления, первое деление на строки, а второе - деление получившейся строки на ":", значение второго деления затем используются
но бывает что в Edit записываются данные не так
Код:
97869876:8769876876987
7896876:987689768976
89768976:89076879897897
а так
Код:
97678689:9876876876876
8976897678967896789689767869
7868768:786897689767896987
то есть в некоторых строках нет ":"
из за этого вылезает ошибка, что нет $ID[2] или $ID[1]
как сделать чтобы ошибка не вылезала? вот так не получается..
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=d:\Рабочий стол\БОТ!!!\формы ботов\срочняки v1.kxf
$srform = GUICreate("Срочняки v1.2", 486, 358, 314, 224)
GUISetBkColor(0xFFFF00)
$startsrbtn = GUICtrlCreateButton("Выполнить", 336, 328, 105, 25)
$Group1 = GUICtrlCreateGroup("id:auth", 8, 0, 289, 321)
$fake_edit = GUICtrlCreateEdit("", 16, 16, 273, 297, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
GUICtrlCreateGroup("", -99, -99, 1, 1)
$srlogedit = GUICtrlCreateEdit("", 304, 8, 177, 313, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
$Label1 = GUICtrlCreateLabel("by andreitrane (maniakk)", 136, 328, 173, 26)
GUICtrlSetFont(-1, 12, 400, 0, "Matura MT Script Capitals")
GUICtrlSetColor(-1, 0x000000)
$newfakesbtn = GUICtrlCreateButton("Из файла", 16, 328, 97, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $newfakesbtn
			$text = FileOpenDialog("Указать файл", @WorkingDir & "", "Любой (*.txt)", 1 + 4 )
        $Read = FileRead($text)
        GUICtrlSetData($fake_edit,$Read)
		Case $startsrbtn
			_startsr()

	EndSwitch
WEnd

Func _startsr()
	$i = GUICtrlRead($fake_edit)
	$fake = StringSplit(StringStripCR($i), @LF)
	$ii = 1
	for $ii = 1 to $fake[0]
	if not $fake[$ii] Then
		else
	$ID = StringSplit($fake[$ii], ":")
	if Not $ID[1] and Not $ID[2] Then
		Else
	$URL = "http://109.234.155.198/prison/universal.php?sendPresent"
            $PostData = "present%5Fid=3&user="& $ID[1] &"&key="& $ID[2] &"&sig=18e31e27a618dd2b2a6bb85921b5541c&recipients=48667677%2C127964220%2C90860572%2C115123216%2C106965530%2C112837336%2C114205321&method=sendPresent"
            $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
            $oHTTP.Open("POST", $URL)
			$oHTTP.setTimeouts(5000, 5000, 10000, 10000, 50000, 50000, 100000, 100000)
            $oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
            Execute('$oHTTP.Send($PostData)')
            $oHTTP.WaitForResponse
            Execute('$Response = $oHTTP.ResponseText')
			Sleep(100)
EndIf
		endif
		Next
			EndFunc
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
Вот и проверяй есть ли в сроке двоеточие, и только если есть дели
Код:
If StringInStr($fake[$ii], ':') Then
	$ID = StringSplit($fake[$ii], ":")
	...
	...
	...
EndIf
 
Верх