1

Тема: AHK: Переменные x2

Нужно сократить код, но у меня выдает ошибку

Это:

B%a6%
B%a7%
B%a8%
B%a9%

Привести к такому виду:

B% a%A_Index%

2

Re: AHK: Переменные x2

Так вы код и приведите, а то не совсем понятно, что "это" такое.

3

Re: AHK: Переменные x2

Loop % 4
B%a6%
B%a7%
B%a8%
B%a9%

Таких строк у меня 20. Чтобы все не расписывать мне нужно его сократить путем A_Index.

Я делаю

Loop % 
B%a%A_Index%

Выдает ошибку

4 (изменено: Alectric, 2014-01-13 21:06:10)

Re: AHK: Переменные x2

Не знаю, что вы пытаетесь сделать, но возможно так:

loop 10
{
  tmp:=a%A_Index%
  B%tmp%     ; что бы это ни значило...
}

Или, возможно вы пытаетесь записать в массив "B" содержимое массива "A"?

loop 10
  B%A_Index%:= a%A_Index%
Win 10 x64
AHK
                       Справка AHK v1 тебе в помощь.

5

Re: AHK: Переменные x2

У меня вообще подозрения, на нечто более лютое:


a6 = шест  
a7 = седьм 

Loop 2
    index := A_Index+5
    , namevar := "a" index
    , b%namevar% := a%index% "ое"
    
MsgBox % ba6
MsgBox % ba7
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: AHK: Переменные x2

Вот полная часть где мне нужен 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%, мне нужно их собрать в одну

7

Re: AHK: Переменные x2

И что тут значит Itog?

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

8

Re: AHK: Переменные x2

Число которые мы ввели в другое поле Edit.

9

Re: AHK: Переменные x2

Непонимаю?


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

10

Re: AHK: Переменные x2

Так?


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

11

Re: AHK: Переменные x2

Сама суть программы, я ввожу разные числа в определенное количество полей для ввода Edit, далее нажимаю на кнопку и все значения сдвигаются вправо. Например я ввел числа 1-2-3-4-5 , нажимаю на кнопку и числа стали
2-3-4-5-1, таких чисел и 10. Вот мне нужно и цикл взять за основу чтобы не расписывать все

12 (изменено: serzh82saratov, 2014-01-13 22:22:49)

Re: AHK: Переменные x2

Так?

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

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

13

Re: AHK: Переменные x2

Да, спасибо! Только подскажи как направление тут изменить, у тебя снизу вверх, а например справа на лево и т.д?

14

Re: AHK: Переменные x2

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

15 (изменено: serzh82saratov, 2014-01-13 22:34:54)

Re: AHK: Переменные x2

Можно и:


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

16

Re: AHK: Переменные x2

Объясните пожалуйста подробно эту строчку

I := A_Index = EditCount ? 1 : A_Index+ 1, arr%A_Index% := a%I%

17

Re: AHK: Переменные x2

Это 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.

Вообщем если для вас это сложно, то надо посидеть, и подумать. Задайте вопрос ещё раз позже, и детальнее, если ещё будет интересно.

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

18

Re: AHK: Переменные x2

Большое спасибо, но меня мучает вопрос, как поместить 3 переменных в одну? % Edit%A_Index% тут 2 переменные нормально без ошибки, но как мне еще переменную a%A_Index% объединить с %Edit%?