1 (изменено: Стас, 2011-10-05 15:00:43)

Тема: AHK: Счетчик для метки

Здравствуйте.

Имеется код, в котором необходимо считать кол-во обходов по метке bazar:  (если такое вообще возможно). В зависимости от кол-ва обходов выполнять действие, затем сбрасывать счетчик обхода этой метки.
Команда A_Index, я так понял, считает Loop, но не саму метку, однако if bazar A_Index = 2 выдает тот же результат что и if  A_Index = 2. Тут я и по думал:
- можно-ли считать обход (обращение) к метке bazar? Если да, то:
- как считать и как сбрасывать счетчик метки?

Иными словами, мне надо 4w выводить каждые 2, а не просто на 2. Понимаю что можно это сделать через Loop, но интересует возможность считать обращение к метке (bazar) и сбрасывать ее счетчик.

loop 9
{
bazar:                      ; метка, счетчик которой необходимо считать и сбрасывать.
    {
    Gosub 1w
    Gosub 2w
    send Базар окончен{enter}
    if  A_Index = 2  
        {
        Gosub 4w
        }    
    }
}    
Return

1w:
send Вася 1в {enter}
Return
2w:
send Петя 2в {enter}
Return
4w:
send 1в {enter}
Return

2

Re: AHK: Счетчик для метки

Стас, прочитай первую тему на странице, отредактируй название.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Счетчик для метки

Создайте переменную, каждый раз при выполнении метки прибавляйте к её значению единицу. Если надо "обнулить счётчик", присвойте переменной значение "0".

4

Re: AHK: Счетчик для метки

Что-то получилось, итог какой требовался.

bazar:
baz:= %A_Index%
loop 9
{    
    baz+=1
    {
    Gosub 1w
    Gosub 2w
    }
         if baz = 3
         {
         Gosub 4w
         baz = ""
         }    
}
Return

1w:
send Вася 1в {enter}
Return

2w:
send Петя 2в {enter}
Return

4w:
send 1в {enter}
Return

Спасибо за подсказку.