[решено] Оптимизация кода

Ответить
Аватара пользователя
Cuba

[решено] Оптимизация кода

Сообщение Cuba »

Решил создать эту потому как самому интересно, что можно поправить в коде, чтобы зделать его более-менее оптимальным.

Для меня это актуально, т.к. я только начал работать с AutoIt.

Для начала, хочу спросить у знающих людей, что можно изменить в этом коде, чтобы он лучше работал или работал на 100% во всех случаях ?

Мне не нравится тут нажатие кнопки мыши по координатам.

Ведь координаты глобальные ? И при разном разрешении экрана будут кликаться разные области экрана ?



Код:

Код: Выделить всё

Run("qip8092.exe")
WinWaitActive("Выберите язык установки")
Send("{ENTER}")
WinWaitActive("Установка — QIP 2005","Программа установит QIP 2005 8092")
Send("{ENTER}")
WinWaitActive("Установка — QIP 2005","Выбор папки установки")
Send("{ENTER}")
WinWaitActive("Установка — QIP 2005","Выберите дополнительные задачи")
MouseClick("left", 310, 365, 1, 0)
MouseClick("left", 310, 430, 1, 0)
MouseClick("left", 310, 450, 1, 0)
Send("{ENTER}")
WinWaitActive("Установка — QIP 2005","Скачать и установить QIP.Online")
MouseClick("left", 310, 440, 1, 0)
Send("{ENTER}")
WinWaitActive("Установка — QIP 2005","Программа QIP 2005 установлена")
MouseClick("left", 450, 370, 1, 0)
Send("{ENTER}")
Аватара пользователя
Creat0R

Re: [решено] Оптимизация кода

Сообщение Creat0R »

Цитата Cuba:



Мне не нравится тут нажатие кнопки мыши по координатам
[решено] Оптимизация кода




Если нажать нужно по кнопкам и птичкам, то используйте ControlClick (классы и идентификаторы элементов см. с помощью инструмента Au3 Info Tool).

А вместо Send("{ENTER}") наверняка можно использовать что-то типа ControlClick("Выберите язык установки", "", "Button1").
Аватара пользователя
amel27

Re: [решено] Оптимизация кода

Сообщение amel27 »

Цитата Cuba:



самому интересно, что можно поправить
[решено] Оптимизация кода




если из интереса, то можно так:



Код:

Код: Выделить всё

Run("qip8092.exe")
WinWait("[CLASS:TSelectLanguageForm]")
ControlClick("[CLASS:TSelectLanguageForm]","","TNewButton1")
WinWait("[CLASS:TWizardForm]","QIP 2005 8092")
ControlClick("[CLASS:TWizardForm]","","TNewButton1")
WinWait("[CLASS:TWizardForm]","\Program Files\")
ControlClick("[CLASS:TWizardForm]","","TNewButton3")
WinWait("[CLASS:TWizardForm]","Выберите дополнительные задачи")
ControlClick("[CLASS:TWizardForm]","","TNewCheckListBox1","left",1,10,56)
ControlClick("[CLASS:TWizardForm]","","TNewCheckListBox1","left",1,10,120)
ControlClick("[CLASS:TWizardForm]","","TNewCheckListBox1","left",1,10,142)
ControlClick("[CLASS:TWizardForm]","","TNewButton3")
WinWait("[CLASS:TWizardForm]","Скачать и установить QIP.Online")
ControlClick("[CLASS:TWizardForm]","","TCheckBox1")
ControlClick("[CLASS:TWizardForm]","","TNewButton3")
WinWait("[CLASS:TWizardForm]","Программа QIP 2005 установлена")
ControlClick("[CLASS:TWizardForm]","","TNewCheckListBox1","left",1,10,10)
ControlClick("[CLASS:TWizardForm]","","TNewButton3")

...а если из практики, то я бы ставил так:



Код:

Код: Выделить всё

qip8092.exe /SILENT /LOADINF="qip8092.inf"

где qip8092.inf:



Код:

Код: Выделить всё

[Setup]
Lang=russian
Dir=C:\Program Files\QIP
Group=QIP 2005
NoIcons=0
Tasks=desktopicon

FYI:
[архив] Inno Setup .:[все вопросы]:.
Аватара пользователя
Cuba

Re: [решено] Оптимизация кода

Сообщение Cuba »

amel27, именно то, что я и хотел. Большое спасибо, а то я чуток не мог разобраться в синтаксисе ControlClick.

Думаю не стоит ставить статус [решено].

Пусть тема плавает, я может ещё сюда напишу или кто-то другой Изображение
Аватара пользователя
Creat0R

Re: [решено] Оптимизация кода

Сообщение Creat0R »

Цитата Cuba:



Думаю не стоит ставить статус [решено]
[решено] Оптимизация кода




Стоит, раз тема решена Изображение Если она решена, это не значит что в неё нельзя ничего писать.
Ответить

Вернуться в «AutoIt»