1 (изменено: niceice, 2017-02-15 05:24:28)

Тема: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

Здравствуйте, появилась потребность в частом вычислении чисел, но так как процес длинный решил упростить.


1. Проблема первая в том что есть 10 вкладлок и в каждой вкладке должно быть 86 инпутов и для каждего прописать логику будет долго сложно и есть возможность ошибки. Предполагаю можно умножить инпуты по вкладкам(но не знаю как).

2. Как реализовать часть арифметического действия, но сначало поясню логику:

+ открыть спойлер
  • инпуты Name1\Name2 для того что бы вконце не запутаться

  • инпуты sam1\sam2 для введения чисел

  • строки от a1-a40(почему 40? потому что больше не будет, но может быть и меньше) с инпутами 1\2 (в дальнейшем A1\A2 D1\D2 )

  • Endsum1\Endsum2 для вывода результатов

  • calculate кнопка после нажатия которой выводиться расчет цыфр

Сам  процесс:

  • Ввожу название в  Name1\Name2

  • ввожу 1.3 в sam1 и 1.2 в sam2

  • ввожу цыфры в инпуты от a1 до a5 в столбец А1 ввожу 1 0 чередуя их через один, а в столбец D1 0 1 чередуя через один. Такое же делаю для правого столбцев А2 и D2

Пример:

+ photo exaple

https://pp.vk.me/c637926/v637926742/2f4bb/MpbmW8QMK1Y.jpg

      A1  D1           D2   A2 (да, сначало  D )
a1  1    0              1    0
a2  0    1              0    1
a3  1    0              1    0
a4  0    1              0    1
a5  1    0              1    0

P.S. 1 и 0 чисто для примера, там будут разные цифры (0 тоже).

После нажатия кнопки calculate  происходит процесс:

  • (a1,A1+a2,A1+a3,A1+a4,A1+a5,A1:(на количество заполненых полей) 5): (на число с инпута sam1) тоесть (1+0+1+0+1:5):1.3 = q1

  • (a1,D2+a2,D2+a3,D2+a4,D2+a5,D2:(на количество заполненых полей) 5): (на число с инпута sam1) тоесть (1+0+1+0+1:5):1.3 = q2

  • q1*q2*sam1= name1 - Endsum1

  • (a1,D1+a2,D1+a3,D1+a4,D1+a5,D1:(на количество заполненых полей) 5): (на число с инпута sam2) тоесть (1+0+1+0+1:10):1.3 = w1

  • (a1,A2+a2,A2+a3,A2+a4,A2+a5,A2:(на количество заполненых полей) 5): (на число с инпута sam2) тоесть (1+0+1+0+1:10):1.3 = w2

  • w1*w2*sam2= name2 - Endsum2

Проблема в том что бы оно всегда додавало только с тех инпутов в которых введено число и : на то же количество(в даном примере на 5), заполнено может быть как и 2 строки так и все 40.

Так как в AHK я не особо умен, то не знаю как реализовать функционал, если можно то наведите пример как реализовать:

  • (a1,A1+a2,A1+a3,A1+a4,A1+a5,A1:(на количество заполненых полей) 5): (на число с инпута sam1) тоесть (1+0+1+0+1:5):1.3 = q1

  • (a1,D2+a2,D2+a3,D2+a4,D2+a5,D2:(на количество заполненых полей) 5): (на число с инпута sam1) тоесть (1+0+1+0+1:5):1.3 = q2

  • q1*q2*sam1=Endsum1

Вот и сам GUI:

+ открыть спойлер
Gui, Add, Tab, x2 y-1 w960 h630 , Tab1|Tab2|Tab3|Tab4|tab5|tab6|tab7|tab8|tab9|tab10|pals
Gui, Tab, Tab1
Gui, Add, Edit, x32 y39 w340 h20 , name1
Gui, Add, Edit, x572 y39 w360 h20 , name2
Gui, Add, Edit, x32 y69 w340 h20 , sam1
Gui, Add, Edit, x572 y69 w360 h20 , sam2
Gui, Add, Edit, x52 y129 w30 h20 , 1
Gui, Add, Edit, x92 y129 w30 h20 , 2
Gui, Add, Edit, x52 y159 w30 h20 , 1
Gui, Add, Edit, x92 y159 w30 h20 , 2
Gui, Add, Edit, x52 y189 w30 h20 , 1
Gui, Add, Edit, x92 y189 w30 h20 , 2
Gui, Add, Edit, x52 y219 w30 h20 , 1
Gui, Add, Edit, x92 y219 w30 h20 , 2
Gui, Add, Edit, x52 y249 w30 h20 , 1
Gui, Add, Edit, x92 y249 w30 h20 , 2
Gui, Add, Edit, x52 y279 w30 h20 , 1
Gui, Add, Edit, x92 y279 w30 h20 , 2
Gui, Add, Edit, x52 y309 w30 h20 , 1
Gui, Add, Edit, x92 y309 w30 h20 , 2
Gui, Add, Edit, x52 y339 w30 h20 , 1
Gui, Add, Edit, x92 y339 w30 h20 , 2
Gui, Add, Edit, x52 y369 w30 h20 , 1
Gui, Add, Edit, x92 y369 w30 h20 , 2
Gui, Add, Edit, x52 y399 w30 h20 , 1
Gui, Add, Edit, x92 y399 w30 h20 , 2
Gui, Add, Edit, x52 y429 w30 h20 , 1
Gui, Add, Edit, x92 y429 w30 h20 , 2
Gui, Add, Edit, x52 y459 w30 h20 , 1
Gui, Add, Edit, x92 y459 w30 h20 , 2
Gui, Add, Edit, x52 y489 w30 h20 , 1
Gui, Add, Edit, x92 y489 w30 h20 , 2
Gui, Add, Edit, x52 y519 w30 h20 , 1
Gui, Add, Edit, x92 y519 w30 h20 , 2
Gui, Add, Edit, x52 y549 w30 h20 , 1
Gui, Add, Edit, x92 y549 w30 h20 , 2
Gui, Add, Edit, x182 y129 w30 h20 , 1
Gui, Add, Edit, x222 y129 w30 h20 , 2
Gui, Add, Edit, x182 y159 w30 h20 , 1
Gui, Add, Edit, x222 y159 w30 h20 , 2
Gui, Add, Edit, x182 y189 w30 h20 , 1
Gui, Add, Edit, x222 y189 w30 h20 , 2
Gui, Add, Edit, x182 y219 w30 h20 , 1
Gui, Add, Edit, x222 y219 w30 h20 , 2
Gui, Add, Edit, x182 y249 w30 h20 , 1
Gui, Add, Edit, x222 y249 w30 h20 , 2
Gui, Add, Edit, x182 y279 w30 h20 , 1
Gui, Add, Edit, x222 y279 w30 h20 , 2
Gui, Add, Edit, x182 y309 w30 h20 , 1
Gui, Add, Edit, x222 y309 w30 h20 , 2
Gui, Add, Edit, x182 y339 w30 h20 , 1
Gui, Add, Edit, x222 y339 w30 h20 , 2
Gui, Add, Edit, x182 y369 w30 h20 , 1
Gui, Add, Edit, x222 y369 w30 h20 , 2
Gui, Add, Edit, x182 y399 w30 h20 , 1
Gui, Add, Edit, x222 y399 w30 h20 , 2
Gui, Add, Edit, x182 y429 w30 h20 , 1
Gui, Add, Edit, x222 y429 w30 h20 , 2
Gui, Add, Edit, x182 y459 w30 h20 , 1
Gui, Add, Edit, x222 y459 w30 h20 , 2
Gui, Add, Edit, x182 y489 w30 h20 , 1
Gui, Add, Edit, x222 y489 w30 h20 , 2
Gui, Add, Edit, x182 y519 w30 h20 , 1
Gui, Add, Edit, x222 y519 w30 h20 , 2
Gui, Add, Edit, x182 y549 w30 h20 , 1
Gui, Add, Edit, x222 y549 w30 h20 , 2
Gui, Add, Edit, x302 y129 w30 h20 , 1
Gui, Add, Edit, x342 y129 w30 h20 , 2
Gui, Add, Edit, x302 y159 w30 h20 , 1
Gui, Add, Edit, x342 y159 w30 h20 , 2
Gui, Add, Edit, x302 y189 w30 h20 , 1
Gui, Add, Edit, x342 y189 w30 h20 , 2
Gui, Add, Edit, x302 y219 w30 h20 , 1
Gui, Add, Edit, x342 y219 w30 h20 , 2
Gui, Add, Edit, x302 y249 w30 h20 , 1
Gui, Add, Edit, x342 y249 w30 h20 , 2
Gui, Add, Edit, x302 y279 w30 h20 , 1
Gui, Add, Edit, x342 y279 w30 h20 , 2
Gui, Add, Edit, x302 y309 w30 h20 , 1
Gui, Add, Edit, x342 y309 w30 h20 , 2
Gui, Add, Edit, x302 y339 w30 h20 , 1
Gui, Add, Edit, x342 y339 w30 h20 , 2
Gui, Add, Edit, x302 y369 w30 h20 , 1
Gui, Add, Edit, x342 y369 w30 h20 , 2
Gui, Add, Edit, x302 y399 w30 h20 , 1
Gui, Add, Edit, x342 y399 w30 h20 , 2
Gui, Add, Text, x22 y129 w20 h20 , a1
Gui, Add, Text, x22 y159 w20 h20 , a2
Gui, Add, Text, x22 y189 w20 h20 , a3
Gui, Add, Text, x22 y219 w20 h20 , a4
Gui, Add, Text, x22 y249 w20 h20 , a5
Gui, Add, Text, x22 y279 w20 h20 , a6
Gui, Add, Text, x22 y309 w20 h20 , a7
Gui, Add, Text, x22 y339 w20 h20 , a8
Gui, Add, Text, x22 y369 w20 h20 , a9
Gui, Add, Text, x22 y399 w20 h20 , a10
Gui, Add, Text, x22 y429 w20 h20 , a11
Gui, Add, Text, x22 y459 w20 h20 , a12
Gui, Add, Text, x22 y489 w20 h20 , a13
Gui, Add, Text, x22 y519 w20 h20 , a14
Gui, Add, Text, x22 y549 w20 h20 , a15
Gui, Add, Text, x152 y129 w20 h20 , a16
Gui, Add, Text, x152 y159 w20 h20 , a17
Gui, Add, Text, x152 y189 w20 h20 , a18
Gui, Add, Text, x152 y219 w20 h20 , a19
Gui, Add, Text, x152 y249 w20 h20 , a20
Gui, Add, Text, x152 y279 w20 h20 , a21
Gui, Add, Text, x152 y309 w20 h20 , a22
Gui, Add, Text, x152 y339 w20 h20 , a23
Gui, Add, Text, x152 y369 w20 h20 , a24
Gui, Add, Text, x152 y399 w20 h20 , a25
Gui, Add, Text, x152 y429 w20 h20 , a26
Gui, Add, Text, x152 y459 w20 h20 , a27
Gui, Add, Text, x152 y489 w20 h20 , a28
Gui, Add, Text, x152 y519 w20 h20 , a29
Gui, Add, Text, x152 y549 w20 h20 , a30
Gui, Add, Text, x272 y129 w20 h20 , a31
Gui, Add, Text, x272 y159 w20 h20 , a32
Gui, Add, Text, x272 y189 w20 h20 , a33
Gui, Add, Text, x272 y219 w20 h20 , a34
Gui, Add, Text, x272 y249 w20 h20 , a35
Gui, Add, Text, x272 y279 w20 h20 , a36
Gui, Add, Text, x272 y309 w20 h20 , a37
Gui, Add, Text, x272 y339 w20 h20 , a38
Gui, Add, Text, x272 y369 w20 h20 , a39
Gui, Add, Text, x272 y399 w20 h20 , a40
Gui, Add, Edit, x612 y129 w30 h20 , 1
Gui, Add, Edit, x652 y129 w30 h20 , 2
Gui, Add, Edit, x612 y159 w30 h20 , 1
Gui, Add, Edit, x652 y159 w30 h20 , 2
Gui, Add, Edit, x612 y189 w30 h20 , 1
Gui, Add, Edit, x652 y189 w30 h20 , 2
Gui, Add, Edit, x612 y219 w30 h20 , 1
Gui, Add, Edit, x652 y219 w30 h20 , 2
Gui, Add, Edit, x612 y249 w30 h20 , 1
Gui, Add, Edit, x652 y249 w30 h20 , 2
Gui, Add, Edit, x612 y279 w30 h20 , 1
Gui, Add, Edit, x652 y279 w30 h20 , 2
Gui, Add, Edit, x612 y309 w30 h20 , 1
Gui, Add, Edit, x652 y309 w30 h20 , 2
Gui, Add, Edit, x612 y339 w30 h20 , 1
Gui, Add, Edit, x652 y339 w30 h20 , 2
Gui, Add, Edit, x612 y369 w30 h20 , 1
Gui, Add, Edit, x652 y369 w30 h20 , 2
Gui, Add, Edit, x612 y399 w30 h20 , 1
Gui, Add, Edit, x652 y399 w30 h20 , 2
Gui, Add, Edit, x612 y429 w30 h20 , 1
Gui, Add, Edit, x652 y429 w30 h20 , 2
Gui, Add, Edit, x612 y459 w30 h20 , 1
Gui, Add, Edit, x652 y459 w30 h20 , 2
Gui, Add, Edit, x612 y489 w30 h20 , 1
Gui, Add, Edit, x652 y489 w30 h20 , 2
Gui, Add, Edit, x612 y519 w30 h20 , 1
Gui, Add, Edit, x652 y519 w30 h20 , 2
Gui, Add, Edit, x612 y549 w30 h20 , 1
Gui, Add, Edit, x652 y549 w30 h20 , 2
Gui, Add, Edit, x742 y129 w30 h20 , 1
Gui, Add, Edit, x782 y129 w30 h20 , 2
Gui, Add, Edit, x742 y159 w30 h20 , 1
Gui, Add, Edit, x782 y159 w30 h20 , 2
Gui, Add, Edit, x742 y189 w30 h20 , 1
Gui, Add, Edit, x782 y189 w30 h20 , 2
Gui, Add, Edit, x742 y219 w30 h20 , 1
Gui, Add, Edit, x782 y219 w30 h20 , 2
Gui, Add, Edit, x742 y249 w30 h20 , 1
Gui, Add, Edit, x782 y249 w30 h20 , 2
Gui, Add, Edit, x742 y279 w30 h20 , 1
Gui, Add, Edit, x782 y279 w30 h20 , 2
Gui, Add, Edit, x742 y309 w30 h20 , 1
Gui, Add, Edit, x782 y309 w30 h20 , 2
Gui, Add, Edit, x742 y339 w30 h20 , 1
Gui, Add, Edit, x782 y339 w30 h20 , 2
Gui, Add, Edit, x742 y369 w30 h20 , 1
Gui, Add, Edit, x782 y369 w30 h20 , 2
Gui, Add, Edit, x742 y399 w30 h20 , 1
Gui, Add, Edit, x782 y399 w30 h20 , 2
Gui, Add, Edit, x742 y429 w30 h20 , 1
Gui, Add, Edit, x782 y429 w30 h20 , 2
Gui, Add, Edit, x742 y459 w30 h20 , 1
Gui, Add, Edit, x782 y459 w30 h20 , 2
Gui, Add, Edit, x742 y489 w30 h20 , 1
Gui, Add, Edit, x782 y489 w30 h20 , 2
Gui, Add, Edit, x742 y519 w30 h20 , 1
Gui, Add, Edit, x782 y519 w30 h20 , 2
Gui, Add, Edit, x742 y549 w30 h20 , 1
Gui, Add, Edit, x782 y549 w30 h20 , 2
Gui, Add, Edit, x862 y129 w30 h20 , 1
Gui, Add, Edit, x902 y129 w30 h20 , 2
Gui, Add, Edit, x862 y159 w30 h20 , 1
Gui, Add, Edit, x902 y159 w30 h20 , 2
Gui, Add, Edit, x862 y189 w30 h20 , 1
Gui, Add, Edit, x902 y189 w30 h20 , 2
Gui, Add, Edit, x862 y219 w30 h20 , 1
Gui, Add, Edit, x902 y219 w30 h20 , 2
Gui, Add, Edit, x862 y249 w30 h20 , 1
Gui, Add, Edit, x902 y249 w30 h20 , 2
Gui, Add, Edit, x862 y279 w30 h20 , 1
Gui, Add, Edit, x902 y279 w30 h20 , 2
Gui, Add, Edit, x862 y309 w30 h20 , 1
Gui, Add, Edit, x902 y309 w30 h20 , 2
Gui, Add, Edit, x862 y339 w30 h20 , 1
Gui, Add, Edit, x902 y339 w30 h20 , 2
Gui, Add, Edit, x862 y369 w30 h20 , 1
Gui, Add, Edit, x902 y369 w30 h20 , 2
Gui, Add, Edit, x862 y399 w30 h20 , 1
Gui, Add, Edit, x902 y399 w30 h20 , 2
Gui, Add, Text, x582 y129 w20 h20 , a1
Gui, Add, Text, x582 y159 w20 h20 , a2
Gui, Add, Text, x582 y189 w20 h20 , a3
Gui, Add, Text, x582 y219 w20 h20 , a4
Gui, Add, Text, x582 y249 w20 h20 , a5
Gui, Add, Text, x582 y279 w20 h20 , a6
Gui, Add, Text, x582 y309 w20 h20 , a7
Gui, Add, Text, x582 y339 w20 h20 , a8
Gui, Add, Text, x582 y369 w20 h20 , a9
Gui, Add, Text, x582 y399 w20 h20 , a10
Gui, Add, Text, x582 y429 w20 h20 , a11
Gui, Add, Text, x582 y459 w20 h20 , a12
Gui, Add, Text, x582 y489 w20 h20 , a13
Gui, Add, Text, x582 y519 w20 h20 , a14
Gui, Add, Text, x582 y549 w20 h20 , a15
Gui, Add, Text, x712 y129 w20 h20 , a16
Gui, Add, Text, x712 y159 w20 h20 , a17
Gui, Add, Text, x712 y189 w20 h20 , a18
Gui, Add, Text, x712 y219 w20 h20 , a19
Gui, Add, Text, x712 y249 w20 h20 , a20
Gui, Add, Text, x712 y279 w20 h20 , a21
Gui, Add, Text, x712 y309 w20 h20 , a22
Gui, Add, Text, x712 y339 w20 h20 , a23
Gui, Add, Text, x712 y369 w20 h20 , a24
Gui, Add, Text, x712 y399 w20 h20 , a25
Gui, Add, Text, x712 y429 w20 h20 , a26
Gui, Add, Text, x712 y459 w20 h20 , a27
Gui, Add, Text, x712 y489 w20 h20 , a28
Gui, Add, Text, x712 y519 w20 h20 , a29
Gui, Add, Text, x712 y549 w20 h20 , a30
Gui, Add, Text, x832 y129 w20 h20 , a31
Gui, Add, Text, x832 y159 w20 h20 , a32
Gui, Add, Text, x832 y189 w20 h20 , a33
Gui, Add, Text, x832 y219 w20 h20 , a34
Gui, Add, Text, x832 y249 w20 h20 , a35
Gui, Add, Text, x832 y279 w20 h20 , a36
Gui, Add, Text, x832 y309 w20 h20 , a37
Gui, Add, Text, x832 y339 w20 h20 , a38
Gui, Add, Text, x832 y369 w20 h20 , a39
Gui, Add, Text, x832 y399 w20 h20 , a40
Gui, Add, Edit, x382 y459 w180 h20 , Endsum1
Gui, Add, Edit, x382 y499 w180 h20 , Endsum2
Gui, Add, Text, x62 y99 w60 h20 , A1          D1
Gui, Add, Text, x622 y99 w60 h20 , D2           A2
Gui, Add, Text, x192 y99 w60 h20 , A1           D1
Gui, Add, Text, x312 y99 w60 h20 , A1           D1
Gui, Add, Text, x752 y99 w60 h20 , D2           A2
Gui, Add, Text, x872 y99 w60 h20 , D2           A2
Gui, Add, Button, x802 y589 w140 h30 , calculate
Gui, Show, x127 y82 h663 w996, New GUI Window
Return

GuiClose:
ExitApp

Если есть идеи, буду рад выслушать.
Спасибо за помощь.

2

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

Попробую перевести.
Есть окно GUI с большим числом вкладок. В каждой из них имеется большое количество полей ввода, поделённых на две группы: слева колонки A1 и D1, справа A2 и D2. Эти поля нужно связать формулами.
Пользователь может заполнять любые из полей, плюс обязательно заполняет sam1 и sam2. Формула должна вычислить среднее арифметическое для каждой из четырёх колонок и разделить на sam. Для колонок A1 и  D1 делить на sam1, для колонок A2 и  D2 делить на sam2:
q1 = (∑A1) / nA1 / sam1
q2 = (∑D1) / nD1 / sam1
w1 = (∑A2) / nA2 / sam2
w2 = (∑D2) / nD2 / sam2

Далее вычислить и показать Endsum, только автор где-то намудрил. Кажись так:
Endsum1 =q1*q2*sam1
Endsum2 = w1*w2*sam2

Плюс к этому нужен механизм, чтобы повторить тот же интерфейс в большом количестве вкладок.

3

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

ypppu, ваш перевод превосходный!
Но я хотел упростить ТЗ до максимума, но у вас вышло и коротко и ясно.

4 (изменено: serzh82saratov, 2017-02-17 23:15:36)

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

Уже добавляли группы элементов.


#SingleInstance Force
#NoEnv
SetBatchLines, -1

TabCount := 10, InputCount := 40, RowCount := 15
MW := 10, MH := 10
XS := 10, YS := 45
CellW := 30, CellH := 20

SectionW := (MW + CellW) * 3 * Ceil(InputCount / RowCount) - MW
EditW := SectionW - CellW * 2 - MW

Loop % TabCount
	str .= "Tab" A_Index "|"
	
Gui, Color, 808080
Gui, Add, Tab3, vMyTab AltSubmit, %str%pals

Loop % TabCount
{
	iTab := A_Index
	Gui, Tab, Tab%iTab%
	
	Loop 2
	{
		Col := A_Index, XSSection := XS + (MW + (CellW * 2 + MW + SectionW) * (Col - 1))
		Gui, Add, Text, % "+0x201 x" XSSection " y" YS + MH " w" CellW * 2 " h" CellH, Name
		Gui, Add, Edit, % "x+" MW " yp hp w" EditW " vname" iTab "_" Col
		Gui, Add, Text, % "+0x201 x" XSSection " y+" MH " w" CellW * 2 " h" CellH, Same
		Gui, Add, Edit, % "x+" MW " yp hp w" EditW " Number vsame" iTab "_" Col
		
		Loop % InputCount
		{
			i := A_Index
			If !Mod(i - 1, RowCount)
			{
				XSCol := XSSection + ((CellW + MW) * 3) * (Ceil(i / RowCount) - 1)                 
				Gui, Add, Text, % "+0x201 x" XSCol + (CellW + MW) " y" YS + MH * 3 + CellH * 2 " w" CellW " h" CellH, % (Col = 1 ? "A" : "D") Col
				Gui, Add, Text, % "+0x201 x+" MW " yp hp wp", % (Col = 1 ? "D" : "A") Col
				Gui, Add, Text, % "+0x201 hp wp xp-" (MW + CellW) * 2 " y+" MH, a%i%
				Gui, Add, Edit, % "Number x+" MW " yp hp wp vTab_" iTab "_" Col "_" (Col = 1 ? "A" : "D") i
				Gui, Add, Edit, % "Number x+" MW " yp hp wp vTab_" iTab "_" Col "_" (Col = 1 ? "D" : "A") i   
			} Else {
				Gui, Add, Text, % "+0x201 hp wp x" XSCol " y+" MH, a%i%
				Gui, Add, Edit, % "Number x+" MW " yp hp wp vTab_" iTab "_" Col "_" (Col = 1 ? "A" : "D") i
				Gui, Add, Edit, % "Number x+" MW " yp hp wp vTab_" iTab "_" Col "_" (Col = 1 ? "D" : "A") i   
			}
		}
	}
	Gui, Add, Button, % "x" XS + MW " y" (RowCount + 5) * (CellH + MH) " h" CellH * 1.5 " w" CellW * 4 " gCalculate", Calculate
	Gui, Add, Text, % "+0x201 h" CellH " x+" MW * 3 " yp+" CellH * 0.25 " w" CellW * 1.5, Endsum1:
	Gui, Add, Edit, % "x+6 yp hp vEndsum_1_" iTab " w" CellW * 3
	Gui, Add, Text, % "+0x201 hp yp x+" MW * 2 " w" CellW * 1.5, Endsum2:
	Gui, Add, Edit, % "x+6 yp hp vEndsum_2_" iTab " w" CellW * 3
}
Gui, Show
Return

Calculate:
	Gui, Submit, NoHide
	for k, v in [["a","1","q1"],["d","1","q2"],["a","2","w1"],["d","2","w2"]] {
		loop % InputCount + (n := 0, sum := 0, i := v[2], name := v[3]) 
			If (var := "Tab_" MyTab "_" i "_" v[1] A_Index) && (%var% + 0 != "") 
				++n, sum += %var% 
		%name% := sum / n / same%MyTab%_%i%
	} 
	GuiControl, , Endsum_1_%MyTab%, % RTrim(RTrim(q1 * q2 * same%MyTab%_1 "", 0), ".")
	GuiControl, , Endsum_2_%MyTab%, % RTrim(RTrim(w1 * w2 * same%MyTab%_2 "", 0), ".")
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5 (изменено: niceice, 2017-02-17 16:52:58)

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

serzh82saratov, не подскажите почему ошибка?

+ открыть спойлер

https://pp.vk.me/c636825/v636825742/4ed78/0epQqhJ4Jbw.jpg

И реально ли его запустить на МАС ?

6

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

niceice, ваша версия AutoHotkey не поддерживает Tab3?

7

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

ypppu, ех, забыл я проблему с версиями, извиняюсь.

8

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

serzh82saratov, Спасибо Вам, чудесно работает!
Еще вопрос: как можно запустить скрипт на МАС ?

9

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

Ещё пару строк сократил в коде.
Не слышал про АНК для МАС.

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

10 (изменено: serzh82saratov, 2017-02-17 23:36:47)

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

All
Кстати, что интересно в примере 2560 контролов, если в 10 вкладке постмотреть на контрол, то Accessible Info Viewer их не видит. А AhkSpy показывает постоянное изменение Id, Acc объекта, и Role как "неизвестный объект".

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

11

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

serzh82saratov пишет:

А AhkSpy показывает постоянное изменение Id, Acc объекта, и Role как "неизвестный объект".

Это плохо?

serzh82saratov пишет:

Не слышал про АНК для МАС.

Почитал, можно скомпилировать в .exe и через wine на Mac запустить его. Может кто-то пытался, а то скоро не смогу с пк сидеть и интересно будет ли результат ?

12

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

niceice
Насколько я помню, правила вы читали. Так в чём же дело? Оверквотинг вычищен.

13

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

niceice пишет:

Это плохо?

Это непонятно.

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

14

Re: AHK: арифметические операции и повторение GUI инпутов в Tab-ах

AccExplorer32 определяет его состояние неверно как STATE_SYSTEM_INVISIBLE.
Поэтому через ACC и нельзя ничего получить.
С другой стороны UI Spy не определяет, что он IsOffscreen.
Поэтому через него всё видно.
Но так как он до конца не импортирован на автохотки, то ничего с этим не поделаешь.
http://forum.script-coding.com/viewtopic.php?id=10581
Утилиты:
https://github.com/blackrosezy/gui-inspect-tool
Соответствие значений:
https://msdn.microsoft.com/en-us/librar … s.85).aspx