1 (изменено: Pokerist, 2012-01-05 17:02:06)

Тема: AHK: Вложенные циклы

Пытаюсь оргазизовать действие обращающееся к двум массивам.

Вложил один цикл в другой:


stolby12:= [...]
linii:= [...]
stb:= 3
lin:= 4

Loop, %stb%
  {
  Loop, %lin%  
   {     
    PixelGetColor, Farbe, stolby12[%stb%], linii[%lin%], RGB
...

Проблема в том,  что привычное в других языках обращение через счётчик цикла (stb  и lin в данном случае) не срабатывает,  а обращение через  A_Index срабатывает только для одного цикла.  Как можно использовать второй счётчик цикла? Или в AHK как-то принципиально иначе надо использовать циклы?

Спасибо за помощь!

2 (изменено: creature.ws, 2012-01-05 16:29:08)

Re: AHK: Вложенные циклы

Оформление тем
Как правильно называть темы

«Счётчик цикла» в случае использования Loop это как раз таки переменная A_Index. Рекомендую почитать информацию по ссылке

Приведенный в первом сообщении код приемлем (с поправками) для ahk_L.

3

Re: AHK: Вложенные циклы

Но он срабатывает для одного цикла, а как обратится к другому при вложенных циклах?

4

Re: AHK: Вложенные циклы

Для каждого Loop свой A_Index, вам нужен иной счётчик — используйте иной.

i++ 40 лет на рынке счётчиков

В контексте «массивов» ahk basic понятнее примера чем в справке не придумать:


ArrayCount = 0
Loop, Read, C:\Guest List.txt   ; This loop retrieves each line from the file, one at a time.
{
    ArrayCount += 1  ; Keep track of how many items are in the array.
    Array%ArrayCount% := A_LoopReadLine  ; Store this line in the next array element.
}

5 (изменено: Pokerist, 2012-01-05 17:26:41)

Re: AHK: Вложенные циклы

omg. Самому организовывать счётчик внутри цикла?  Интересное решение.

  Спасибо!

6 (изменено: creature.ws, 2012-01-05 17:37:32)

Re: AHK: Вложенные циклы

Что бы избегать использования «интересных» решений в устаревших программах следует использовать их актуальные версии.

7 (изменено: Pokerist, 2012-01-05 22:32:40)

Re: AHK: Вложенные циклы

Как-то нигде не встретилась инфа о последних тенденциях:

http://www.script-coding.com/AutoHotkeyTranslation.html

Может и вправду перейти на "L"?

Но к нему на русском вообще вроде ничего нет?  А тут на форуме в основном чем пользуются? Мне, как ламеру, надо быть в общей струе, иначе вот таки недоразумения и получаются.

8

Re: AHK: Вложенные циклы

AHK: Будущее AutoHotkey

9 (изменено: Indomito, 2012-04-12 11:17:13)

Re: AHK: Вложенные циклы

Pokerist пишет:

omg. Самому организовывать счётчик внутри цикла?  Интересное решение.
  Спасибо!

не удержался ))

i := 1
loop %сSizeA%
 {
  j := сHKey
  bfName := kNone
  bfHotK := kNone
  while (arrayKey[i,j])
   {
    bfHotK := bfHotK fnAssigKey(arrayKey[i,j])
    if (j = сHKey)
        bfName := arrayKey[i,j]
       else
         bfName := bfName kGap arrayKey[i,j]
    j++
   }
  if (bfName)  
    {
      arrayKey[i,сKeys] := bfName     ; Пишем названия клавиш
      vLabel := arrayKey[i,сLabels]     ; Генерируем HotKey
      HotKey %bfHotK%,%vLabel%      
    }
  i++
 }

без счётчиков "самоорганизованных" некоторые задачи не решаемы

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro