Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: ksa-nsk on November 04, 2014, 10:04:03 PM

Title: При передаче параметра в процедуру он меняется, не пойму...
Post by: ksa-nsk on November 04, 2014, 10:04:03 PM
вот такой обрезанный код для примера:
Code: (clickermann) [Select]
//=============================================
// процедура ввода текстовых данных в поля формы

SUB(InputString, $str)
   
       print("ввод (InputString) строка: ", $str)
   TOCLIP($str)
        WAITMS (50)
   
   KEYDOWN (#CTRL)
       WAITMS (50)
   KEYDOWN (#V)
       WAITMS (250)
   KEYUP (#V)
   KEYUP (#CTRL)
   
       WAIT(2)
//print("(InputString) строка после ввода: ", $str)   
END_SUB  // SUB(InputString, $str)

//=============================================


$str_in = "0123456789,*?+- абвг,.конец"
        print("    передан параметр ($str_in): ", $str_in)

       
//    ChangeLang("ru")
 
  //первая попытка
  $str = $str_in
    InputString($str)  // ввод текста
print("после ввода (InputString) строка: ", $str)


в итоге выводится
0123456789,*?+0- абвг,.конец

Вопросы
1) откуда ноль взялся?
2) почему после процедуры $str=0?

Title: Re: При передаче параметра в процедуру он меняется, не пойму...
Post by: Oraven on November 04, 2014, 10:45:43 PM
Если ты используешь 4.11 то скачай патч 4.11.001
http://crapware.aidf.org/forum/index.php?topic=356.msg8385#msg8385 (http://crapware.aidf.org/forum/index.php?topic=356.msg8385#msg8385)

Переменная $str после окончания подпрограммы обнуляется.

Писать надо так
Code: (clickermann) [Select]
// процедура ввода текстовых данных в поля формы

SUB(InputString, $str)
   
   print("ввод (InputString) строка: ", $str)
   TOCLIP($str)
   WAITMS (50)
   
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (250)
   KEYUP (#V)
   KEYUP (#CTRL)
   
   WAIT(2)
   //print("(InputString) строка после ввода: ", $str)
END_SUB  // SUB(InputString, $str)

//=============================================


$str_in = "0123456789,*?+- абвг,.конец"
print("передан параметр ($str_in): ", $str_in)
//    ChangeLang("ru")

InputString($str_in)  // ввод текста

HALT
Title: Re: При передаче параметра в процедуру он меняется, не пойму...
Post by: ksa-nsk on November 05, 2014, 12:34:28 AM
спасибо за патч, пошло))