1 (изменено: Hammer2900, 2012-02-20 22:07:12)

Тема: AHK: While ошибка с переменной

Пишу скрипт для автоматизации 1с возникла проблема спеременной в цикле While, в списке нужно перебрать значения и если оно равно то продолжить выполнение скрипта, вот работающая часть скрипта(тестовая)

p := "1С:Предприятие - Производство+Услуги+Бухгалтерия"
SetTitleMatchMode, 2
IfWinExist, %p%
   WinActivate
While (Tarif <> "unlim_8192_z")
{
    
    Send, ^c
    Tarif = %Clipboard%
    Send, {DOWN}
    
}
Send, {UP}
Send, {ENTER}

Но в основном скрипте "unlim_8192_z" заменяется переменной например %3d% и если мы в тестовом скрипте пишем это

3d := "unlim_8192_z"
p := "1С:Предприятие - Производство+Услуги+Бухгалтерия"
SetTitleMatchMode, 2
IfWinExist, %p%
   WinActivate
While (Tarif <> %3d%)
{
    
    Send, ^c
    Tarif = %Clipboard%
    Send, {DOWN}
    
}
Send, {UP}
Send, {ENTER}

то цикл While просто не срабатывает. Помогте как правильно передать переменную в цикл все ведь правильно написано

2 (изменено: Александр_, 2012-02-21 00:15:39)

Re: AHK: While ошибка с переменной

Hammer2900 пишет:

Помогите как правильно передать переменную в цикл все ведь правильно написано

Проценты не нужны. Tarif <> %3d% означает "переменная Tarif неравна переменной, имя которой содержится в переменной 3d".
И ещё не рекомендуется начинать имена переменных с десятичной цифры.

3

Re: AHK: While ошибка с переменной

Александр спасибо убрал кавычки все заработало