Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Karapuz on November 06, 2016, 06:41:17 PM
-
Привет,
Есть файл записями вида
xxx0;yyy0;zzzz0;...;nnn0
xxx1;yyy1;zzzz1;...;nnn1
xxx2;yyy2;zzzz3;...;nnn4
читаю его построчно
SUB(insert, $ins)
KEYPRESS(#BACKSPACE)
TOCLIP($ins)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
END_SUB
$filename = "test.txt"
$i = 1
WHILE( $i < TFCOUNT($filename) + 1 )
$string = TFREAD($filename, $i)
STRSEPARATE($string, ";", $data)
LCLICK(501,371) //select DNS input
insert($arr[0]) // insert DNS
LCLICK(501,463) //select Max session
insert($arr[1])
END_CYC
получается нахожу нужную область и вставляю соотвествуюшие данными, при первом проходе всё окей. заполяется данными из строки 0 (или 1)
все же последуюший заполняются из строки 0 (или 1), хотя ожидаю что из строки 0 + $i
Стандартный вариант очишать массив или строку при новой итераций, но чтобы не делал проявляется проблема выше. Те не ясно как правильно ичистить переменую.
Спасибо.
-
Ответ навскидку из мануала (раздел Язык сценариев / подраздел Работа с числами):
UNDEFINE
Синтаксис
UNDEFINE ($var) - удаляет переменную из памяти
Параметры
$var - символьное имя переменной
Примечания
Если обратиться к удаленной переменной, ее значение представится как 0
Стоит понимать, что удаление переменной высвобождает память и в некоторой степени ускоряет последующую работу кликера с переменными
-
WHILE не наращивает сам переменную, тебе нужен цикл FOR
SUB(insert, $ins)
KEYPRESS(#BACKSPACE)
TOCLIP($ins)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
END_SUB
$filename = "test.txt"
FOR($a=1,$a<TFCOUNT($filename)+1)
STRSEPARATE(TFREAD($filename, $a), ";", $arr_data)
LCLICK(501,371) //select DNS input
WAITMS (50)
insert($arr_data[0]) // insert DNS
LCLICK(501,463) //select Max session
WAITMS (50)
insert($arr_data[1])
UNDEFINE($arr_data)
END_CYC