Всем привет!
Написал тут скриптец, по работе припекло, т.к. я не программер вовсе, состряпал костыль, но вот ошибка выпадает.
Кратко: Заполняет некую табличку в некоей программе. Перед этим запрашивает у пользователя данные сколько групп заполнить, и по сколько цветов в каждой группе прописать.
В общем-то заполняет нормально, но после заполнения выдает ошибку и не дорабатывает до конца:
Как это можно победить подскажите плиз?
Написал тут скриптец, по работе припекло, т.к. я не программер вовсе, состряпал костыль, но вот ошибка выпадает.
Кратко: Заполняет некую табличку в некоей программе. Перед этим запрашивает у пользователя данные сколько групп заполнить, и по сколько цветов в каждой группе прописать.
AutoIt код:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <ComboConstants.au3>
#include <ButtonConstants.au3>
#include <Array.au3>
Global $aColor[25]
Global $text
Global $i
Global $ch1
$aColor[1] = "Красный"
$aColor[2] = "Голубой"
$aColor[3] = "Зеленый"
$aColor[4] = "Желтый"
$aColor[5] = "Фиолетовый"
$aColor[6] = "Белый"
$aColor[7] = "Оранжевый"
$aColor[8] = "Серый"
$aColor[9] = "Коричневый"
$aColor[10] = "Св.Зеленый"
$aColor[11] = "Бирюзовый"
$aColor[12] = "Розовый"
$aColor[13] = "Красный \"
$aColor[14] = "Голубой \"
$aColor[15] = "Зеленый \"
$aColor[16] = "Желтый \"
$aColor[17] = "Фиолетовый \"
$aColor[18] = "Белый \"
$aColor[19] = "Оранжевый \"
$aColor[20] = "Серый \"
$aColor[21] = "Коричневый \"
$aColor[22] = "Св.Зеленый \"
$aColor[23] = "Бирюзовый \"
$aColor[24] = "Розовый \"
$hGUI = GUICreate("Расцветка ОВ", 300, 200)
GUICtrlCreateLabel("Сколько делать:", 10, 23)
$iCount = GUICtrlCreateInput("", 130, 20, 160, 20)
GUICtrlCreateLabel("В каждом по порядку:", 10, 53)
$iCount1 = GUICtrlCreateInput("", 130, 50, 160, 20)
$nCh1 = GUICtrlCreateCheckbox("Сохранить после выполнения?", 10, 83, 190, 80)
$iOK_Button = GUICtrlCreateButton("OK", 20, 170, 80, 20)
GUISetState(@SW_SHOW, $hGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $iOK_Button
$count = GUICtrlRead($iCount)
$count1 = GUICtrlRead($iCount1)
$ch1 = GUICtrlRead($nCh1)
ExitLoop
EndSwitch
WEnd
$aCount = StringSplit($count1, ".")
;_ArrayDisplay($aCount, 'x')
$hWnd = WinGetHandle("[CLASS:TOpticalConnectorLoadListView]")
If Not $hWnd Then
MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
Exit
EndIf
WinActivate($hWnd)
For $p=1 to $count
For $r = 1 To Ubound($aCount)
For $i=1 to $aCount[$r]
$text=$aColor[$i]
ControlFocus($hWnd, "", "[ACTVE]")
ControlClick($hWnd,'','[CLASS:TdxInplaceTreeListMaskEdit; INSTANCE:1]', "right", 1)
Ex1()
Next
Next
Next
If $ch1 = 1 Then
Send("^s")
MsgBox('','','Complite SAVE!!!')
Exit
Else
MsgBox('','','Complite \n NOT SAVE!!!')
Exit
EndIf
Func Ex1()
Sleep(500)
Send('{RIGHT}')
Sleep(500)
Send('{DOWN 6}')
Sleep(500)
Send('{ENTER}')
Sleep(1000)
$hWnd1 = WinGetHandle("[CLASS:TAInputQueryForm]")
ControlClick($hWnd1,'', '[CLASS:TADBEdit; INSTANCE:1]', "main", 1)
ControlSend($hWnd1, "", "[CLASS:TADBEdit; INSTANCE:1]", $text)
ControlClick($hWnd1,'', '[CLASS:TAButton; INSTANCE:2]', "main", 1)
Sleep(500)
Send('{DOWN}')
Sleep(1000)
EndFunc
Как это можно победить подскажите плиз?