Тема: AHK: Переменные x2
Нужно сократить код, но у меня выдает ошибку
Это:
B%a6%
B%a7%
B%a8%
B%a9%Привести к такому виду:
B% a%A_Index%Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Нужно сократить код, но у меня выдает ошибку
Это:
B%a6%
B%a7%
B%a8%
B%a9%Привести к такому виду:
B% a%A_Index%Так вы код и приведите, а то не совсем понятно, что "это" такое.
Loop % 4
B%a6%
B%a7%
B%a8%
B%a9%Таких строк у меня 20. Чтобы все не расписывать мне нужно его сократить путем A_Index.
Я делаю
Loop %
B%a%A_Index%Выдает ошибку
Не знаю, что вы пытаетесь сделать, но возможно так:
loop 10
{
tmp:=a%A_Index%
B%tmp% ; что бы это ни значило...
}Или, возможно вы пытаетесь записать в массив "B" содержимое массива "A"?
loop 10
B%A_Index%:= a%A_Index%
У меня вообще подозрения, на нечто более лютое:
a6 = шест
a7 = седьм
Loop 2
index := A_Index+5
, namevar := "a" index
, b%namevar% := a%index% "ое"
MsgBox % ba6
MsgBox % ba7
Вот полная часть где мне нужен A_Index
Loop %
{
a%A_Index%:= 3+A_Index
}Далее мне нужно вставить в поле Edit это значение
GuiControl,, Edit, % Itog%a1%
GuiControl,, Edit2, % Itog%a2%
GuiControl,, Edit3, % Itog%a2%Проблема в том что вставлять мне нужно уйму раз и чтобы не писать 1000 строк мне нужно внедрить A_Index
Я делаю вот так Itog%a%A_Index%, в общем как бы три переменных в одной, 1 - %A_Index% , 2- %a%, 3 - %Itog%, мне нужно их собрать в одну
И что тут значит Itog?
Число которые мы ввели в другое поле Edit.
Непонимаю?
Loop 3
Gui Add, Edit, vEdit%A_Index%
Gui show
Sleep 1001
Loop 3
a%A_Index% := A_Index+3
Loop 3
GuiControl,, Edit%A_Index%, % a%A_Index%
Return
Так?
Loop 3
Gui Add, Edit, vEdit%A_Index%
Gui show
Sleep 1001
Loop 3
a%A_Index% := A_Index+3
Loop 3
GuiControl,, Edit%A_Index%, % Itog%A_Index% := a%A_Index%
Sleep 1001
Loop 3
MsgBox % Itog%A_Index%
Return
Сама суть программы, я ввожу разные числа в определенное количество полей для ввода Edit, далее нажимаю на кнопку и все значения сдвигаются вправо. Например я ввел числа 1-2-3-4-5 , нажимаю на кнопку и числа стали
2-3-4-5-1, таких чисел и 10. Вот мне нужно и цикл взять за основу чтобы не расписывать все
Так?
EditCount := 15
Loop % EditCount
Gui Add, Edit, vEdit%A_Index%
Gui, Add, Button, gButton, Button
Gui show
Loop % EditCount
a%A_Index% := A_Index*2
Loop % EditCount
GuiControl,, Edit%A_Index%, % a%A_Index%
Return
Button:
Loop % EditCount
I := A_Index = EditCount ? 1 : A_Index + 1, arr%A_Index% := a%I%
Loop % EditCount
GuiControl,, Edit%A_Index%, % a%A_Index% := arr%A_Index%
Return
Точнее:
EditCount := 5
Loop % EditCount
Gui Add, Edit, vEdit%A_Index% x+5
Gui, Add, Button, gButton xs, Button
Gui show
Loop % EditCount
a%A_Index% := A_Index
Loop % EditCount
GuiControl,, Edit%A_Index%, % a%A_Index%
Return
Button:
Loop % EditCount
I := A_Index = EditCount ? 1 : A_Index + 1, arr%A_Index% := a%I%
Loop % EditCount
GuiControl,, Edit%A_Index%, % a%A_Index% := arr%A_Index%
Return
Да, спасибо! Только подскажи как направление тут изменить, у тебя снизу вверх, а например справа на лево и т.д?
Все второй код увидел! Спасибо тебе большое, как всегда на высшем уровне!
Можно и:
EditCount := 5
Loop % EditCount
Gui Add, Edit, vEdit%A_Index% x+5
Gui, Add, UpDown, -16 hp wp xs vUpDown gUpDown Range0-1 Horz
Gui show
Loop % EditCount
a%A_Index% := A_Index
Loop % EditCount
GuiControl,, Edit%A_Index%, % a%A_Index%
Return
UpDown:
If UpDown
Loop % EditCount
I := A_Index = 1 ? EditCount : A_Index - 1, arr%A_Index% := a%I%
Else
Loop % EditCount
I := A_Index = EditCount ? 1 : A_Index + 1, arr%A_Index% := a%I%
Loop % EditCount
GuiControl,, Edit%A_Index%, % a%A_Index% := arr%A_Index%
Return
Объясните пожалуйста подробно эту строчку
I := A_Index = EditCount ? 1 : A_Index+ 1, arr%A_Index% := a%I%
Это 2 строки:
I := A_Index = EditCount ? 1 : A_Index+ 1
arr%A_Index% := a%I%
Вначале вычисляем I. Если A_Index= EditCount то I = 1, или = A_Index + 1.
Далее заносим в новый псевдо массив
arr%A_Index% := a%I%например: arr1 := a2.
Если A_Index = 5, то arr5 = a1.
Вообщем если для вас это сложно, то надо посидеть, и подумать. Задайте вопрос ещё раз позже, и детальнее, если ещё будет интересно. ![]()
Большое спасибо, но меня мучает вопрос, как поместить 3 переменных в одну? % Edit%A_Index% тут 2 переменные нормально без ошибки, но как мне еще переменную a%A_Index% объединить с %Edit%?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться