1

Тема: AHK: GUI ввод и вывод цыфр с условием

Здарвствуйте, часто делаю рутиную работу с цыфрами и вспомнил о ахк.
В спойлере пример GUI с текстовыми полями

+ открыть спойлер
Gui, Add, Edit, x9 y2 w90 h20 , Edit1
Gui, Add, Edit, x9 y32 w90 h20 , Edit2
Gui, Add, Edit, x9 y62 w90 h20 , Edit3
Gui, Add, Edit, x9 y92 w90 h20 , Edit4
Gui, Add, Edit, x9 y122 w90 h20 , Edit5
Gui, Add, Edit, x9 y152 w90 h20 , Edit6
Gui, Add, Edit, x9 y182 w90 h20 , Edit7
Gui, Add, Edit, x9 y212 w90 h20 , Edit8
Gui, Add, Edit, x9 y242 w90 h20 , Edit9
Gui, Add, Edit, x9 y272 w90 h20 , Edit10
Gui, Add, Edit, x9 y302 w90 h20 , Edit11
Gui, Add, Edit, x9 y332 w90 h20 , Edit12

Gui, Show, x124 y84 h380 w150, New GUI Window
Return

GuiClose:
ExitApp

GUI сделал, а вот логику не знаю как прописать которая должна делать след.
В каждое поле ввода я ввожу цыфри по возростанию

Edit1 → 11
Edit2 →  25
Edit3 →  36
Edit4 →  38
Edit5 →  40
Edit6 →  50
Edit7 →  68
Edit8 →  80
Edit9 →  90
Edit10 → 100
Edit11 → 101
Edit12 → 110

Они всегда будут по возростанию и без повтора числа.
После того как я записал все числа, я нажимаю на сочетание клавиш любое(ALT+D к примеру)
И ахк начинает вывод цыфр (после того как я нажму на строку ввода в браузере (без проверки ахк есть ли так)) таким способом

11 {tab} и (число с троки Edit2 уменьшеное на 1 ) 24 {tab} (потом число с строки Edit2 ) 25 {tab}  (-1)35 {tab}.......

В итоге получеться так:

Edit1 → 11 {tab} 24 {tab}
Edit2 →  25 {tab} 35 {tab}
Edit3 →  36 {tab} 37 {tab}
Edit4 →  38 {tab} 39 {tab}
Edit5 →  40 {tab} 49 {tab}
Edit6 →  50 {tab} 67 {tab}
Edit7 →  68 {tab} 79 {tab}
Edit8 →  80 {tab} 89 {tab}
Edit9 →  90 {tab} 99 {tab}
Edit10 → 100 {tab} 100 {tab}
Edit11 → 101 {tab} 109 {tab}
Edit12 → 110 {tab} (сам ввести должен)

После каждего введеного числа нажимаеться {tab} для перехода к след. строке ввода в браузере куда вписываються числа.
Надеюсь я понятно пояснил.

2 (изменено: yalanne, 2016-07-17 08:29:00)

Re: AHK: GUI ввод и вывод цыфр с условием

SetKeyDelay, 10

obj := [11,25,36,38,40,50,68,80,90,100,101,110]

loop 12
	Gui, Add, Edit,% "yp+" (A_Index=1?2:30) " x9 w90 h20  vText" A_Index,% obj[A_Index]
Gui, Show, x124 y84 h380 w150, New GUI Window


Return

!vk44::    ;  "Alt+D"
Gui,Submit,NoHide
loop 12
{
	next := A_Index + 1
	Send % (Text%A_Index%) A_Tab
	if A_Index !=12
		send % (Text%Next% - 1) A_Tab
}

3 (изменено: niceice, 2016-07-18 05:20:32)

Re: AHK: GUI ввод и вывод цыфр с условием

yalanne
Спасибо, то что надо

А как сделать что бы при зажатом альт выделять цыфру и она вписывалась в едит по очереди?
к примеру есть у  меня цыфры как текст в браузере и я начинаю их выделять с зажатым альт:
выделил 7 и оно сразу записалось в Edit1,выделил 12 и оно сразу записалось в Edit2.... и так до Edit12, при нажатии хоткея альт+F очистить все поля.