1 (изменено: niceice, 2014-12-10 03:35:50)

Тема: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Создал GUI со строками ввода и скрипты "исполнители" но как объединить GUI с скриптами send незнаю.

ТЗ:

  • 1. В GUI скрипте много строк,нужно в два ряда строки ввода поделить (сам GUI скрипт будет подан ниже в спойлере)

  • 2. "Привязать" следующие 14 скриптов (по списку в спойлерах) к строкам ввода GUI.

  • 3. Отдельные задачи будут описаны ниже так как будут касаться сугубо отдельного скрипта.


GUI строки ввода(код кривой но общую картину вида дает)

+ открыть спойлер
+d::
Gui, Add, Text,, 1.Название
Gui, Add, Edit, w200 vName
Gui, Add, Text,, 2.Модель     
Gui, Add, Edit, w200 vModel     
Gui, Add, Text,, 3.Юнит
Gui, Add, Edit, w200 vUnit
Gui, Add, Text,, 4.Цена
Gui, Add, Edit, w200 vPrice
Gui, Add, Text,, 5.Картинка
Gui, Add, Edit, w200 vImage
Gui, Add, Text,, 6.Размер
Gui, Add, Edit, w200 vSize
Gui, Add, Text,, 6.Размер2
Gui, Add, Edit, w200 vSize2
Gui, Add, Text,, 7.Производител
Gui, Add, Edit, w200 vMaster
Gui, Add, Text,, 8.Колекция
Gui, Add, Edit, w200 vColection
Gui, Add, Text,, 9.Вид плитки
Gui, Add, Edit, w200 vType
Gui, Add, Text,, 10.Вид приминения
Gui, Add, Edit, w200 vApplications
Gui, Add, Text,, 11.Дизайн
Gui, Add, Edit, w200 vDezigns
Gui, Add, Text,, 11.Дизайн2
Gui, Add, Edit, w200 vDezigns2
Gui, Add, Text,, 12.Цвет
Gui, Add, Edit, w200 vColor
Gui, Add, Text,, 12.Цвет2
Gui, Add, Edit, w200 vColor2
Gui, Add, Text,, 13.Поверхность
Gui, Add, Edit, w200 vPol
Gui, Add, Text,, 13.Поверхность2
Gui, Add, Edit, w200 vPol2
Gui, Add, Text,, 14.Страна
Gui, Add, Edit, w200 vFrom
Gui, Add, Text,, 14.Страна2
Gui, Add, Edit, w200 vFrom2
Gui, Add, Button, x160 y692, Создать
Gui, Add, Button, x5 y692, Отмена
Gui, Show,, Создание товара 
return

GuiClose:
ButtonОтмена:
ExitApp

ButtonСоздать:
Gui, Submit, NoHide


1. скрипт "Название" должен быть привязан к строке №1 GUI кода

+ открыть спойлер
1.  НАЗВАНИЕ

send {click, 800, 200}        ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 17   ; будет копироваться с строки GUI 1.название  и вставляться так,так будет быстрее
{
send {tab}
}
send ^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v+{tab}+{tab}+{tab}+{tab}+{tab}+{tab}{enter}{tab}^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v
return

2.скрипт  "Модель" должен быть привязан к строке №2 GUI кода

+ открыть спойлер
2. МОДЕЛЬ

send {click, 800, 200}           ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 6     ; модель будет копироваться с Gui строки  и  вставляться с буфера или писаться с строки GUI
{
send {tab}
}
send {enter}
loop, 9
{
send {tab}
}
send %vModel%    ;значение из строки GUI
return

3. скрипт "юниты" должен быть привязан к строке №3 GUI кода

+ открыть спойлер
3.  ЮНИТ

send {click, 800, 200}      ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 6     ; юнит будет копироваться с Gui строки и  вставляться с буфера или писаться с строки GUI
{
send {tab}
}
send {enter}
loop, 10
{
send {tab}
}
send %vUnit%    ;значение из строки GUI
return

4. скрипт "цена" должен быть привязан к строке №4 GUI кода(в дальнейшем планирую добавить мини калькулятор /,* на курс и +,- процент)

+ открыть спойлер
send {click, 800, 200}         ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 6     ;цена будет копироваться с Gui строки и вставляться с буфера или писаться с строки GUI
{
send {tab}
}
send {enter}
loop, 14
{
send {tab}
}
send %vPrice%    ;значение из строки GUI
return

5. скрипт "картинка" должен быть привязан к строке №5 GUI кода

+ открыть спойлер
send {click, 800, 200}          ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 6     ;картинка будет копироваться с Gui строки и вставляться с буфера или писаться с строки GUI
{
send {tab}
}
send {enter}
loop, 22
{
send {tab}
}
send %vImage%   ;значение из строки GUI [u](будет указан URL картинки в админке)[/u]
return

6. скрипт "размер" должен быть привязан к строке №6 GUI кода (проблема в том что б Х заменить на {tab} или сделать 2 строки ввода что б убрать проблему)

+ открыть спойлер
send {click, 800, 200}             ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 6     ;размер будет писаться с строки GUI (тоесть: 300x300 будет 300{tab}300)
{
send {tab}
}
send {enter}
loop, 25
{
send {tab}
}
send %vSize%   ;значение из строки GUI через {tab}

6 скрипт "размер2" должен быть привязан к строке №6(2) GUI кода

+ открыть спойлер
send {click, 800, 200}             ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 9
{
send {tab}
}
send {enter}
loop, 8
{
send {tab}
}
send {enter}
loop, 6
{
send {tab}
}
send {enter}%vSize2%   ;значени из строки GUI как оно написано  в строке

7. скрипт "производитель" должен быть привязан к строке №7 GUI кода

+ открыть спойлер
7. ПРОЗВОДИТЕЛЬ

send {click, 800, 200}          ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 7     ; производитель будет  писаться с строки GUI
{
send {tab}
}
send {enter}
loop, 8
{
send {tab}
}
send {enter}%vMaster%   ;значение из строки GUI
return

8. скрипт "колекция" должен быть привязан к строке №8 GUI кода

+ открыть спойлер
8. КОЛЕКЦИЯ

send {click, 800, 200}          ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 7     ; колекция будет писаться с строки GUI
{
send {tab}
}
send {enter}
loop, 9
{
send {tab}
}
send {enter}%vColection%   ;значение из строки GUI
return

9. скрипт "вид плитки"  должен быть привязан к строке №9 GUI кода

+ открыть спойлер
send {click, 800, 200}          ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 7     ; вид будет писаться с строки GUI
{
send {tab}
}
send {enter}
loop, 10
{
send {tab}
}
send {enter}%vType%   ;значение из строки GUI
return

10. скрипт "вид приминения" должен быть привязан к строке №10 GUI кода

+ открыть спойлер
10. ВИД ПРИМИНЕНИЯ

send {click, 800, 200}           ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 7     ; вид будет привязан к количеству табов
{
send {tab}
}
send {enter}
loop, 13            ;значение из строки GUI привязяное к галочке т.е. 13 {tab}-ов ето "для ванной" 14 {tab}-ов для "пола" 15 {tab}-ов для "кухни"
{
send {tab}
}
send {space}   ;значение из строки GUI (галочка)
return

11. скрипт "дизайн"(галочка) должен быть привязан к строке №11 GUI кода (проблема в том что б различные названия дизайна означали разное количество нажатия {tab},можно привести 2-3 примера,а остальные подставлю сам)

+ открыть спойлер
11. ДИЗАЙН

send {click, 800, 200}    ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 7     ; дизайн будет привязан к количеству табов
{
send {tab}
}
send {enter}
loop, 18            ;значение из строки GUI привязяное к галочке т.е. 18 {tab}-ов ето "бетон" 19 {tab}-ов для "волна" 20 {tab}-ов для "дерево" и так до 30-го {tab}а.
{
send {tab}
}
send {space}   ;значение из строки GUI (галочка)
return

11. скрипт "дизайн2" должен быть привязан к строке №11(2) GUI кода.

+ открыть спойлер
11. ДИЗАЙН2
send {click, 800, 200}    ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 9
{
send {tab}
}
send {enter}
loop, 6
{
send {tab}
}
send {enter}
loop, 9
{
send {tab}
}
send {enter}%vDezigns2%   ;значение из строки GUI как написано в строке

12. скрипт "цвет"(галочка) должен быть привязан к строке №12 GUI кода.(та же история что и с "дизайн" разные цвета означают разное количество нажимань)

+ открыть спойлер
12. ЦВЕТ

send {click, 800, 200}     ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 7     ; цвет будет привязан к количеству табов
{
send {tab}
}
send {enter}
loop, 32            ;значение из строки GUI привязяное к галочке т.е. 32 {tab}-ов ето "беж" 33 {tab}-ов для "белая" 34 {tab}-ов для "голубая" и так до 50-го {tab}а.
{
send {tab}
}
send {space}   ;значение из строки GUI (галочка)
return

12. скрипт "цвет2" должен быть привязан к строке №12(2) GUI кода.

+ открыть спойлер
12.ЦВЕТ2
send {click, 800, 200}    ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 9
{
send {tab}
}
send {enter}
loop, 9
{
send {tab}
}
send {enter}
loop, 5
{
send {tab}
}
send {enter}%vColor2%        ;значение из строки GUI как написано в строке

13. скрипт "поверхность"(галочка) должен быть привязан к строке №13 GUI кода.(та же история что и с "дизайн" и "цвет" разные параметры означают разное количество нажимань {tab})

+ открыть спойлер
13. ПОВЕРХНОСТЬ

send {click, 800, 200}     ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 7     ; поверхность будет привязан к количеству табов
{
send {tab}
}
send {enter}
loop, 63            ;значение из строки GUI привязяное к галочке т.е. 63 {tab}-а ето "Глазурованная" 64 {tab}-а для "Глянцевая" 65 {tab}-ов для "Лаппатированная" и так до 68-го {tab}а.
{
send {tab}
}
send {space}   ;значение из строки GUI (галочка)
return

13. скрипт "поверхность2" должен быть привязан к строке №13(2) GUI кода.

+ открыть спойлер
13. ПОВЕРХНОСТЬ2

send {click, 800, 200}    ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 9
{
send {tab}
}
send {enter}
loop, 11
{
send {tab}
}
send {enter}
loop, 3
{
send {tab}
}
send {enter}%vPol2%            ;значение из строки GUI как написано в строке

14. скрипт "страна"(галочка) должен быть привязан к строке №14 GUI кода.(разнаые названия означают разное количество нажимань)

+ открыть спойлер
14.СТРАНА

send {click, 800, 200}     ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 7     ; Страна производитель будет привязан к количеству табов
{
send {tab}
}
send {enter}
loop, 70            ;значение из строки GUI привязяное к галочке т.е. 71 {tab}-а ето "Германия" 72 {tab}-а для "Египет" 73 {tab}-ов для "Испания" и так до 80-го {tab}а.
{
send {tab}
}
send {space}   ;значение из строки GUI (галочка)
return

14. скрипт "страна2" должен быть привязан к строке №14(2) GUI кода.

+ открыть спойлер
14.СТРАНА2

send {click, 800, 200}    ;клик в нейтральную зону что б таб нажимался с "нуля"
loop, 9
{
send {tab}
}
send {enter}

loop, 10
{
send {tab}
}
send {enter}

loop, 4
{
send {tab}
}
send {enter}%vFrom2%       ;значение из строки GUI как написано в строке

Писал пост час, надеюсь хоть привязать помогут.
P.S. Если что-то неправильно указал или не понятно? Прошу спросить.

2

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

niceice пишет:

Писал пост час

А смысл? Не проще было создать GUI с одним полем ввода и одним привязанным скриптом, а остальные сделать по аналогии? Осталось непонятным, как именно по вашему представлению должен работать скрипт. Ясно, что текст из поля ввода должен копироваться и посылаться командой Send вместе с другими клавишами, но по какому событию это должно происходить?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

2. "Привязать" следующие 14 скриптов (по списку в спойлерах) к строкам ввода GUI.

В документации в Типы элементов управления GUI  прочитай про gMySubroutine. У тебя практически всё заготовлено, осталось прописать несколько меток.

1. В GUI скрипте много строк,нужно в два ряда строки ввода поделить

Gui, Add, Text, x15  y+5 w111, 1.Название
Gui, Add, Edit, x+      w222  vName
Gui, Add, Text, x15  y+5 w111, 2.Модель     
Gui, Add, Edit, x+      w222  vModel     
Gui, Add, Text, x15  y+5 w111, 3.Юнит
Gui, Add, Edit, x+      w222 vUnit
Gui, Add, Text, x15  y+5 w111, 4.Цена
Gui, Add, Edit, x+      w222 vPrice
Gui, Add, Text, x15  y+5 w111, 5.Картинка
Gui, Add, Edit, x+      w222 vImage
Gui, Add, Text, x15  y+5 w111, 6.Размер
Gui, Add, Edit, x+      w222 vSize
Gui, Add, Text, x15  y+5 w111, 6.Размер2
Gui, Add, Edit, x+      w222 vSize2
Gui, Add, Text, x15  y+5 w111, 7.Производител
Gui, Add, Edit, x+      w222 vMaster
Gui, Add, Text, x15  y+5 w111, 8.Колекция
Gui, Add, Edit, x+      w222 vColection
Gui, Add, Text, x15  y+5 w111, 9.Вид плитки
Gui, Add, Edit, x+      w222 vType
Gui, Add, Text, x415 y5 w111, 10.Вид приминения
Gui, Add, Edit, x+      w222 vApplications
Gui, Add, Text, x415 y+5 w111, 11.Дизайн
Gui, Add, Edit, x+      w222 vDezigns
Gui, Add, Text, x415 y+5 w111, 11.Дизайн2
Gui, Add, Edit, x+      w222 vDezigns2
Gui, Add, Text, x415 y+5 w111, 12.Цвет
Gui, Add, Edit, x+      w222 vColor
Gui, Add, Text, x415 y+5 w111, 12.Цвет2
Gui, Add, Edit, x+      w222 vColor2
Gui, Add, Text, x415 y+5 w111, 13.Поверхность
Gui, Add, Edit, x+      w222 vPol
Gui, Add, Text, x415 y+5 w111, 13.Поверхность2
Gui, Add, Edit, x+      w222 vPol2
Gui, Add, Text, x415 y+5 w111, 14.Страна
Gui, Add, Edit, x+      w222 vFrom
Gui, Add, Text, x415 y+5 w111, 14.Страна2
Gui, Add, Edit, x+      w222 vFrom2

4

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

1. Не совсем понятна задача - заполнение всех полей должно происходить по нажатию "создать", или у каждого позиции должна быть возможность отправить значение в форму, не трогая остальные поля?

2. Так писать ни к чему

loop, 17
{
send {tab}
}


Достаточно

send {tab 17}

3. В вашем примере GUI есть задание координат для кнопок, почему бы не сделать так же для остальных элементов, для разбивки на 2 столбца? (строка №21)

4. Привел пример для пункта "Цена", для остальных - по аналогии (вместо "остальной код")
"Название окна" должно соответствовать окну, куда данные отправляются. Посмотреть/скопировать можно в AU3_Spy.

Gui, Add, Text, y10, 1.Название
Gui, Add, Edit, w200 vName
Gui, Add, Text,, 2.Модель     
Gui, Add, Edit, w200 vModel     
Gui, Add, Text,, 3.Юнит
Gui, Add, Edit, w200 vUnit
Gui, Add, Text,, 4.Цена
Gui, Add, Edit, w200 vPrice
Gui, Add, Text,, 5.Картинка
Gui, Add, Edit, w200 vImage
Gui, Add, Text,, 6.Размер
Gui, Add, Edit, w200 vSize
Gui, Add, Text,, 6.Размер2
Gui, Add, Edit, w200 vSize2
Gui, Add, Text,, 7.Производител
Gui, Add, Edit, w200 vMaster
Gui, Add, Text,, 8.Колекция
Gui, Add, Edit, w200 vColection
Gui, Add, Text,, 9.Вид плитки
Gui, Add, Edit, w200 vType
Gui, Add, Text, x300 y10, 10.Вид приминения
Gui, Add, Edit, w200 vApplications
Gui, Add, Text,, 11.Дизайн
Gui, Add, Edit, w200 vDezigns
Gui, Add, Text,, 11.Дизайн2
Gui, Add, Edit, w200 vDezigns2
Gui, Add, Text,, 12.Цвет
Gui, Add, Edit, w200 vColor
Gui, Add, Text,, 12.Цвет2
Gui, Add, Edit, w200 vColor2
Gui, Add, Text,, 13.Поверхность
Gui, Add, Edit, w200 vPol
Gui, Add, Text,, 13.Поверхность2
Gui, Add, Edit, w200 vPol2
Gui, Add, Text,, 14.Страна
Gui, Add, Edit, w200 vFrom
Gui, Add, Text,, 14.Страна2
Gui, Add, Edit, w200 vFrom2
Gui, Add, Button, x300 y440, Создать
Gui, Add, Button, x420 y440, Отмена
Return

+d::
Gui, Show,, Создание товара 
Return

GuiClose:
ButtonОтмена:
ExitApp

ButtonСоздать:
Gui, Submit, NoHide
WinActivate, Название окна
WinWaitActive, Название окна
send {click, 800, 200}         ;клик в нейтральную зону что б таб нажимался с "нуля"
send {tab 6}{enter}{tab 14}%Price%    ;значение из строки GUI
sleep 100
; остальной код
Return 

5

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Похоже, что niceice хочет упростить заполнение форм. В своём GUI он всё перечислит через Tab, дальше нажмёт кнопку "Создать", и скрипт будет проставлять галочки, заполнять текстовые поля и т. д. в сторонней программе.

6

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

teadrinker пишет:
niceice пишет:

Писал пост час

А смысл? Не проще было создать GUI с одним полем ввода и одним привязанным скриптом, а остальные сделать по аналогии? Осталось непонятным, как именно по вашему представлению должен работать скрипт. Ясно, что текст из поля ввода должен копироваться и посылаться командой Send вместе с другими клавишами, но по какому событию это должно происходить?


Я сделал все, что мог и как мог, не хочу чтобы работу которую я могу выполнить сам, делал кто-то другой за меня, только из-за моей лени. 1 примером не обойдется потому что каждый скрипт разный, или делает иную функцию. Моя ошибка я забыл в ТЗ написать что все будет выполняться после нажаття "создать" и если поле пустое то данный скрипт привязаный к форме не будет действовать.

7 (изменено: niceice, 2014-12-10 15:38:45)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Irbis пишет:

1. Не совсем понятна задача - заполнение всех полей должно происходить по нажатию "создать", или у каждого позиции должна быть возможность отправить значение в форму, не трогая остальные поля?

2. Так писать ни к чему

loop, 17
{
send {tab}
}


Достаточно

send {tab 17}

1. Мой косяк не написал в ТЗ что если поле не заполнено то не будет исполняться скрипт который привязан к полю GUI и да все будет действовать после нажатия "создать".

2. Спасибо что подметил,не знал о таком.

8 (изменено: niceice, 2014-12-10 15:37:48)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

Похоже, что niceice хочет упростить заполнение форм. В своём GUI он всё перечислит через Tab, дальше нажмёт кнопку "Создать", и скрипт будет проставлять галочки, заполнять текстовые поля и т. д. в сторонней программе.


Не в "в сторонней программе", а в OpenCart (в GoogleChrome) и да упростить работу.Не через tab  но можно и так просто вижу товар и заполняю поля как мне нужно. Если есть возможность упростить то почему бы и нет?

9

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

niceice пишет:

если поле не заполнено то не будет исполняться скрипт который привязан к полю GUI

Неправильная формулировка, скрипт всего один. Просто часть кода будет попускаться.

ButtonСоздать:
Gui, Submit, NoHide
WinActivate, Название окна
WinWaitActive, Название окна
if Price {
   send {click, 800, 200}         ;клик в нейтральную зону что б таб нажимался с "нуля"
   send {tab 6}{enter}{tab 14}%Price%    ;значение из строки GUI
   sleep 100
}
; остальной код
Return

10

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Irbis пишет:
niceice пишет:

если поле не заполнено то не будет исполняться скрипт который привязан к полю GUI

Неправильная формулировка, скрипт всего один. Просто часть кода будет попускаться.

А что делать с 11,12,13,14 пунктами ? Как сделать привязку разых цветов и других к разному количеству нажиманий таб ?

11

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Если по остальным пунктам нет вопросов, то это пустяки.
Вариант раз.

Dezigns := "Дерево" ; Для примера. В реальном скрипте берется из поля GUI
if (Dezigns = "Бетон")
{
   Send {Tab 18}
}
else if (Dezigns = "Дерево")
{
  Send {Tab 19}
}
else
{
   MsgBox Нет совпадения
}

Вариант 2. Если не хочется сто раз писать if{} ... else if{}
В начале скрипта создаем список. (Количество пунктов свое)

DezignsArr:={"Бетон":18, "Волна":19, "Дерево":20}

В коде, который выполняется по нажатию кнопки "Cоздать":

Dezigns := "Бетон" ; Для примера
SendInput % "{Tab " . DezignsArr[Dezigns] . "}"

Что равнозначно для "Бетон" строке SendInput {Tab 18}

12 (изменено: ypppu, 2014-12-10 17:44:34)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

На счет галочек все понял,но как связать скрипты и GUI и  чтоб  при нажатии "создать" все начало действовать не знаю. Можно 2 примера как их нужно подставлять под GUI  на примере 1. Название  и 12. Цвета(с коментариями если можна).

Избегайте избыточного цитирования.

13 (изменено: Irbis, 2014-12-10 17:53:46)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

В посте #4 я привел пример, для цены. "Название окна" - окно хрома, так, как оно выглядит в Window Spy, или в AHK Spy.
Насчет цвета, уточни - в поле "цвет1" вводишь 32, в поле "цвет2" - беж, то есть они между собой связаны? тогда от одного из них можно избавиться, и объединить все в список.

Цитирование предыдущего поста - моветон, ибо оверквотинг и карается банхаммером от модератора.

Upd: Вот и первый звонок.

14 (изменено: niceice, 2014-12-10 18:22:35)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Irbis пишет:

в поле "цвет1" вводишь 32, в поле "цвет2" - беж, то есть они между собой связаны? тогда от одного из них можно избавиться, и объединить все в список.

В поле "цвет1" в GUI  строке ввожу "беж" и исполняеться скрипт №12 в котором {tab 32}, в скрипте "цвет2"  в строке GUI ввожу тоже "беж" и исполняеться скрипт просто в конце вместо  {tab 32}  воодиться "беж" так как там строка ввода цвета в вкладке интерфейса а в  вкладке интерфейса по скрипту "цвет1" галочка.
От "цвет2" нельзя избавиться поскольку этот скрипт делает другую функцию в другой вкладке интерфейса что касается этого параметра, просто одно и тот же параметр надо вводить в разных вкладках. Объединить будет очень затратно по времени и легче сделать вторую строчку ввода.

Подставил,ерор.
https://pp.vk.me/c623222/v623222742/d699/LLlpLQLGIF4.jpg

15

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

niceice пишет:

как связать скрипты и GUI и  чтоб  при нажатии "создать" все начало действовать не знаю.

Можете все свои мини-скрипты слепить в один, выстроив их друг за другом:

MySubroutine: ;Это подпрограмма заполнения форм
; Здесь начинается блок 1
Bla-bla-bla 1

; Здесь начинается блок 2
Bla-bla-bla 2

; Здесь начинается блок N
Bla-bla-bla N
Return

Можете каждый из них загнать в свою подпрограмму и вызывать их поотдельности:


Loop, 19
GoSub, sub_%A_Index%
Return

sub_1:
Bla-bla-bla 1
Return

sub_2:
Bla-bla-bla 2
Return

; И так далее

sub_19:
Bla-bla-bla 19
Return

16

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

Можете все свои мини-скрипты слепить в один, выстроив их друг за другом:

Сейчас исправил что мог, работает.Буду подставлять все скрипты и потом напишу что получилось.
Вашим методом не буду пробывать потому что начнеться куча впоросов так как я ничего не понимаю с того что вы написали.

17

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Мой способ простой и универсальный. Лучше задавайте вопросы сейчас, а то потом уйдёте в дремучий лес и потеряетесь.

18

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

Мой способ простой и универсальный. Лучше задавайте вопросы сейчас, а то потом уйдёте в дремучий лес и потеряетесь.

Если так то: дайте пример мне с 1 пунктом GUI строки ввода и скриптом №1 "название"

19

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

+  Вот пример кода
+d::
Gui, Add, Text,, 1.Название
Gui, Add, Edit, w200 vName
Gui, Add, Text,, 2.Модель     
Gui, Add, Edit, w200 vModel     
Gui, Add, Text,, 3.Юнит
Gui, Add, Edit, w200 vUnit
Gui, Add, Text,, 4.Цена
Gui, Add, Edit, w200 vPrice
Gui, Add, Text,, 5.Картинка
Gui, Add, Edit, w200 vImage
Gui, Add, Text,, 6.Размер
Gui, Add, Edit, w200 vSize
Gui, Add, Text,, 6.Размер2
Gui, Add, Edit, w200 vSize2
Gui, Add, Text,, 7.Производител
Gui, Add, Edit, w200 vMaster
Gui, Add, Text,, 8.Колекция
Gui, Add, Edit, w200 vColection
Gui, Add, Text,, 9.Вид плитки
Gui, Add, Edit, w200 vType
Gui, Add, Text,, 10.Вид приминения
Gui, Add, Edit, w200 vApplications
Gui, Add, Text,, 11.Дизайн
Gui, Add, Edit, w200 vDezigns
Gui, Add, Text,, 11.Дизайн2
Gui, Add, Edit, w200 vDezigns2
Gui, Add, Text,, 12.Цвет
Gui, Add, Edit, w200 vColor
Gui, Add, Text,, 12.Цвет2
Gui, Add, Edit, w200 vColor2
Gui, Add, Text,, 13.Поверхность
Gui, Add, Edit, w200 vPol
Gui, Add, Text,, 13.Поверхность2
Gui, Add, Edit, w200 vPol2
Gui, Add, Text,, 14.Страна
Gui, Add, Edit, w200 vFrom
Gui, Add, Text,, 14.Страна2
Gui, Add, Edit, w200 vFrom2
Gui, Add, Button, x160 y692, Создать
Gui, Add, Button, x5 y692, Отмена
Gui, Show,, Создание товара 
Return

GuiClose:
ButtonОтмена:
ExitApp

ButtonСоздать:
Gui, Submit, NoHide

; ################# 1.  НАЗВАНИЕ ########################
Send {Click, 800, 200}        ;клик в нейтральную зону что б таб нажимался с "нуля"
Loop, 17   ; будет копироваться с строки GUI 1.название  и вставляться так,так будет быстрее
{
Send {Tab}
}
Send ^a%Name%{tab}{tab}{tab}{tab}^a%Name%{tab}^a%Name%+{tab}+{tab}+{tab}+{tab}+{tab}+{tab}{enter}{tab}^a%Name%{tab}{tab}{tab}{tab}^a%Name%{tab}^a%Name%
Return

Изменил самое простое - вместо вставки из буфера скрипт вставляет текст прямо из переменной, ассоциированной с ЭУ Edit.
Остальное не трогал, чтобы не сбить с толку.  Потом ещё кое-что можно улучшить, когда разберётесь с этим.

P. S.: Завтра меня не будет, если что.

20

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Есть нюанс - в таком виде по нажатию "Создать" все клики,tab'ы и прочее отправятся в активное окно, то есть в пользовательский GUI.

21

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Да, поэтому можно пока изучить команды WinActivate, IfWinActive, WinWaitActive.

22 (изменено: niceice, 2014-12-11 21:42:37)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

Изменил самое простое - вместо вставки из буфера скрипт вставляет текст прямо из переменной, ассоциированной с ЭУ Edit.
Остальное не трогал, чтобы не сбить с толку.  Потом ещё кое-что можно улучшить, когда разберётесь с этим.

P. S.: Завтра меня не будет, если что.

Не практично.Если будет вводиться большая назва то нужно высчитывать sleep легче кнтр+в.
Все сделал:

+ открыть спойлер
+d::
Gui, Add, Text, x15  y+5 w111, 1.Название
Gui, Add, Edit, x+      w222  vName
Gui, Add, Text, x15  y+5 w111, 2.Модель     
Gui, Add, Edit, x+      w222  vModel     
Gui, Add, Text, x15  y+5 w111, 3.Юнит
Gui, Add, Edit, x+      w222 vUnit
Gui, Add, Text, x15  y+5 w111, 4.Цена
Gui, Add, Edit, x+      w222 vPrice
Gui, Add, Text, x15  y+5 w111, 5.Картинка
Gui, Add, Edit, x+      w222 vImage, data/02,06,14/79/
Gui, Add, Text, x15  y+5 w111, 6.Размер
Gui, Add, Edit, x+      w222 vSize
Gui, Add, Text, x15  y+5 w111, 6.Размер2
Gui, Add, Edit, x+      w222 vSize2
Gui, Add, Text, x15  y+5 w111, 7.Производител
Gui, Add, Edit, x+      w222 vMaster
Gui, Add, Text, x15  y+5 w111, 8.Колекция
Gui, Add, Edit, x+      w222 vColection
Gui, Add, Text, x15  y+5 w111, 9.Вид плитки
Gui, Add, Edit, x+      w222 vType
Gui, Add, Text, x415 y5 w111, 10.Вид приминения
Gui, Add, Edit, x+      w222 vApplications
Gui, Add, Text, x415 y+5 w111, 11.Дизайн
Gui, Add, Edit, x+      w222 vDezigns
Gui, Add, Text, x415 y+5 w111, 11.Дизайн2
Gui, Add, Edit, x+      w222 vDezigns2
Gui, Add, Text, x415 y+5 w111, 12.Цвет
Gui, Add, Edit, x+      w222 vColor
Gui, Add, Text, x415 y+5 w111, 12.Цвет2
Gui, Add, Edit, x+      w222 vColor2
Gui, Add, Text, x415 y+5 w111, 13.Поверхность
Gui, Add, Edit, x+      w222 vPol
Gui, Add, Text, x415 y+5 w111, 13.Поверхность2
Gui, Add, Edit, x+      w222 vPol2
Gui, Add, Text, x415 y+5 w111, 14.Страна
Gui, Add, Edit, x+      w222 vFrom
Gui, Add, Text, x415 y+5 w111, 14.Страна2
Gui, Add, Edit, x+      w222 vFrom2
Gui, Show,, Создание товара
Gui, Add, Button, x660 y242, Создать
Gui, Add, Button, x5 y692, Отмена
Gui, Add, Button, x350 y4,1
Gui, Add, Button, x350 y30,2
Gui, Add, Button, x350 y56,3
Gui, Add, Button, x350 y82,4
Gui, Add, Button, x350 y108,5
Gui, Add, Button, x350 y134,6
Gui, Add, Button, x350 y160,6.
Gui, Add, Button, x350 y186,7
Gui, Add, Button, x350 y212,8
Gui, Add, Button, x350 y238,9
Gui, Add, Button, x390 y4,10
Gui, Add, Button, x390 y30,11
Gui, Add, Button, x390 y56,11.
Gui, Add, Button, x390 y82,13
Gui, Add, Button, x390 y108,13.
Gui, Add, Button, x390 y134,15
Gui, Add, Button, x390 y160,15.
Gui, Add, Button, x390 y186,17
Gui, Add, Button, x390 y212,17.
return

GuiClose:
ButtonОтмена:
ExitApp

Button1:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 17}
send %Name%^a^c^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v+{tab}+{tab}+{tab}+{tab}+{tab}+{tab}{enter}{tab}^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v
return

Button2:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 9}
send %Model%
return

Button3:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 10}
send %Unit%
return

Button4:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}{enter}{tab 14}%Price%
return

Button5:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 22}
send %Image%{tab}%Image%
return

Button6:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 25}
send %Size%
return

Button6.:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 8}
send {enter}
send {tab 6}
send {enter}%Size2%  
return

Button7:
Gui, Submit, NoHide
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 8}
send {enter}%Master% 
return

Button8:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 7}
send {enter}
send {tab 9}
send {enter}%Colection% 
return

Button9:
Gui, Submit, NoHide
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 10}
send {enter}%Type% 
return

Button10:
Gui, Submit, NoHide
ApplicationsArr:={"ванной":13, "пол":14, "кухня":15}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . ApplicationsArr[Applications] . "}"
send {space}
return

Button11:
Gui, Submit, NoHide
DezignsArr:={"бетон":18, "волна":19, "дерево":20, "камень":21, "кантри":22, "мегаполис":23, "мрамор":24, "пачворк":25, "мозаику":26, "надпис":28, "орнамент":29, "фото":30}
send {click, 800, 200}
send {tab 7}
send {enter}
SendInput % "{Tab " . DezignsArr[Dezigns] . "}"
send {space}
return

Button11.:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 6}
send {enter}
send {tab 8}
send {enter}%Dezigns2%
return

Button13:
Gui, Submit, NoHide
ColorArr:={"беж":32, "бел":33, "голуба":34, "желтая":35, "зелена":36, "коричнева":37, "красная":38, "кремова":39, "микс":40, "оранжева":41, "розова":42, "светлая":43, "серая":44, "синяя":45, "сиреневая":46, "темна":47, "фиолетова":48, "хром":49, "черна":50}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . ColorArr[color] . "}"
send {space} 
return

Button13.:
Gui, Submit, NoHide
send {click, 800, 200}   
send {tab 9}
send {enter}
send {tab 9}
send {enter}
send {tab 5}
send {enter}%Color2% 
return

Button15:
Gui, Submit, NoHide
PolArr:={"глазурованная":63, "глянцева":64, "Лаппати":65, "матова":66,"полирована":67,"структурована":68}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . PolArr[Pol] . "}"
send {space}
return

Button15.:
Gui, Submit, NoHide
send {click, 800, 200}    
send {tab 9}
send {enter}
send {tab 11}
send {enter}
send {tab 3}
send {enter}%Pol2%
return

Button17:
Gui, Submit, NoHide
FromArr:={"германия":70, "египет":71, "испания":72, "италия":73,"китай":75,"польша":76, "португалия":77, "россия":78, "украина":79}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . FromArr[From] . "}"
send {space}
return

Button17.:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 10}
send {enter}
send {tab 4}
send {enter}%From2%
return

ButtonСоздать:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 17}
send %Name%^a^c^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v+{tab}+{tab}+{tab}+{tab}+{tab}+{tab}{enter}{tab}^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 9}
send %Model%
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 10}
send %Unit%
sleep 50
send {click, 800, 200}
send {tab 6}{enter}{tab 14}%Price%
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 22}
send %Image%{tab}%Image%
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 25}
send %Size%
sleep 50
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 8}
send {enter}
send {tab 6}
send {enter}%Size2%  
sleep 50
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 8}
send {enter}%Master% 
sleep 50
send {click, 800, 200}
send {tab 7}
send {enter}
send {tab 9}
send {enter}%Colection% 
sleep 50
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 10}
send {enter}%Type%  
sleep 50
ApplicationsArr:={"ванной":13, "пол":14, "кухня":15}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . ApplicationsArr[Applications] . "}"
send {space}
sleep 50
DezignsArr:={"бетон":18, "волна":19, "дерево":20, "камень":21, "кантри":22, "мегаполис":23, "мрамор":24, "пачворк":25, "мозаику":26, "надпис":28, "орнамент":29, "фото":30}
send {click, 800, 200}
send {tab 7}
send {enter}
SendInput % "{Tab " . DezignsArr[Dezigns] . "}"
send {space} 
sleep 50
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 6}
send {enter}
send {tab 8}
send {enter}%Dezigns2% 
sleep 50
ColorArr:={"беж":32, "бел":33, "голуба":34, "желтая":35, "зелена":36, "коричнева":37, "красная":38, "кремова":39, "микс":40, "оранжева":41, "розова":42, "светлая":43, "серая":44, "синяя":45, "сиреневая":46, "темна":47, "фиолетова":48, "хром":49, "черна":50}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . ColorArr[color] . "}"
send {space}   
sleep 50
send {click, 800, 200}   
send {tab 9}
send {enter}
send {tab 9}
send {enter}
send {tab 5}
send {enter}%Color2% 
sleep 50
PolArr:={"глазурованная":63, "глянцева":64, "Лаппати":65, "матова":66,"полирована":67,"структурована":68}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . PolArr[Pol] . "}"
send {space} 
sleep 50
send {click, 800, 200}    
send {tab 9}
send {enter}
send {tab 11}
send {enter}
send {tab 3}
send {enter}%Pol2%
sleep 50
FromArr:={"германия":70, "египет":71, "испания":72, "италия":73,"китай":75,"польша":76, "португалия":77, "россия":78, "украина":79}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . FromArr[From] . "}"
send {space}
sleep 50
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 10}
send {enter}
send {tab 4}
send {enter}%From2%
sleep 50
; остальной код
Return 




+e::
send {tab 9}
send {enter}
send {tab 6}д
sleep, 550 
send {down}{enter}
send ^a{del}
send м
sleep, 550 
send {down}{down}{enter}
send ^a{del}
send ф
sleep, 550
send {down}{enter}
send ^a{del}
send ц
sleep, 550
send {down}{enter}
send ^a{del}
send с
sleep, 550
send {down}{enter}
send ^a{del}
send п
sleep, 550
send {down}{enter}

return

Столкнулся с проблемой,если строка ввода пуста нужно что б пропускалось действие скрипта тоесть дже если была б заполнена 1 строка GUI,то только она б и исполнялась.

23 (изменено: niceice, 2014-12-11 21:41:52)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Еще идея  у строки ввода "цена" добавить мини калькулятор /, * на курс валюты и +, - процент, тоесть вводишь в строку цену настраиваешь курс и процент и после выполнения кода в форму Opencart-а вставляется уже вычисленая цена.

24

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Новая версия скрипта.

+ новая версия
+d::
Gui, Add, Text, x15  y+5 w111, 1.Название
Gui, Add, Edit, x+      w222  vName
Gui, Add, Text, x15  y+5 w111, 2.Модель     
Gui, Add, Edit, x+      w222  vModel     
Gui, Add, Text, x15  y+5 w111, 3.Юнит
Gui, Add, Edit, x+      w222 vUnit
Gui, Add, Text, x15  y+5 w111, 4.Цена
Gui, Add, Edit, x+      w222 vPrice
Gui, Add, Text, x15  y+5 w111, 5.Картинка
Gui, Add, Edit, x+      w222 vImage, data/02,06,14/79/
Gui, Add, Text, x15  y+5 w111, 6.Размер
Gui, Add, Edit, x+      w222 vSize
Gui, Add, Text, x15  y+5 w111, 6.Размер2
Gui, Add, Edit, x+      w222 vSize2
Gui, Add, Text, x15  y+5 w111, 7.Производител
Gui, Add, Edit, x+      w222 vMaster
Gui, Add, Text, x15  y+5 w111, 8.Колекция
Gui, Add, Edit, x+      w222 vColection
Gui, Add, Text, x15  y+5 w111, 9.Вид плитки
Gui, Add, Edit, x+      w222 vType
Gui, Add, Text, x415 y5 w111, 10.Вид приминения
Gui, Add, Edit, x+      w222 vApplications
Gui, Add, Text, x415 y+5 w111, 11.Дизайн
Gui, Add, Edit, x+      w222 vDezigns
Gui, Add, Text, x415 y+5 w111, 11.Дизайн2
Gui, Add, Edit, x+      w222 vDezigns2
Gui, Add, Text, x415 y+5 w111, 12.Цвет
Gui, Add, Edit, x+      w222 vColor
Gui, Add, Text, x415 y+5 w111, 12.Цвет2
Gui, Add, Edit, x+      w222 vColor2
Gui, Add, Text, x415 y+5 w111, 13.Поверхность
Gui, Add, Edit, x+      w222 vPol
Gui, Add, Text, x415 y+5 w111, 13.Поверхность2
Gui, Add, Edit, x+      w222 vPol2
Gui, Add, Text, x415 y+5 w111, 14.Страна
Gui, Add, Edit, x+      w222 vFrom
Gui, Add, Text, x415 y+5 w111, 14.Страна2
Gui, Add, Edit, x+      w222 vFrom2
Gui, Show,, Создание товара
Gui, Add, Button, x660 y242, Создать
Gui, Add, Button, x5 y692, Отмена
Gui, Add, Button, x350 y4,1
Gui, Add, Button, x350 y30,2
Gui, Add, Button, x350 y56,3
Gui, Add, Button, x350 y82,4
Gui, Add, Button, x350 y108,5
Gui, Add, Button, x350 y134,6
Gui, Add, Button, x350 y160,6.
Gui, Add, Button, x350 y186,7
Gui, Add, Button, x350 y212,8
Gui, Add, Button, x350 y238,9
Gui, Add, Button, x390 y4,10
Gui, Add, Button, x390 y30,11
Gui, Add, Button, x390 y56,11.
Gui, Add, Button, x390 y82,13
Gui, Add, Button, x390 y108,13.
Gui, Add, Button, x390 y134,15
Gui, Add, Button, x390 y160,15.
Gui, Add, Button, x390 y186,17
Gui, Add, Button, x390 y212,17.
return

GuiClose:
ButtonОтмена:
ExitApp

Button1:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 17}
send %Name%^a^c^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v+{tab}+{tab}+{tab}+{tab}+{tab}+{tab}{enter}{tab}^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v
return

Button2:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 9}
send %Model%
return

Button3:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 10}
send %Unit%
return

Button4:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}{enter}{tab 14}%Price%
return

Button5:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 22}
send %Image%{tab}%Image%
return

Button6:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 25}
send %Size%
return

Button6.:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 8}
send {enter}
send {tab 6}
send {enter}%Size2%  
return

Button7:
Gui, Submit, NoHide
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 8}
send {enter}%Master% 
return

Button8:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 7}
send {enter}
send {tab 9}
send {enter}%Colection% 
return

Button9:
Gui, Submit, NoHide
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 10}
send {enter}%Type% 
return

Button10:
Gui, Submit, NoHide
ApplicationsArr:={"ванной":13, "пол":14, "кухня":15}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . ApplicationsArr[Applications] . "}"
send {space}
return

Button11:
Gui, Submit, NoHide
DezignsArr:={"бетон":18, "волна":19, "дерево":20, "камень":21, "кантри":22, "мегаполис":23, "мрамор":24, "пачворк":25, "мозаику":26, "надпис":28, "орнамент":29, "фото":30}
send {click, 800, 200}
send {tab 7}
send {enter}
SendInput % "{Tab " . DezignsArr[Dezigns] . "}"
send {space}
return

Button11.:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 6}
send {enter}
send {tab 8}
send {enter}%Dezigns2%
return

Button13:
Gui, Submit, NoHide
ColorArr:={"беж":32, "бел":33, "голуба":34, "желтая":35, "зелена":36, "коричнева":37, "красная":38, "кремова":39, "микс":40, "оранжева":41, "розова":42, "светлая":43, "серая":44, "синяя":45, "сиреневая":46, "темна":47, "фиолетова":48, "хром":49, "черна":50}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . ColorArr[color] . "}"
send {space} 
return

Button13.:
Gui, Submit, NoHide
send {click, 800, 200}   
send {tab 9}
send {enter}
send {tab 9}
send {enter}
send {tab 5}
send {enter}%Color2% 
return

Button15:
Gui, Submit, NoHide
PolArr:={"глазурованная":63, "глянцева":64, "Лаппати":65, "матова":66,"полирована":67,"структурована":68}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . PolArr[Pol] . "}"
send {space}
return

Button15.:
Gui, Submit, NoHide
send {click, 800, 200}    
send {tab 9}
send {enter}
send {tab 11}
send {enter}
send {tab 3}
send {enter}%Pol2%
return

Button17:
Gui, Submit, NoHide
FromArr:={"германия":70, "египет":71, "испания":72, "италия":73,"китай":75,"польша":76, "португалия":77, "россия":78, "украина":79}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . FromArr[From] . "}"
send {space}
return

Button17.:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 10}
send {enter}
send {tab 4}
send {enter}%From2%
return

ButtonСоздать:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 17}
send %Name%^a^c^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v+{tab}+{tab}+{tab}+{tab}+{tab}+{tab}{enter}{tab}^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 9}
send %Model%
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 10}
send %Unit%
sleep 50
send {click, 800, 200}
send {tab 6}{enter}{tab 14}%Price%
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 22}
send %Image%{tab}%Image%
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 25}
send %Size%
sleep 50
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 8}
send {enter}
send {tab 6}
send {enter}%Size2%  
sleep 50
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 8}
send {enter}%Master% 
sleep 50
send {click, 800, 200}
send {tab 7}
send {enter}
send {tab 9}
send {enter}%Colection% 
sleep 50
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 10}
send {enter}%Type%  
sleep 50
ApplicationsArr:={"ванной":13, "пол":14, "кухня":15}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . ApplicationsArr[Applications] . "}"
send {space}
sleep 50
DezignsArr:={"бетон":18, "волна":19, "дерево":20, "камень":21, "кантри":22, "мегаполис":23, "мрамор":24, "пачворк":25, "мозаику":26, "надпис":28, "орнамент":29, "фото":30}
send {click, 800, 200}
send {tab 7}
send {enter}
SendInput % "{Tab " . DezignsArr[Dezigns] . "}"
send {space} 
sleep 50
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 6}
send {enter}
send {tab 8}
send {enter}%Dezigns2% 
sleep 50
ColorArr:={"беж":32, "бел":33, "голуба":34, "желтая":35, "зелена":36, "коричнева":37, "красная":38, "кремова":39, "микс":40, "оранжева":41, "розова":42, "светлая":43, "серая":44, "синяя":45, "сиреневая":46, "темна":47, "фиолетова":48, "хром":49, "черна":50}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . ColorArr[color] . "}"
send {space}   
sleep 50
send {click, 800, 200}   
send {tab 9}
send {enter}
send {tab 9}
send {enter}
send {tab 5}
send {enter}%Color2% 
sleep 50
PolArr:={"глазурованная":63, "глянцева":64, "Лаппати":65, "матова":66,"полирована":67,"структурована":68}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . PolArr[Pol] . "}"
send {space} 
sleep 50
send {click, 800, 200}    
send {tab 9}
send {enter}
send {tab 11}
send {enter}
send {tab 3}
send {enter}%Pol2%
sleep 50
FromArr:={"германия":70, "египет":71, "испания":72, "италия":73,"китай":75,"польша":76, "португалия":77, "россия":78, "украина":79}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . FromArr[From] . "}"
send {space}
sleep 50
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 10}
send {enter}
send {tab 4}
send {enter}%From2%
sleep 50
; остальной код
Return 

Нужно еще добавить калькулятор возле "цена",но незнаю как.

25

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Не практично.Если будет вводиться большая назва то нужно высчитывать sleep легче кнтр+в.

А по-русски?

26 (изменено: niceice, 2014-12-12 16:16:57)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

А по-русски?

Я так понимаю вы сделали вместо вставки из буфера текста ? написания текста с строки GUI. Я такой вариант проходил и если текст с строке ввода GUI будет отсылаться в окно формы и он будет очень длинный (а названия товара бывают очень длинные), то оно долго будет писать это название в строку, но скрипт то делать будет все дальше что ему "приказано" и не будет ждать (если ему не приказать ждать) пока строка ввода текста формы Opencart заполнится и будет выполнять действие дальше. Поэтому простое решение проблемы копирование текста из строки ввода GUI b вставка из буфера в форму Opencart, а не писания скрипта на ожидание заполнения формы или расстановки команды sleep.

Если я неправильно вас понял или не знаю этого действия которое вы предложили или как она работает, то извиняюсь за лишнюю трату времени на выяснение.

27

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Сделал новую версию скрипта в котором некоторые строки ввода заменил на всплывающее окно для того чтобы не запоминать все параметры, а просто выбирать из списка.

+ открыть спойлер
+^d::
Gui, Add, Text, x2 y3 w80 h20 , 1.Название
Gui, Add, Edit, x92 y3 w140 h20 vName, 
Gui, Add, Text, x2 y33 w80 h20 , 2.Модель
Gui, Add, Edit, x92 y33 w140 h20 vModel, 
Gui, Add, Text, x2 y63 w80 h20 , 3.Юнит
Gui, Add, DropDownList, x92 y63 w140 h20 vUnit, м2|шт|комплект
Gui, Add, Text, x2 y93 w80 h20 , 4.Цена
Gui, Add, Edit, x92 y93 w140 h20 vPrice, 
Gui, Add, Text, x2 y123 w80 h20 , 5.Картинка
Gui, Add, Edit, x92 y123 w140 h20 vImage, data/02,06,14/79/
Gui, Add, Text, x2 y153 w80 h20 , 6.Размер
Gui, Add, Edit, x92 y153 w140 h20 vSize, 
Gui, Add, Text, x2 y183 w80 h20 , 6.Размер2
Gui, Add, Edit, x92 y183 w140 h20 vSize2, 
Gui, Add, Text, x2 y213 w90 h20 , 7.Производител
Gui, Add, Edit, x92 y213 w140 h20 vMaster, 
Gui, Add, Text, x2 y243 w90 h20 , 8.Колекция
Gui, Add, Edit, x92 y243 w140 h20 vColection, 
Gui, Add, Text, x2 y273 w90 h20 , 9.Вид плитки
Gui, Add, DropDownList, x92 y273 w140 h20 vType, плитка|декор|фриз|панно
Gui, Add, Text, x262 y3 w100 h20 , 10.Вид приминения
Gui, Add, DropDownList, x362 y3 w140 h20 vApplications, ванной|пол|кухня
Gui, Add, Text, x262 y33 w100 h20 , 11.Дизайн
Gui, Add, DropDownList, x362 y33 w140 h20 vDezigns, бетон|волна|дерево|камень|кантри|мегаполис|мрамор|пачворк|мозаику|надпис|орнамент|фото
Gui, Add, Text, x262 y63 w90 h20 , 11.Дизайн2
Gui, Add, DropDownList, x362 y63 w140 h20 vDezigns2, бетон|волна|дерево|камень|кантри|мегаполис|мрамор|пачворк|мозаику|надпис|орнамент|фото
Gui, Add, Text, x262 y93 w100 h20 , 12.Цвет
Gui, Add, DropDownList, x362 y93 w140 h20 vColor, беж|бел|голуба|желтая|зелена|коричнева|красная|кремова|микс|оранжева|розова|светлая|серая|tooltip|сиреневая|темна|фиолетова|хром|черна
Gui, Add, Text, x262 y123 w100 h20 , 12.Цвет2
Gui, Add, DropDownList, x362 y123 w140 h20 vColor2, беж|бел|голуба|желтая|зелена|коричнева|красная|кремова|микс|оранжева|розова|светлая|серая|tooltip|сиреневая|темна|фиолетова|хром|черна
Gui, Add, Text, x262 y153 w100 h20 , 13.Поверхность
Gui, Add, DropDownList, x362 y153 w140 h20 vPol, глазурованная|глянцева|Лаппати|матова|полирована|структурована
Gui, Add, Text, x262 y183 w100 h20 , 13.Поверхность2
Gui, Add, DropDownList, x362 y183 w140 h10 vPol2, глазурованная|глянцева|Лаппати|матова|полирована|структурована
Gui, Add, Text, x262 y213 w100 h20 , 14.Страна
Gui, Add, DropDownList, x362 y213 w140 h20 vFrom, германия|египет|испания|италия|китай|польша|португалия|россия|украина
Gui, Add, Text, x262 y243 w100 h20 , 14.Страна2
Gui, Add, DropDownList, x362 y243 w140 h20 vFrom2, германия|египет|испания|италия|китай|польша|португалия|россия|украина
Gui, Add, Button, x232 y3 w20 h20 , 1
Gui, Add, Button, x232 y33 w20 h20 , 2
Gui, Add, Button, x232 y63 w20 h20 , 3
Gui, Add, Button, x232 y93 w20 h20 , 4
Gui, Add, Button, x232 y123 w20 h20 , 5
Gui, Add, Button, x232 y153 w20 h20 , 6
Gui, Add, Button, x232 y183 w20 h20 , 6.
Gui, Add, Button, x232 y213 w20 h20 , 7
Gui, Add, Button, x232 y243 w20 h20 , 8
Gui, Add, Button, x232 y273 w20 h20 , 9
Gui, Add, Button, x502 y3 w23 h20 , 10
Gui, Add, Button, x502 y33 w23 h20 , 11
Gui, Add, Button, x502 y63 w23 h20 , 11.
Gui, Add, Button, x502 y93 w23 h20 , 13
Gui, Add, Button, x502 y123 w23 h20 , 13.
Gui, Add, Button, x502 y153 w23 h20 , 15
Gui, Add, Button, x502 y183 w23 h20 , 15.
Gui, Add, Button, x502 y213 w23 h20 , 17
Gui, Add, Button, x502 y243 w23 h20 , 17.
Gui, Add, Button, x262 y273 w120 h20 , Отмена
Gui, Add, Button, x392 y273 w130 h20 , Создать
Gui, Show, x350 y192 h300 w532, Создание товара
Return

Button1:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 17}
send %Name%^a^c^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v+{tab}+{tab}+{tab}+{tab}+{tab}+{tab}{enter}{tab}^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v
return

Button2:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 9}
send %Model%
return

Button3:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 10}
send %Unit%
return

Button4:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}{enter}{tab 14}%Price%
return

Button5:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 22}
send %Image%{tab}%Image%
return

Button6:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 25}
send %Size%
return

Button6.:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 8}
send {enter}
send {tab 6}
send {enter}%Size2%  
return

Button7:
Gui, Submit, NoHide
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 8}
send {enter}%Master% 
return

Button8:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 7}
send {enter}
send {tab 9}
send {enter}%Colection% 
return

Button9:
Gui, Submit, NoHide
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 10}
send {enter}%Type% 
return

Button10:
Gui, Submit, NoHide
ApplicationsArr:={"ванной":13, "пол":14, "кухня":15}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . ApplicationsArr[Applications] . "}"
send {space}
return

Button11:
Gui, Submit, NoHide
DezignsArr:={"бетон":18, "волна":19, "дерево":20, "камень":21, "кантри":22, "мегаполис":23, "мрамор":24, "пачворк":25, "мозаику":26, "надпис":28, "орнамент":29, "фото":30}
send {click, 800, 200}
send {tab 7}
send {enter}
SendInput % "{Tab " . DezignsArr[Dezigns] . "}"
send {space}
return

Button11.:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 6}
send {enter}
send {tab 8}
send {enter}%Dezigns2%
return

Button13:
Gui, Submit, NoHide
ColorArr:={"беж":32, "бел":33, "голуба":34, "желтая":35, "зелена":36, "коричнева":37, "красная":38, "кремова":39, "микс":40, "оранжева":41, "розова":42, "светлая":43, "серая":44, "синяя":45, "сиреневая":46, "темна":47, "фиолетова":48, "хром":49, "черна":50}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . ColorArr[color] . "}"
send {space} 
return

Button13.:
Gui, Submit, NoHide
send {click, 800, 200}   
send {tab 9}
send {enter}
send {tab 9}
send {enter}
send {tab 5}
send {enter}%Color2% 
return

Button15:
Gui, Submit, NoHide
PolArr:={"глазурованная":63, "глянцева":64, "Лаппати":65, "матова":66,"полирована":67,"структурована":68}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . PolArr[Pol] . "}"
send {space}
return

Button15.:
Gui, Submit, NoHide
send {click, 800, 200}    
send {tab 9}
send {enter}
send {tab 11}
send {enter}
send {tab 3}
send {enter}%Pol2%
return

Button17:
Gui, Submit, NoHide
FromArr:={"германия":70, "египет":71, "испания":72, "италия":73,"китай":75,"польша":76, "португалия":77, "россия":78, "украина":79}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . FromArr[From] . "}"
send {space}
return

Button17.:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 10}
send {enter}
send {tab 4}
send {enter}%From2%
return

ButtonСоздать:
Gui, Submit, NoHide
send {click, 800, 200}
send {tab 17}
send %Name%^a^c^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v+{tab}+{tab}+{tab}+{tab}+{tab}+{tab}{enter}{tab}^a^v{tab}{tab}{tab}{tab}^a^v{tab}^a^v
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 9}
send %Model%
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 10}
send %Unit%
sleep 50
send {click, 800, 200}
send {tab 6}{enter}{tab 14}%Price%
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 22}
send %Image%{tab}%Image%
sleep 50
send {click, 800, 200}
send {tab 6}
send {enter}
send {tab 25}
send %Size%
sleep 50
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 8}
send {enter}
send {tab 6}
send {enter}%Size2%  
sleep 50
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 8}
send {enter}%Master% 
sleep 50
send {click, 800, 200}
send {tab 7}
send {enter}
send {tab 9}
send {enter}%Colection% 
sleep 50
send {click, 800, 200} 
send {tab 7}
send {enter}
send {tab 10}
send {enter}%Type%  
sleep 50
ApplicationsArr:={"ванной":13, "пол":14, "кухня":15}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . ApplicationsArr[Applications] . "}"
send {space}
sleep 50
DezignsArr:={"бетон":18, "волна":19, "дерево":20, "камень":21, "кантри":22, "мегаполис":23, "мрамор":24, "пачворк":25, "мозаику":26, "надпис":28, "орнамент":29, "фото":30}
send {click, 800, 200}
send {tab 7}
send {enter}
SendInput % "{Tab " . DezignsArr[Dezigns] . "}"
send {space} 
sleep 50
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 6}
send {enter}
send {tab 8}
send {enter}%Dezigns2% 
sleep 50
ColorArr:={"беж":32, "бел":33, "голуба":34, "желтая":35, "зелена":36, "коричнева":37, "красная":38, "кремова":39, "микс":40, "оранжева":41, "розова":42, "светлая":43, "серая":44, "синяя":45, "сиреневая":46, "темна":47, "фиолетова":48, "хром":49, "черна":50}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . ColorArr[color] . "}"
send {space}   
sleep 50
send {click, 800, 200}   
send {tab 9}
send {enter}
send {tab 9}
send {enter}
send {tab 5}
send {enter}%Color2% 
sleep 50
PolArr:={"глазурованная":63, "глянцева":64, "Лаппати":65, "матова":66,"полирована":67,"структурована":68}
send {click, 800, 200}    
send {tab 7}
send {enter}
SendInput % "{Tab " . PolArr[Pol] . "}"
send {space} 
sleep 50
send {click, 800, 200}    
send {tab 9}
send {enter}
send {tab 11}
send {enter}
send {tab 3}
send {enter}%Pol2%
sleep 50
FromArr:={"германия":70, "египет":71, "испания":72, "италия":73,"китай":75,"польша":76, "португалия":77, "россия":78, "украина":79}
send {click, 800, 200} 
send {tab 7}
send {enter}
SendInput % "{Tab " . FromArr[From] . "}"
send {space}
sleep 50
send {click, 800, 200}
send {tab 9}
send {enter}
send {tab 10}
send {enter}
send {tab 4}
send {enter}%From2%
sleep 50
; остальной код
Return 

+e::
send {tab 9}
send {enter}
send {tab 6}д
sleep, 550 
send {down}{enter}
send ^a{del}
send м
sleep, 550 
send {down}{down}{enter}
send ^a{del}
send ф
sleep, 550
send {down}{enter}
send ^a{del}
send ц
sleep, 550
send {down}{enter}
send ^a{del}
send с
sleep, 550
send {down}{enter}
send ^a{del}
send п
sleep, 550
send {down}{enter}
return

И улучшил дизайн. Еще столкнулся с проблемой: нужно заменить буквы на код клавиши {vk**} но это со временем.

28

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Существует команда SetKeyDelay, определяющая "длительность нажатия" и паузы между посылаемыми командой Send клавишами.
SetKeyDelay [, Delay, PressDuration, Play]

Попробуйте поставить в начале скрипта

SetKeyDelay , 0, 0

Если не моможет - есть более "жёсткий" вариант:

SetKeyDelay, -1, -1

29 (изменено: niceice, 2014-12-12 16:31:58)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

Если не поможет - есть более "жёсткий" вариант:

SetKeyDelay, -1, -1

Не знаю что делает этот  "жёсткий" варинт но все проставилось великолепно и мгновенно. Спасибо!

30

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

offtop: А почему тема помечена как важная?

31

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

niceice пишет:

Не знаю что делает этот  "жёсткий" варинт но все проставилось великолепно и мгновенно. Спасибо!

Согласно документации 0 – наименьшая возможная пауза, -1 – отсутствие паузы вообще.

Поехали дальше... Для чего Вы создали много маленьких кнопок 1 ... 17 ?

32 (изменено: niceice, 2014-12-12 17:09:42)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

.

Поехали дальше... Для чего Вы создали много маленьких кнопок 1 ... 17 ?



Иногда нужно вставить только 1 параметр не запуская весь скрипт и всю цепочку поэтому если я хочу проставить только "цвет" или только "дизайн" потому что в товаре все идентично, а отличается только цветом или дизайном. Тоисть маленькая кнопка запускает одиночный скрипт параметра который привязан к строке GUI. Проблему с проставлением 1 параметра решил, а вот проблему- если в товаре нет дизайна и его не надо проставлять то надо либо вручную всьо ставить или сделать фикс скрипта - если строка не заполнена то скрипт который привязан к GUI сроке не будет выполняться.

33

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

niceice пишет:

если в товаре нет дизайна и его не надо проставлять
...
если строка не заполнена то скрипт который привязан к GUI сроке не будет выполняться

Я немного допилил

+ код скрипта

+^d::
Gui, Add, Text, x2 y3 w80 h20 , 1.Название
Gui, Add, Edit, gSub0 x92 y3 w140 h20 vName, 
Gui, Add, Text, x2 y33 w80 h20 , 2.Модель
Gui, Add, Edit, gSub0 x92 y33 w140 h20 vModel, 
Gui, Add, Text, x2 y63 w80 h20 , 3.Юнит
Gui, Add, DropDownList, gSub0 x92 y63 w140 h20 vUnit, м2|шт|комплект
Gui, Add, Text, x2 y93 w80 h20 , 4.Цена
Gui, Add, Edit, gSub0 x92 y93 w140 h20 vPrice, 
Gui, Add, Text, x2 y123 w80 h20 , 5.Картинка
Gui, Add, Edit, gSub0 x92 y123 w140 h20 vImage, data/02,06,14/79/
Gui, Add, Text, x2 y153 w80 h20 , 6.Размер
Gui, Add, Edit, gSub0 x92 y153 w140 h20 vSize, 
Gui, Add, Text, x2 y183 w80 h20 , 6.Размер2
Gui, Add, Edit, gSub0 x92 y183 w140 h20 vSize2, 
Gui, Add, Text, x2 y213 w90 h20 , 7.Производител
Gui, Add, Edit, gSub0 x92 y213 w140 h20 vMaster, 
Gui, Add, Text, x2 y243 w90 h20 , 8.Колекция
Gui, Add, Edit, gSub0 x92 y243 w140 h20 vColection, 
Gui, Add, Text, x2 y273 w90 h20 , 9.Вид плитки
Gui, Add, DropDownList, gSub0 x92 y273 w140 h20 vType, плитка|декор|фриз|панно
Gui, Add, Text, x262 y3 w100 h20 , 10.Вид приминения
Gui, Add, DropDownList, gSub0 x362 y3 w140 h20 vApplications, ванной|пол|кухня
Gui, Add, Text, x262 y33 w100 h20 , 11.Дизайн
Gui, Add, DropDownList, gSub0 x362 y33 w140 h20 vDezigns, бетон|волна|дерево|камень|кантри|мегаполис|мрамор|пачворк|мозаику|надпис|орнамент|фото
Gui, Add, Text, x262 y63 w90 h20 , 11.Дизайн2
Gui, Add, DropDownList, gSub0 x362 y63 w140 h20 vDezigns2, бетон|волна|дерево|камень|кантри|мегаполис|мрамор|пачворк|мозаику|надпис|орнамент|фото
Gui, Add, Text, x262 y93 w100 h20 , 12.Цвет
Gui, Add, DropDownList, gSub0 x362 y93 w140 h20 vColor, беж|бел|голуба|желтая|зелена|коричнева|красная|кремова|микс|оранжева|розова|светлая|серая|tooltip|сиреневая|темна|фиолетова|хром|черна
Gui, Add, Text, x262 y123 w100 h20 , 12.Цвет2
Gui, Add, DropDownList, gSub0 x362 y123 w140 h20 vColor2, беж|бел|голуба|желтая|зелена|коричнева|красная|кремова|микс|оранжева|розова|светлая|серая|tooltip|сиреневая|темна|фиолетова|хром|черна
Gui, Add, Text, x262 y153 w100 h20 , 13.Поверхность
Gui, Add, DropDownList, gSub0 x362 y153 w140 h20 vPol, глазурованная|глянцева|Лаппати|матова|полирована|структурована
Gui, Add, Text, x262 y183 w100 h20 , 13.Поверхность2
Gui, Add, DropDownList, gSub0 x362 y183 w140 h10 vPol2, глазурованная|глянцева|Лаппати|матова|полирована|структурована
Gui, Add, Text, x262 y213 w100 h20 , 14.Страна
Gui, Add, DropDownList, gSub0 x362 y213 w140 h20 vFrom, германия|египет|испания|италия|китай|польша|португалия|россия|украина
Gui, Add, Text, x262 y243 w100 h20 , 14.Страна2
Gui, Add, DropDownList, gSub0 x362 y243 w140 h20 vFrom2, германия|египет|испания|италия|китай|польша|португалия|россия|украина
Gui, Add, Button, gSub1  x232 y3   w20 h20 , 1
Gui, Add, Button, gSub2  x232 y33  w20 h20 , 2
Gui, Add, Button, gSub3  x232 y63  w20 h20 , 3
Gui, Add, Button, gSub4  x232 y93  w20 h20 , 4
Gui, Add, Button, gSub5  x232 y123 w20 h20 , 5
Gui, Add, Button, gSub6  x232 y153 w20 h20 , 6
Gui, Add, Button, gSub7  x232 y183 w20 h20 , 6.
Gui, Add, Button, gSub8  x232 y213 w20 h20 , 7
Gui, Add, Button, gSub9  x232 y243 w20 h20 , 8
Gui, Add, Button, gSub10 x232 y273 w20 h20 , 9
Gui, Add, Button, gSub11 x502 y3   w23 h20 , 10
Gui, Add, Button, gSub12 x502 y33  w23 h20 , 11
Gui, Add, Button, gSub13 x502 y63  w23 h20 , 11.
Gui, Add, Button, gSub14 x502 y93  w23 h20 , 13
Gui, Add, Button, gSub15 x502 y123 w23 h20 , 13.
Gui, Add, Button, gSub16 x502 y153 w23 h20 , 15
Gui, Add, Button, gSub17 x502 y183 w23 h20 , 15.
Gui, Add, Button, gSub18 x502 y213 w23 h20 , 17
Gui, Add, Button, gSub19 x502 y243 w23 h20 , 17.
Gui, Add, Button, x262 y273 w120 h20 , Отмена
Gui, Add, Button, x392 y273 w130 h20 , Создать
Gui, Show, x350 y192 h300 w532, Создание товара
Return


ButtonСоздать:
Loop, 19
GoSub, Sub%A_Index%
Return


Sub0:   ; Сохранение содержимого ЭУ в ассоциированные переменные
Gui, Submit, NoHide
Return

Sub1:   ; 1.Название ########################
If Name
Send {Click, 800, 200}{Tab 17}%Name%^a^c^a^v{Tab 4}^a^v{Tab}^a^v+{Tab 6}{Enter}{Tab}^a^v{Tab 4}^a^v{Tab}^a^v
Return

Sub2:   ; 2.Модель ########################
If Model
Send {Click, 800, 200}{Tab 6}{Enter}{Tab 9}%Model%
Return

Sub3:   ; 3.Юнит ########################
If Unit
Send {Click, 800, 200}{Tab 6}{Enter}{Tab 10}%Unit%
Return

Sub4:   ; 4.Цена ########################
If Price
Send {Click, 800, 200}{Tab 6}{Enter}{Tab 14}%Price%
Return

Sub5:   ; 5.Картинка ########################
If Image
Send {Click, 800, 200}{Tab 6}{Enter}{Tab 22}%Image%{Tab}%Image%
Return

Sub6:   ; 6.Размер ########################
If Size
Send {Click, 800, 200}{Tab 6}{Enter}{Tab 25}%Size%
Return

Sub7:   ; 6.Размер 2 ########################
If Size2
Send {Click, 800, 200}{Tab 9}{Enter}{Tab 8}{Enter}{Tab 6}{Enter}%Size2%  
Return

Sub8:   ; 7.Производител ########################
If Master
Send {Click, 800, 200}{Tab 7}{Enter}{Tab 8}{Enter}%Master% 
Return

Sub9:   ; 8.Коллекция ########################
If Colection
Send {Click, 800, 200}{Tab 7}{Enter}{Tab 9}{Enter}%Colection% 
Return

Sub10:   ; 9.Вид плитки ########################
If Type
Send {Click, 800, 200}{Tab 7}{Enter}{Tab 10}{Enter}%Type% 
Return

Sub11:   ; 10.Вид применения ########################
If Applications
{
ApplicationsArr:={"ванной":13, "пол":14, "кухня":15}
Send {Click, 800, 200}{Tab 7}{Enter}
Send % "{Tab " . ApplicationsArr[Applications] . "}"
Send {space}
}
Return

Sub12:   ; 11.Дизайн ########################
If Dezigns
{
DezignsArr:={"бетон":18, "волна":19, "дерево":20, "камень":21, "кантри":22, "мегаполис":23, "мрамор":24, "пачворк":25, "мозаику":26, "надпис":28, "орнамент":29, "фото":30}
Send {Click, 800, 200}
Send {Tab 7}
Send {Enter}
Send % "{Tab " . DezignsArr[Dezigns] . "}"
Send {space}
}
Return

Sub13:   ; 11.Дизайн2 ########################
If Dezigns2
Send {Click, 800, 200}{Tab 9}{Enter}{Tab 6}{Enter}{Tab 8}{Enter}%Dezigns2%
Return

Sub14:   ; 12.Цвет ########################
If Color
{
ColorArr:={"беж":32, "бел":33, "голуба":34, "желтая":35, "зелена":36, "коричнева":37, "красная":38, "кремова":39, "микс":40, "оранжева":41, "розова":42, "светлая":43, "серая":44, "синяя":45, "сиреневая":46, "темна":47, "фиолетова":48, "хром":49, "черна":50}
Send {Click, 800, 200}{Tab 7}{Enter}
Send % "{Tab " . ColorArr[color] . "}"
Send {space}
}
Return

Sub15:   ; 12.Цвет2 ########################
If Color2
Send {Click, 800, 200}{Tab 9}{Enter}{Tab 9}{Enter}{Tab 5}{Enter}%Color2% 
Return

Sub16:   ; 13.Поверхность ########################
If Pol
{
PolArr:={"глазурованная":63, "глянцева":64, "Лаппати":65, "матова":66,"полирована":67,"структурована":68}
Send {Click, 800, 200}{Tab 7}{Enter}
Send % "{Tab " . PolArr[Pol] . "}"
Send {space}
}
Return

Sub17:   ; 13.Поверхность2 ########################
If Pol2
Send {Click, 800, 200}{Tab 9}{Enter}{Tab 11}{Enter}{Tab 3}{Enter}%Pol2%
Return

Sub18:   ; 14.Страна ########################
If From
{
FromArr:={"германия":70, "египет":71, "испания":72, "италия":73,"китай":75,"польша":76, "португалия":77, "россия":78, "украина":79}
Send {Click, 800, 200}{Tab 7}{Enter}
Send % "{Tab " . FromArr[From] . "}"
Send {space}
}
Return

Sub19:   ; 14.Страна2 ########################
If From2
Send {Click, 800, 200}{Tab 9}{Enter}{Tab 10}{Enter}{Tab 4}{Enter}%From2%
Return


+e::
Send {Tab 9}
Send {Enter}
Send {Tab 6}д
sleep, 550 
Send {down}{Enter}
Send ^a{del}
Send м
sleep, 550 
Send {down}{down}{Enter}
Send ^a{del}
Send ф
sleep, 550
Send {down}{Enter}
Send ^a{del}
Send ц
sleep, 550
Send {down}{Enter}
Send ^a{del}
Send с
sleep, 550
Send {down}{Enter}
Send ^a{del}
Send п
sleep, 550
Send {down}{Enter}
Return

Каждый блок вынесен в отдельную подпрограмму. Кнопки 1...17 ведут к их выполнению. При нажатии кнопки "Создать" запускается цикл выполнения всех подпрограмм. Проверяется содержимое переменных, если оно пустое - подпрограмма сразу завершается.


Далее у меня возник вопрос - зачем нужны ^a^c^a^v ?

34 (изменено: niceice, 2014-12-12 22:18:14)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

[
Далее у меня возник вопрос - зачем нужны ^a^c^a^v ?


Это должно было быть после первого ввода из строки GUI в строку Opencart . То есть из строки GUI  %name% вводилось в строку Opencart ^А ^С - копирования введенного и ^а^v . Это старая версия. Это прошлое.

35 (изменено: niceice, 2014-12-12 22:17:22)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

В настоящее время все работает моментально и не видно действий как в моих версиях. Недостатком является большая скорость или пропуск команды {click} что ведет к полному краху и перехода на другие страницы и сбивает форму заполнения. Со временем что-нибудь придумаю, все отдельные подпрограммы работают без сбоя. Остается только добавить модуль изменения цены "/, * на курс валюты и +, - процент" (код представлен ниже), а сам скрипт "исполнитель" не знаю как написать.

Gui, Add, DropDownList, x112 y93 w30 h20 , /|*
Gui, Add, Edit, x142 y93 w30 h20 vValuta
Gui, Add, DropDownList, x172 y93 w30 h21 , +|-
Gui, Add, Edit, x202 y93 w30 h20 vProc

36

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

niceice пишет:

Еще столкнулся с проблемой: нужно заменить буквы на код клавиши {vk**} но это со временем.

AutoHotkey: Начинающему разработчику - Печатаю виртуальными кодами

37

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Очень благодарен.

38 (изменено: ypppu, 2014-12-12 22:33:25)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

В настоящее время все работает моментально и не видно действий как в моих версиях.

Это хорошо, но если браузер не будет успевать за AutoHotkey, следует увеличить SetKeyDelay.

Недостатком является большая скорость или пропуск команды {click} что ведет к полному краху и перехода на другие страницы и сбивает форму заполнения.

Для этого существует аналогичная команда SetMouseDelay.

Остается только добавить модуль изменения цены

Нужно описать поподробнее, что это и как должно выглядеть и работать.

Добавлено:
Каким образом скрипт переходит от окна GUI к окну Chrome? Существуют команды ControlClick и ControlSend чтобы не переключаться между окнами.

39 (изменено: niceice, 2014-12-12 22:49:57)

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

Нужно описать поподробнее, что это и как должно выглядеть и работать.

Вид в GUI:

Gui, Add, DropDownList, x112 y93 w30 h20 , /|*
Gui, Add, Edit, x142 y93 w30 h20 vValuta
Gui, Add, DropDownList, x172 y93 w30 h21 , +|-
Gui, Add, Edit, x202 y93 w30 h20 vProc

Написана цена в строку GUI (№4) умножается, делится на курс валюты и добавляется, вычитается процент, сумма которая получилась ссылается в форму ввода Opencart.
Полный вид скрипта с модулем "калькулятор".
https://pp.vk.me/c623217/v623217742/d27c/KbDfsZEjpZ8.jpg

+ открыть спойлер
+^vk44::
Gui, Add, Text, x2 y3 w80 h20 , 1.Название
Gui, Add, Edit, gSub0 x92 y3 w140 h20 vName, 
Gui, Add, Text, x2 y33 w80 h20 , 2.Модель
Gui, Add, Edit, gSub0 x92 y33 w140 h20 vModel, 
Gui, Add, Text, x2 y63 w80 h20 , 3.Юнит
Gui, Add, DropDownList, gSub0 x92 y63 w140 h20 vUnit, м2|шт|комплект
Gui, Add, Text, x2 y93 w40 h20 , 4.Цена
Gui, Add, Edit, x62 y93 w50 h20 gSub0 vPrice, 
Gui, Add, Text, x2 y123 w80 h20 , 5.Картинка
Gui, Add, Edit, gSub0 x92 y123 w140 h20 vImage, data/02,06,14/79/
Gui, Add, Text, x2 y153 w80 h20 , 6.Размер
Gui, Add, Edit, gSub0 x92 y153 w140 h20 vSize, 
Gui, Add, Text, x2 y183 w80 h20 , 6.Размер2
Gui, Add, Edit, gSub0 x92 y183 w140 h20 vSize2, 
Gui, Add, Text, x2 y213 w90 h20 , 7.Производител
Gui, Add, Edit, gSub0 x92 y213 w140 h20 vMaster, 
Gui, Add, Text, x2 y243 w90 h20 , 8.Колекция
Gui, Add, Edit, gSub0 x92 y243 w140 h20 vColection, 
Gui, Add, Text, x2 y273 w90 h20 , 9.Вид плитки
Gui, Add, DropDownList, gSub0 x92 y273 w140 h20 vType, плитка|декор|фриз|панно
Gui, Add, Text, x262 y3 w100 h20 , 10.Вид приминения
Gui, Add, DropDownList, gSub0 x362 y3 w140 h20 vApplications, ванной|пол|кухня
Gui, Add, Text, x262 y33 w100 h20 , 11.Дизайн
Gui, Add, DropDownList, gSub0 x362 y33 w140 h20 vDezigns, бетон|волна|дерево|камень|кантри|мегаполис|мрамор|пачворк|мозаику|надпис|орнамент|фото
Gui, Add, Text, x262 y63 w90 h20 , 11.Дизайн2
Gui, Add, DropDownList, gSub0 x362 y63 w140 h20 vDezigns2, бетон|волна|дерево|камень|кантри|мегаполис|мрамор|пачворк|мозаику|надпис|орнамент|фото
Gui, Add, Text, x262 y93 w100 h20 , 12.Цвет
Gui, Add, DropDownList, gSub0 x362 y93 w140 h20 vColor, беж|бел|голуба|желтая|зелена|коричнева|красная|кремова|микс|оранжева|розова|светлая|серая|tooltip|сиреневая|темна|фиолетова|хром|черна
Gui, Add, Text, x262 y123 w100 h20 , 12.Цвет2
Gui, Add, DropDownList, gSub0 x362 y123 w140 h20 vColor2, беж|бел|голуба|желтая|зелена|коричнева|красная|кремова|микс|оранжева|розова|светлая|серая|tooltip|сиреневая|темна|фиолетова|хром|черна
Gui, Add, Text, x262 y153 w100 h20 , 13.Поверхность
Gui, Add, DropDownList, gSub0 x362 y153 w140 h20 vPol, глазурованная|глянцева|Лаппати|матова|полирована|структурована
Gui, Add, Text, x262 y183 w100 h20 , 13.Поверхность2
Gui, Add, DropDownList, gSub0 x362 y183 w140 h10 vPol2, глазурованная|глянцева|Лаппати|матова|полирована|структурована
Gui, Add, Text, x262 y213 w100 h20 , 14.Страна
Gui, Add, DropDownList, gSub0 x362 y213 w140 h20 vFrom, германия|египет|испания|италия|китай|польша|португалия|россия|украина
Gui, Add, Text, x262 y243 w100 h20 , 14.Страна2
Gui, Add, DropDownList, gSub0 x362 y243 w140 h20 vFrom2, германия|египет|испания|италия|китай|польша|португалия|россия|украина
Gui, Add, Button, gSub1  x232 y3   w20 h20 , 1
Gui, Add, Button, gSub2  x232 y33  w20 h20 , 2
Gui, Add, Button, gSub3  x232 y63  w20 h20 , 3
Gui, Add, Button, gSub4  x232 y93  w20 h20 , 4
Gui, Add, Button, gSub5  x232 y123 w20 h20 , 5
Gui, Add, Button, gSub6  x232 y153 w20 h20 , 6
Gui, Add, Button, gSub7  x232 y183 w20 h20 , 6.
Gui, Add, Button, gSub8  x232 y213 w20 h20 , 7
Gui, Add, Button, gSub9  x232 y243 w20 h20 , 8
Gui, Add, Button, gSub10 x232 y273 w20 h20 , 9
Gui, Add, Button, gSub11 x502 y3   w23 h20 , 10
Gui, Add, Button, gSub12 x502 y33  w23 h20 , 11
Gui, Add, Button, gSub13 x502 y63  w23 h20 , 11.
Gui, Add, Button, gSub14 x502 y93  w23 h20 , 13
Gui, Add, Button, gSub15 x502 y123 w23 h20 , 13.
Gui, Add, Button, gSub16 x502 y153 w23 h20 , 15
Gui, Add, Button, gSub17 x502 y183 w23 h20 , 15.
Gui, Add, Button, gSub18 x502 y213 w23 h20 , 17
Gui, Add, Button, gSub19 x502 y243 w23 h20 , 17.
Gui, Add, DropDownList, x112 y93 w30 h20 , /|*
Gui, Add, Edit, x142 y93 w30 h20 vValuta
Gui, Add, DropDownList, x172 y93 w30 h21 , +|-
Gui, Add, Edit, x202 y93 w30 h20 vProc
Gui, Add, Button, x262 y273 w120 h20 , Отмена
Gui, Add, Button, x392 y273 w130 h20 , Создать
Gui, Show, x350 y192 h300 w532, Создание товара
Return


ButtonСоздать:
Loop, 19
GoSub, Sub%A_Index%
Return


Sub0:   ; Сохранение содержимого ЭУ в ассоциированные переменные
Gui, Submit, NoHide
Return

Sub1:   ; 1.Название ########################
SetKeyDelay, 0, 0
If Name
Send {Click, 800, 200}{Tab 5}{enter}{Tab 10}{enter}{Tab 2}^{vk41}%Name%{tab 4}^{vk41}%Name%{tab}^{vk41}%Name%+{tab 6}{enter}{tab}^{vk41}%Name%{tab 4}^{vk41}%Name%{tab}^{vk41}%Name%
Return

Sub2:   ; 2.Модель ########################
SetKeyDelay, 0, 0
If Model
Send {Click, 800, 200}{Tab 6}{Enter}{Tab 9}%Model%
Return

Sub3:   ; 3.Юнит ########################
SetKeyDelay, 0, 0
If Unit
Send {Click, 800, 200}{Tab 6}{Enter}{Tab 10}%Unit%
Return

Sub4:   ; 4.Цена ########################
SetKeyDelay, 0, 0
If Price
Send {Click, 800, 200}{Tab 6}{Enter}{Tab 14}%Price%
Return

Sub5:   ; 5.Картинка ########################
SetKeyDelay, 0, 0
If Image
Send {Click, 800, 200}{Tab 6}{Enter}{Tab 22}%Image%{Tab}%Image%
Return

Sub6:   ; 6.Размер ########################
SetKeyDelay, 0, 0
If Size
Send {Click, 800, 200}{Tab 6}{Enter}{Tab 25}%Size%
Return

Sub7:   ; 6.Размер 2 ########################
SetKeyDelay, 0, 0
If Size2
Send {Click, 800, 200}{Tab 9}{Enter}{Tab 8}{Enter}{Tab 6}{Enter}%Size2%  
Return

Sub8:   ; 7.Производител ########################
SetKeyDelay, 0, 0
If Master
Send {Click, 800, 200}{Tab 7}{Enter}{Tab 8}{Enter}%Master% 
Return

Sub9:   ; 8.Коллекция ########################
SetKeyDelay, 0, 0
If Colection
Send {Click, 800, 200}{Tab 7}{Enter}{Tab 9}{Enter}%Colection% 
Return

Sub10:   ; 9.Вид плитки ########################
SetKeyDelay, 0, 0
If Type
Send {Click, 800, 200}{Tab 7}{Enter}{Tab 10}{Enter}%Type% 
Return

Sub11:   ; 10.Вид применения ########################
SetKeyDelay, 0, 0
If Applications
{
ApplicationsArr:={"ванной":13, "пол":14, "кухня":15}
Send {Click, 800, 200}{Tab 7}{Enter}
Send % "{Tab " . ApplicationsArr[Applications] . "}"
Send {space}
}
Return

Sub12:   ; 11.Дизайн ########################
SetKeyDelay, 0, 0
If Dezigns
{
DezignsArr:={"бетон":18, "волна":19, "дерево":20, "камень":21, "кантри":22, "мегаполис":23, "мрамор":24, "пачворк":25, "мозаику":26, "надпис":28, "орнамент":29, "фото":30}
Send {Click, 800, 200}
Send {Tab 7}
Send {Enter}
Send % "{Tab " . DezignsArr[Dezigns] . "}"
Send {space}
}
Return

Sub13:   ; 11.Дизайн2 ########################
SetKeyDelay, 0, 0
If Dezigns2
Send {Click, 800, 200}{Tab 9}{Enter}{Tab 6}{Enter}{Tab 8}{Enter}%Dezigns2%
Return

Sub14:   ; 12.Цвет ########################
SetKeyDelay, 0, 0
If Color
{
ColorArr:={"беж":32, "бел":33, "голуба":34, "желтая":35, "зелена":36, "коричнева":37, "красная":38, "кремова":39, "микс":40, "оранжева":41, "розова":42, "светлая":43, "серая":44, "синяя":45, "сиреневая":46, "темна":47, "фиолетова":48, "хром":49, "черна":50}
Send {Click, 800, 200}{Tab 7}{Enter}
Send % "{Tab " . ColorArr[color] . "}"
Send {space}
}
Return

Sub15:   ; 12.Цвет2 ########################
SetKeyDelay, 0, 0
If Color2
Send {Click, 800, 200}{Tab 9}{Enter}{Tab 9}{Enter}{Tab 5}{Enter}%Color2% 
Return

Sub16:   ; 13.Поверхность ########################
SetKeyDelay, 0, 0
If Pol
{
PolArr:={"глазурованная":63, "глянцева":64, "Лаппати":65, "матова":66,"полирована":67,"структурована":68}
Send {Click, 800, 200}{Tab 7}{Enter}
Send % "{Tab " . PolArr[Pol] . "}"
Send {space}
}
Return

Sub17:   ; 13.Поверхность2 ########################
SetKeyDelay, 0, 0
If Pol2
Send {Click, 800, 200}{Tab 9}{Enter}{Tab 11}{Enter}{Tab 3}{Enter}%Pol2%
Return

Sub18:   ; 14.Страна ########################
SetKeyDelay, 0, 0
If From
{
FromArr:={"германия":70, "египет":71, "испания":72, "италия":73,"китай":75,"польша":76, "португалия":77, "россия":78, "украина":79}
Send {Click, 800, 200}{Tab 7}{Enter}
Send % "{Tab " . FromArr[From] . "}"
Send {space}
}
Return

Sub19:   ; 14.Страна2 ########################
SetKeyDelay, 0, 0
If From2
Send {Click, 800, 200}{Tab 9}{Enter}{Tab 10}{Enter}{Tab 4}{Enter}%From2%
Return
ypppu пишет:

Добавлено:
Каким образом скрипт переходит от окна GUI к окну Chrome? Существуют команды ControlClick и ControlSend чтобы не переключаться между окнами.

Прямым. Открываю окно браузера где страница заполнения товара, открываю скрипт ввожу данные, после привожу в действие скрипт.

40

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Открываю окно браузера где страница заполнения товара, открываю скрипт ввожу данные, после привожу в действие скрипт.

Получается, скрипт начинает посылать нажатия в окно GUI. Как это может надёжно работать?


Написана цена в строку GUI (№4) умножается, делится на курс валюты и добавляется, вычитается процент, сумма которая получилась ссылается в форму ввода Opencart.

Лучше в виде формул и с примерами.

41

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

Открываю окно браузера где страница заполнения товара, открываю скрипт ввожу данные, после привожу в действие скрипт.

Получается, скрипт начинает посылать нажатия в окно GUI. Как это может надёжно работать?


Нажатия мышки (в начале скрипта) переводит действия в окно браузера, так как окно скрипта поверх окна браузера.

42

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Грамотно переключаться в другое окно - с помощью команды WinActivate. Плюс ещё есть две команды, я выше писал. Это если нужно видеть, что происходить в браузере.

Если не нужно видеть, что происходить в браузере, логичнее заменить Click на ControlClick и Send на ControlSend.

43

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

Грамотно переключаться в другое окно - с помощью команды WinActivate. Плюс ещё есть две команды, я выше писал. Это если нужно видеть, что происходить в браузере.

Если не нужно видеть, что происходить в браузере, логичнее заменить Click на ControlClick и Send на ControlSend.

К сожалению я не знаю этих функций и что они делают, то все что я сделал я делал из примеров которые видел.

44

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Вроде как ТС намекали, что для такой автоматизации нужно пользовать IE, но он ни в какую. Клики и нажатия конечно хорошо, но смысл?, если даже нет возможности проверки правильности ввода в целевых полях. Вся гарантия в отклике браузера на нажатия, а это отсутствие гарантий.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

45

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Прочитать или скачать документацию можно здесь.

46

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

ypppu пишет:

Прочитать или скачать документацию можно здесь.

Спасибо. Выучу, переделаю и скину свой вариант.

47

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

serzh82saratov пишет:

Вроде как ТС намекали, что для такой автоматизации нужно пользовать IE, но он ни в какую. Клики и нажатия конечно хорошо, но смысл?, если даже нет возможности проверки правильности ввода в целевых полях. Вся гарантия в отклике браузера на нажатия, а это отсутствие гарантий.

У меня была идея вместо кликов и других негарантированных действий заменить вставку текста в фому заполнения по html коду формы ввода (что было бы гарантией выполнения действия, так как html  код имеет уникальное название), но я не нашел как это сделать. Поэтому я начал развивать идею с {tab} нажатием на окна.

48

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

Так надо было тему покурить, задать пару наводящих для начала...
А Вы имея ссылку и плюс напоминание про неё, продолжаете говорить что не нашли как это сделать. Я например совсем непонимаю такой логики. Объясните пожалуйста, как понять что Вы так и не нашли, при том что нашли за Вас, и Вам же предоставили?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

49

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

serzh82saratov пишет:

Так надо было тему покурить, задать пару наводящих для начала...
А Вы имея ссылку и плюс напоминание про неё, продолжаете говорить что не нашли как это сделать. Я например совсем непонимаю такой логики. Объясните пожалуйста, как понять что Вы так и не нашли, при том что нашли за Вас, и Вам же предоставили?


Буду писать прямо. Если мне и дали ссылку и я не смог того постичь и понять только потому что я не понимал что там написано и о чем там идет речь и что я могу оттуда взять для своей идеи. Все что я знаю с AHK это GUI(как создать) и send. И такой человек как вы имеющий статус разработчика не поняли что общаетесь с недалеким человеком в области программирования AHK. Ваши комментарии в моих темах ничем мне не помогли только заставили меня закрыть тему с html и начать учить GUI и когда я сделал готовую программу с помощью ypppu чьи советы и помощь дали большой вклад в мою идею и он дает понятную "пищу" для такого чайника как я и как это сделать. А вы осыпали экскрементами мою тему с html и когда я сделал уже тему с {tab} вы всеравно вставляете свои 5 копеек и мешаете мне своими пустыми информации сообщениями в теме.

50

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

niceice пишет:

Буду писать прямо.

+ Хорошо.

Если мне и дали ссылку и я не смог того постичь и понять только потому что я не понимал что там написано и о чем там идет речь и что я могу оттуда взять для своей идеи.

Так дело тут в том, что Вам человек (не Я) пытаясь помочь, что-то посоветовал, а Вы даже не сказали спасибо, и не понимая про что это (как новичок, а не как недалекий человек), даже не захотели уточнить - а про что эта ссылка.

Все что я знаю с AHK это GUI(как создать) и send

Я знаю что тот пример не для совсем новичка (но только если без объяснений). Но помилуйте, когда чихают - говорят будьте здоровы, когда помогают то в обществе принято говорить спасибо.
Ну а если вы знаете только GUI и send, то так и говорите что - знать ничего другого не хочу, а намёки на другие методы решения ТЗ будут игнорится либо приравнены к метанию фекалий через вентилятор. Поверьте, тогда Я бы ни в коем случае не посмел бы отвлечь хоть на секунду Ваше драгоценное внимание.

не поняли что общаетесь с недалеким человеком

Вот теперь понял.

А вы осыпали экскрементами мою тему

О пардон, Вы главное не переживайте, оно того не стоит.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

51

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

niceice, просто поражают твои гигантские скрипты - с отсутствием функционала...
Останови, свой "конвейер барахла" - потрать то же время, на теорию.

Теория это не то, что написано в http://www.script-coding.com/AutoHotkeyTranslation.html.
Теория это то, что ты будешь строить в голове (хотя бы на базе тех статей).
А ты, по видимому, начинаешь писать скрипт - не зная чем он закончится...

А по работе, для начала пойми - за день, ты не напишешь с ноля - 100% функционала/работоспособности (от того, что ты хочешь). За день, такой объём даже не "обкатать" (фикс багов + доработка).
Попробуй, для начала, кодировать + каталогизировать, весь объём наименований (на свой лад). Затем - ты уже сможешь распоряжаться этим объёмом, более "гибко". А там (возможно), уже подключишь - сторонние программы (может какие web-редакторы понадобятся). Ну а дальше - пошло-поехало...
Но для результата, опять же - нужна "твёрдая" теория.

Речь не о том, что ты безнадёжный. Речь о том, что ты топчешься "у двери" - которую, даже не видишь...

0. Сбрасывай "вёсла", снимай "броню".
1. Перестань тратить время, на скрипты с отрицательным КПД.
2. Читай http://www.script-coding.com/AutoHotkeyTranslation.html.
3. Думай.
4. А потом уже - пиши конкретные скрипты/программы, под конкретные цели/задачи.
5. Ну и удачи.

Уравнение абсолютной прогрессии:
|0| Однажды, я осознал - мои знания ровны нолю...
|1| С тех пор, ноль - бесконечно, стремиться к бесконечности...

52

Re: AHK: объединение скрипта "исполнителя" с GUI строками ввода

<IvanSan> пишет:

niceice, просто поражают твои гигантские скрипты - с отсутствием функционала...
Останови, свой "конвейер барахла" - потрать то же время, на теорию.

Теория это не то, что написано в http://www.script-coding.com/AutoHotkeyTranslation.html.
Теория это то, что ты будешь строить в голове (хотя бы на базе тех статей).
А ты, по видимому, начинаешь писать скрипт - не зная чем он закончится...

А по работе, для начала пойми - за день, ты не напишешь с ноля - 100% функционала/работоспособности (от того, что ты хочешь). За день, такой объём даже не "обкатать" (фикс багов + доработка).
Попробуй, для начала, кодировать + каталогизировать, весь объём наименований (на свой лад). Затем - ты уже сможешь распоряжаться этим объёмом, более "гибко". А там (возможно), уже подключишь - сторонние программы (может какие web-редакторы понадобятся). Ну а дальше - пошло-поехало...
Но для результата, опять же - нужна "твёрдая" теория.

Речь не о том, что ты безнадёжный. Речь о том, что ты топчешься "у двери" - которую, даже не видишь...

0. Сбрасывай "вёсла", снимай "броню".
1. Перестань тратить время, на скрипты с отрицательным КПД.
2. Читай http://www.script-coding.com/AutoHotkeyTranslation.html.
3. Думай.
4. А потом уже - пиши конкретные скрипты/программы, под конкретные цели/задачи.
5. Ну и удачи.


Спасибо за советы и правильное их выполнение, но проблема что времени учить все просто напросто некогда. Работа ? семья ? спать и по кругу, этот скрипт я писал на роботе, всего потратил 3 дня рабочего времени что дало плоды хоть какие-то, а изучить всю теорию трудно, учить маленькими частями толку нет надо большим объемом учить но на него нужно много времени что я себе позволить не могу, учить отдельные части касающиеся моей идеи нет смысла потому что я не знаю что мне пригодится. На мой уровень знаний меня пока устраивает мой скрипт с его кпд, но со временем я выучу все, потому что в наше время и будущем этот AHK пригодится во всем что будет, поэтому это моя идеяфикс изучить все но банально некогда. Надеюсь скоро порадую своими корректными работами. Еще раз спасибо всем кто потратил свои нервы на мои прихоти непонятны.