Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - clicker_student

Pages: [1] 2
1
Но с  другой стороны, читать логи в ANSI с веба не получится - будет кракозябра?
Проверил - все нормально.
Нормально - есои стоит винда русская. Но в принципе, переключением кодировки в браузере лог становится читаемым.

2
Отвечаю себе: правильный будет - вариант 2
Code: (clickermann) [Select]
%clickerman_path%\Clickermann.exe имя_скрипта  par1 par2 par3

3
В справке нашел в таблице #1 такой параметр
Code: (php) [Select]
$_param_str  - Параметры запуска программы, разделенные ";"
Сейчас я запускаю кликерман со скриптом таким образом
Code: (php) [Select]
%clickerman_path%\Clickermann.exe имя_скрипта
Подскажите, параметры запуска нужно писать до  имени скрипта или после?

1. Вариант ДО
Code: (php) [Select]
%clickerman_path%\Clickermann.exe  par1 par2 par3  имя_скрипта
2. Вариант ПОСЛЕ
Code: (php) [Select]
%clickerman_path%\Clickermann.exe имя_скрипта  par1 par2 par3

4
Спасибо!

5
А есть ли возможность писать PRINT в UTF-8?
Или просто нельзя смешивать потоки вывода? Но с  другой стороны, читать логи в ANSI с веба не получится - будет кракозябра?
Проверил - все нормально.

6
 В справке написано, что LOGWRITE  и PRINT - синонимы. Хорошо, проверю

7
Открыл для себя, что функция Print может писать в log.txt, если включить #logfile. До этого я писал с помощью TFWRITE()
Но получил странный результат. Код
Code: (clickermann) [Select]
#logfile
//--- поищем меню "Свойства"
$property_menu_hwnd = WNDFIND("Свойства")
IF($property_menu_hwnd != 0)
$message = STRCONCAT("Меню 'Свойства' найдено, hwnd=",$property_menu_hwnd)
TFWRITE("log.txt",$message)
PRINT($message, "Print")
Print("Меню 'Свойства' найдено, hwnd=",$property_menu_hwnd, "Print 2")
END_IF

Содержимое лога
Code: (php) [Select]
Меню 'Свойства' найдено, hwnd=1705966
09:34:45 PM .���� '��������' �������, hwnd=1705966Print
09:34:45 PM ���� '��������' �������, hwnd=1705966Print 2


Искал на форуме - не нашел, чтобы кто-то спрашивал. В какой кодировке он пишет?

8
Не прошло недели - сделал еще одну ошибку. Суть:
в инклюднике объявлена процедура с параметрами, в основном скрипт эта процедура вызывается , но... параметры забыл прописать. И вот получаю такую же ошибку
"ошибка при выполнении команды POP" - возникает при вызове подпрограмм. Если нет самой подпрограммы или она не располагается до вызова.

Долго я искал функцию, которую объявил не там или позже вызова. Пока не заметил, что пропустил параметры. Может кому-то сэкономлю время или дам подсказку для такого случая. Решил поделиться

9
Да уж.... ведь сказано же в справке
Quote
Описание
Подпрограмма - это последовательность действий, объединенная в блок. Подпрограмма обязательно имеет собственное уникальное имя sub_name и необязательно набор параметров $par1, $par2,.... Тело подпрограммы будет вызвано только в том случае, если в сценарии будет указано ее имя sub_name (см. пример). Подпрограмму можно описать в любом месте сценария. Однако, описание подпрограммы должно быть раньше (выше) любого из ее вызовов. Поэтому рекомендуется описывать подпрограммы сразу в начале сценария. Хорошим тоном считается вынесение тел подпрограмм в отдельный внешний файл, подключаемый затем через директиву #include.
Как обычно - не читаем. Еще раз огромное спасибо!!!

10
Вы правы, дело было так. В инклюднике была одна функция Copy_Paste()
Code: (clickermann) [Select]
//--- помещает текст в буфер обмена и затем вставляет в выделенное поле комбинацией CTR+V
SUB(Copy_Paste, $text)
  // отправим текст в буфер обмена
  TOCLIP($text)
  // выделим текстово поле сочетанием  Ctr+A
  KEYDOWN (#CTRL)
  WAITMS (50)
  KEYPRESS (#A)
  WAITMS (50)
  KEYUP (#CTRL) 
  WAITMS (50)
  // удаляем значение - очищаем поле
  KEYPRESS (#DELETE)
  WAITMS (50) 
  // вставим текст из буфера Ctr+V
  WAITMS(50)
  KEYDOWN (#CTRL)
  WAITMS (50)
  KEYPRESS (#V)
  WAITMS (50)
  KEYUP (#CTRL) 
  WAITMS (50)
END_SUB

Затем я стал переносить в этот инклюдник другие функции, и некоторые из них вызывали Copy_Paste(). А функции я переносил в начало файла, так что в итоге Copy_Paste() стала самой последней. И получилось так, что функции содержали вызов функции Copy_Paste(), которая объявлена ниже. 

И не спасал даже тот факт, что эти функции (которые вызывали Copy_Paste()) вообще не вызывались в основном скрипте (при поиске ошибке я постепенно все закомментировал). И тем не менее это вызывало ошибку.

Теперь я запомню эту тонкость! Спасибо за наводку  :D

11
Спасибо! Да, все подпрограмы находятся в инклюднике, и вроде инклюдник подключен правильно - находится в корне. И вроде я отключив для отладки все вызовы подпрограмм...  ???
Проверю и отпишусь. Так бы я долго еще искал кошку в темной комнате

12
Можно написать батник
"Путь до кликера" "Путь до скрипта"

Кто знает - есть ли ограничение на длину пути к скрипту? Кликерман валится с ошибкой [что то вроде "ошибка при выполнении команды POP"], есть подозрение, что я перестарался с длиной имени папки и длиной имени скрипта - вмесет получается достаточно длино. Вечером проверю - сокращу и посмотрю что выйдет.
Но на всякий случай все таки спрошу, заранее благодарен за помощь

13
Да, ступил, извиняюсь  :-\
Я искал поиском в справке  и не нашел почему то. А сейчас поиск сразу дал результат.
Больше ничего в оправдание сказать не могу  :-X

14
Искал информацию по функции GETFILELIST(), насколько понял, написал такой код
Code: (clickermann) [Select]
// выведем отладочные сообщения
$line = STRCONCAT("Получим список файлов в папке D:\MyFolder\*.csv")
TFWRITE("log.txt",$line)
GETFILELIST($files, "D:\MyFolder") // Получаем список файлов в массив
$line = STRCONCAT("В папке D:\MyFolder найдено файлов: ",ARRSIZE($files))
TFWRITE("log.txt",$line)

работает.

В справке сказано
Quote
    История развития программы
    v4.13.014 (16.05.18)
    + Ядро
      + Переход на Юникод, теперь в файлах применяется кодировка UTF-8
      + Создана 64-битная версия программы
    ....
        + Доработка KEYSTRING(), теперь он сам жмет Shift
        + Исправление GETFILELIST()
        + Исправление GETDIRLIST()
в самой справке описания функции нет.  Подскажите как ею пользоваться -что можно, а что нельзя.
И еще бы по GETDIRLIST().
Спасибо

15
Спасибо!!!! Скоро все тонкости узнаю.
Я уже пытался по топорномму рубить  :)  Не помогло
Code: (clickermann) [Select]
SETVAR($param_tokens, 0)  // вешает скрипт
$param_tokens  = 0  // не реагирует

Pages: [1] 2