1 (изменено: denis_hazov, 2023-04-19 21:30:37)

Тема: AHK: Управление программой

Здравствуйте, есть программа в которую я целыми днями ввожу разные значения. Меня так утомило нажимать одни и те же кнопки миллион раз. Хочется немного автоматизировать процесс. План действий примерно такой:
1) После запуска скрипта при нажатии кнопки "=" должно открыться окно ввода значения. Я ввожу туда значение и нажимаю допустим "Ок".
2) Значение вставляется в определенную ячейку в программе (ячейку пометил галочкой и цифрой "1" на скрине 1).
3) Далее нажимается кнопка "записать" (пометил галочкой и цифрой "2" на скрине 1).
4) Далее открывается вкладка "измерения" (пометил галочкой и цифрой "3" на скрине 1).
5) Последним действием нажимается кнопка "Е" (пометил галочкой и цифрой "4" на скрине 2).
Возможно ли такое сделать? Положение окна статичное и может быть перенесено в любое место на экране. Запускать буду на Windows 7.

Post's attachments

1.JPG 66.44 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

2 (изменено: denis_hazov, 2023-04-19 21:29:09)

Re: AHK: Управление программой

Второй скрин.

Post's attachments

2.JPG 39.64 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

3

Re: AHK: Управление программой

denis_hazov пишет:

Возможно ли такое сделать?

Вполне.

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

4

Re: AHK: Управление программой

teadrinker
Если бы мне кто-то с этим помог, был бы очень благодарен. До этого не сталкивался с автохоткеем. Но почитав мануал понял, что функций у него миллион.

5

Re: AHK: Управление программой

У нас есть специальный раздел для этого: Коммерческий раздел. В данном же разделе обсуждаются конкретные вопросы по программированию на AHK.

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

6

Re: AHK: Управление программой

Если имеется желание разобраться, почитайте про команду Control:

Control, SubCommand [, Value, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]

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

7

Re: AHK: Управление программой

Понял, Спасибо. Попробую разобраться. А не подскажите какая команда, чтобы появлялось поле для ввода значения мне необходимого. Если не разберусь, может тут уже кто-то готов помочь за денежку, чтобы не плодить темы.

8

Re: AHK: Управление программой

denis_hazov
Не надо стесняться задавать вопросы и "плодить темы", форум для этого и существует. Но нужно различать вопросы "План действий примерно такой" и "как сделать, чтобы происходило то-то и то-то". Первый тип подразумевает, чтобы отвечающий сделал что-то полностью за вас, второй — желание разобраться самостоятельно. В первом случае тоже можно получить ответ (бесплатно), но только если отвечающему будет реально интересно этим заняться. А так как подобные вопросы обычно исходят от новичков, то и заинтересовать они могут тоже только такого же новичка, что будет накладывать ограничения на качество ответа.

denis_hazov пишет:

какая команда, чтобы появлялось поле для ввода значения мне необходимого

Смотрите InputBox.

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

9

Re: AHK: Управление программой

InputBox, OutputVar
MsgBox, Вы ввели %OutputVar%

10 (изменено: denis_hazov, 2023-04-21 23:34:30)

Re: AHK: Управление программой

Здравствуйте, почитав понял, что InputBox мне не совсем подходит. Максимально подумав об удобстве понял, что окно со значением, которое я ввожу мне нужно на все время работы. Плюс накидал еще пару кнопок. Нарисовал для себя макет. Нужный принцип работы: Изначально ввожу значение в окно под номером "1". Для примера это "1000". Далее нажимаю кнопку "5" и значение отправляется куда мне нужно и я вижу необходимое мне число в программе (это потом, сейчас интерфейс). После того как я увидел результат, я уже не ввожу заново значение в поле "1", а просто ввожу нужный мне шаг в поле "2" с названием "Шаг частоты", например "10" и нажимая кнопки "3" и "4" увеличиваю или уменьшаю соответственно число в поле "1" на цифру "10", далее опять нажимаю кнопку "5" и все по кругу. В общем я думаю мне в этом поможет GUI, все верно? Пока у меня вызывает страх только кнопки "3" и "4", это реализуемо?  Как добьюсь работы этого интерфейса и на выходе при нажатии кнопки "5" получать нужные цифры, начну двигаться дальше. Всем спасибо!

Post's attachments

макет.jpg 33.44 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

11

Re: AHK: Управление программой

Получилось вот так . Как теперь запрограммировать функции кнопок? Как вообще описывается это в GUI? Мне здесь будто цикл нужен, чтобы при каждом нажатии, например, стрелочки вверх, бралось значение "Частота" плюсовалось значение "Шаг частоты" и записывалось снова в ячейку "Частота". Наверно много я хочу от AHK . Само сложение наверно можно вот так выполнить:

Itog:=Round(Shag+Chastota)  ;


Ну это чисто в моих мечтах. Никогда не программировал. Ищу подобные ситуации.

Post's attachments

окно.JPG
окно.JPG 14.57 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

12

Re: AHK: Управление программой

denis_hazov
Вместо скриншота окна советую писать его код, тогда отвечающим будет проще.

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

13 (изменено: denis_hazov, 2023-04-22 02:12:34)

Re: AHK: Управление программой

teadrinker пишет:

denis_hazov
Вместо скриншота окна советую писать его код, тогда отвечающим будет проще.

Это без проблем. Просто позорно выглядит код, не все еще параметры знаю, пишу методом тыка. Вот он:

Gui, Add, Text, Частота:
Gui, Add, Edit, vChastota ; 
Gui, Add, Button, Default x140 y24, Отправить значение ;  
Gui, Add, Text, xm, Шаг частоты  ;
Gui, Add, Edit, vShag ;
Gui, Add, Button, Default x140 y60,  Ʌ ;
//itog:=Round(Shag+Chastota) ; Нужно чтобы эта часть работала по нажатию клавиши Ʌ, как бы выделить ее в отдельный цикл.
//Chastota:=itog ;
Gui, Add, Button, Default, V ;
Gui, Show,, Simple Input Example
return ;

14

Re: AHK: Управление программой

Этот код выдаёт ошибку при запуске. В AHK не нужно каждую строку завершать точкой с запятой, точка с запятой только для комментариев. А вот // для комментария не используется.

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

15 (изменено: ypppu, 2023-04-22 10:49:55)

Re: AHK: Управление программой

Сначала при создании GUI заводите в скрипте 2 переменных: пусть за частоту отвечает Fr, а за шаг частоты Fr_step. Затем на каждую кнопку-стрелочку вешаете подпрограмму:

При нажатии "стрелочка вверх":
считать текущее значение Fr;
считать текущее значение Fr_step;
к текущей Fr прибавляется величина Fr_step;
обновить показания в поле "Частота".

При нажатии "стрелочка вниз":
считать текущее значение Fr;
считать текущее значение Fr_step;
из текущей Fr вычесть величину Fr_step;
обновить показания в поле "Частота".

16

Re: AHK: Управление программой

teadrinker

Gui, Add, Text, , Частота:
Gui, Add, Edit, vFr  
Gui, Add, Button, Default x140 y24, Отправить значение   
Gui, Add, Text, xm, Шаг частоты  
Gui, Add, Edit, vFr_step 
Gui, Add, Button, Default x140 y60,  Ʌ 
Gui, Add, Button, Default, V 
Gui, Show,, Simple Input Example
return  
Gui, Submit 
ExitApp

Вот поправил, запятую пропустил.

17

Re: AHK: Управление программой

denis_hazov

Вроде как-то так должно выйти, если всё верно понял:

Gui +LastFound +AlwaysOnTop
Gui, Add, Text,, Частота:
Gui, Add, Edit, vFr w30, 1
Gui, Add, Button, gOk Default x140 y24, Отправить значение
Gui, Add, Text, xm, Шаг частоты
Gui, Add, Edit, vFr_step w30, 2
Gui, Add, Button, gSW x140 y60,  Ʌ
Gui, Add, Button, gSW, V
Gui, Show,, Simple Input Example
Return

SW:
Gui, Submit, NoHide
GuiControl,, Fr, % (Fr += (A_GuiControl = "Ʌ" ? Fr_step : -Fr_step))
Return

Ok:
Gui, Hide
Sleep, 100
GuiControlGet, Fr
SendInput, % Fr
Sleep, 100
Gui, Show
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

18 (изменено: denis_hazov, 2023-04-22 16:03:07)

Re: AHK: Управление программой

__Михаил__
Чудеса просто, честно. Я 3 часа сидел мучался, смог найти как функцию кнопки начать писать и пытался сидеть тыкать. Но складывать никак не получалось, а тут и плюс и минус работает и значение возвращает. Вот как я мог такую чудо строчку написать?

GuiControl,, Fr, % (Fr += (A_GuiControl = "Ʌ" ? Fr_step : -Fr_step))

Я даже не понимаю как она одновременно и прибавляет и убавляет.

19

Re: AHK: Управление программой

denis_hazov
Если разбирать всё по порядку как написал ypppu будет много строк. Я просто сократил до минимума. Рад что всё работает.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

20

Re: AHK: Управление программой

__Михаил__, да, только Ваш вариант не для новичков.

21

Re: AHK: Управление программой

denis_hazov
Кстати, если вы новичок, то стоило бы изучать сразу вторую версию AHK, первая является уже устаревшей и обновляться больше не будет.

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

22

Re: AHK: Управление программой

teadrinker
Именно, пару дней назад узнал, что такое AHK. Всем спасибо, хоть какая-то рабочая версия уже есть, осталось  модернизировать со временем.

23 (изменено: serzh82saratov, 2023-04-23 10:14:40)

Re: AHK: Управление программой

UpDown ещё бывает.

Gui, Font, s16 
Gui, Add, Edit, Number vNumber x+0 yp w44 Section, 0
Gui, Add, UpDown, Horz x+1 yp w44 hp vMyUpDown gMyUpDown Range0-1 
Gui, Add, Edit, Number vStep w44 xs y+1, 1
Gui, Add, Text, x+1 yp, шаг
Gui, Show  
Return

MyUpDown:
	GuiControlGet MyUpDown
	GuiControlGet Number
	GuiControlGet Step
	GuiControl, , Number, % Number + (MyUpDown ? Step : -Step)      
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

24

Re: AHK: Управление программой

serzh82saratov
Да, читал про это, но не смог настроить шаг отличный от стандартного +1 -1, а так кнопочки удобные, спасибо.