Ситуация в точности как в этой теме http://autoit-script.ru/index.php?topic=1978.0, только в ней все варианты решения указаны прямо на Case $INPUT1, у меня так же как у автора той темы много полей, можно ли как-то в цикле проверять все поля пустые они или нет? как-то по номеру полей для ввода? чтобы по нажатию кнопки "Сформировать" цикл проверял все Combo и INPUT пустые они или нет.
И еще подскажите, как в Combo сделать чтобы выпадающий список появлялся даже при щелчке в поле комбо, а не только по стрелочке выпадающего списка?
Код:
#include <MsgBoxConstants.au3>
#include <Word.au3>
#include <WordConstants.au3>
#include <GUIConstants.au3>
#include <Word.au3>
Global $error1=1,$error2=1,$error3=1
GUICreate("My GUI combo", 700, 500)
GUICtrlCreateLabel ("Выберите необходимые данные и нажмите ""Сформировать""", 10, 10)
$word = GUICtrlCreateButton ("Сформировать", 280, 40)
GUICtrlCreateLabel ("Статус вкладчика:", 10, 40)
GUICtrlCreateCombo ("", 60,40, 200)
GUICtrlSetData (-1, "Резидент|Не резидент")
;~ GUICtrlCreateLabel ("Фамилия", 10, 70)
;~ GUICtrlCreateCombo ("item2/1", 60,70, 200)
;~ GUICtrlSetData (-1, "item2/2")
GUICtrlCreateLabel ("ФИО вкладчика:", 10, 70)
GUICtrlCreateLabel ("Фамилия:", 10, 100)
GUICtrlCreateInput ("", 100,100,120,20)
GUICtrlCreateLabel ("Имя:", 10, 130)
GUICtrlCreateInput ("", 100,130,120,20)
GUICtrlCreateLabel ("Отчество:", 10, 160)
GUICtrlCreateInput ("", 100,160,120,20)
GUICtrlCreateLabel ("Паспорт вкладчика:", 10, 210)
$serialabel=GUICtrlCreateLabel ("Серия:", 10, 230)
$seria=GUICtrlCreateInput ("", 100,230,120,20)
$nomerlabel=GUICtrlCreateLabel ("Номер:", 10, 260)
$nomer=GUICtrlCreateInput ("", 100,260,120,20)
GUICtrlCreateLabel ("Кем выдан:", 10, 290)
GUICtrlCreateInput ("", 100,290,220,20)
GUICtrlCreateLabel ("Код подразделения:", 10, 320)
GUICtrlCreateInput ("", 140,320,120,20)
GUICtrlCreateLabel ("Дата выдачи", 10, 350)
GUICtrlCreateDate ("", 120,350,140,20)
GUICtrlCreateLabel ("Дата рождения", 350, 70)
GUICtrlCreateDate ("", 460,70,140,20)
GUICtrlCreateLabel ("Пол", 350, 100)
GUICtrlCreateCombo ("", 460,100, 200)
GUICtrlSetData (-1, "Мужской|Женский")
GUICtrlCreateLabel ("Вклад:", 350, 150)
GUICtrlCreateLabel ("Валюта", 350, 180)
GUICtrlCreateCombo ("", 460,180, 200)
GUICtrlSetData (-1, "Руб|USD|EUR")
GUICtrlCreateLabel ("Вклад", 350, 220)
$vklad=GUICtrlCreateCombo ("", 460,220, 200)
GUICtrlSetData (-1, "Выгодный|Накопительный|Оптима|Оптима+|Пенсионный")
$sroklabel=GUICtrlCreateLabel ("Срок(дней)", 350, 250)
$srok=GUICtrlCreateInput ("", 460,250,120,20)
$procent=GUICtrlCreateLabel ("Процент по вкладу", 350, 280,200)
;~ GUICtrlCreateLabel ("Имя", 10, 310)
;~ GUICtrlCreateCombo ("item3/1", 60,310, 200)
;~ GUICtrlSetData (-1, "item3/2")
;~ GUICtrlCreateLabel ("Отчество", 10, 310)
;~ GUICtrlCreateCombo ("item3/1", 60,410, 200)
;~ GUICtrlSetData (-1, "item3/2")
GUISetState ()
GUIRegisterMsg(0x0111,"COMMAND")
Do
$msg = GUIGetMsg()
if $msg = $word then
if $error1=0 and $error2=0 and $error3=0 then
_WordCreate (@ScriptDir & "\Report.doc")
WinActivate ("Report.doc - Microsoft Word")
WinWaitActive ("Report.doc - Microsoft Word")
Else
MsgBox($MB_SYSTEMMODAL, "Ошибка", "Проверьте правильность введенных данных " )
endif
endif
Until $msg = $GUI_EVENT_CLOSE
И еще подскажите, как в Combo сделать чтобы выпадающий список появлялся даже при щелчке в поле комбо, а не только по стрелочке выпадающего списка?