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 - algirdas

Pages: 1 [2] 3
16
Предложения / о доп возможностях default.txt
« on: September 25, 2017, 11:35:19 AM »
Может стоит придать файлу default.txt помимо автоматической загрузки и дополнительную функцию авто запуска при наличии в тексте директивы #autorun ?

17
Ошибки / Re: PXLCOUNT в 4.13
« on: September 22, 2017, 10:14:27 PM »
У меня как-раз черный и подсчитывался (текст в таблицах на белом фоне), в начале изучения Clicckermanа где-то в справках прочитал, что так и пишут при черном, в скрипте в начале так и записывал. В 4.12 все это сходило с рук, а в
4.13 это не проходит. Вот и написал, может кому-то это поможет заранее при при переходе на 4.13.

18
Ошибки / Re: PXLCOUNT в 4.13
« on: September 22, 2017, 06:48:04 PM »
Не надо так грубо, у меня в скрипте она в таком виде вызывается в 4.12 десятки тысячи раз,  шерстит по таблице и ничего - справляется, тем более что не из пальца я это придумал, была такая запись в helpe. А тут решил посильно помочь для становления 4.13, проверить как мой скрипт чувствует себя в ней, сходу обнаружил это, за что и получил по мозгам от сотоварищей.

19
Ошибки / PXLCOUNT в 4.13
« on: September 22, 2017, 03:00:35 PM »
PXLCOUNT в 4.12 работает и при умолчании в записи (A,B,C,D), в 4.13 - выдает ошибку, требует полной записи (A,B,C,D, color).

20
Общие вопросы / потоки и основная
« on: September 10, 2017, 01:05:14 PM »
В скрипте 4 потока с возможностью их прерывания, поэтому ни один поток не могу вынести в основную программу. Выходим из скрипта в них по HALT(1). Для стабильности процесса, что лучше в основной программе сделать, задать фиктивную работу или дать висеть ?

21
Общие вопросы / как вывести на экран HELP
« on: September 06, 2017, 04:09:49 PM »
Необходимо вывести на экран большой обьем текстовой информации (типа Help первоначальный). Через DIALOGBOX хорошо не получается, плывет структура строк текста на разных машинах.

22
В конкретном случае удалось решить эту проблему. Clickermann  рыщет по базе данных, часть которой представляет собой набор клеток с именами фирм. Проверяется равенство названий в 2 клетках  (после чего Clickermann выполняет мои спец. процедуры). Для определения равенства в каждой клетке вычисляетя PXLCOUNT и в случае совпадения принимается положительное решение о тождестве названий. Работает на тысячах клеток, числа просто равны. Пользователь перед поиском хочет ввести название “вражеской” фирмы, относительно которой положительные исходы невозможны. Вводим имя фирмы через INPUTBOX, далее через TOCLIP записываем его в буфер. В самой базе средствам Windows в пустую клетку заносим имя из буфера, и аналогично предыдущим двум  вычисляем PXLCOUNT, оценка которой служит в дальнейшем признаком запрета при поиске.

23
На изображении в двух разных местах появляются черно-белые два слова, задачу их тождества решаю посредством PXLCOUNT. Алгоритм работает стабильно. Ввожу посредством INPUTBOX свое слово (строку), надо сравнить его тождественность со словами на изображении, хотелось бы как-то опять через PXLCOUNT, раз данные этих эталонов уже определены и проверены. Как это увязать ?

24
Общие вопросы / не слышно beep в XP
« on: August 24, 2017, 11:53:59 AM »
Звуковой сигнал beep(800,200) из скрипта слышен в WIN 7,  в XP SP3 - его нет. В XP штатные звуки Clickermann (play, pause, ...) все слышны. Как исправить ?

25
Может надо открыть кладовку-копилку “Давно известных вещей Clickerman” для новичка.

1. В заголовке подпрограммы - только уникальные !!! имена, собственной
подпрограммы с возвратом параметра не сделать.
2. Цикл в цикле - обязательна запись ”=0”.
3. После else - с новой строки.
4. Массив можно заполнять строкой, а не столбиком.
5. "!" - это не равно.
и т. п.

26
Оказывается нельзя при декларировании SUB в перечне указывать аббревиатуру переменной, используемой
в основной MAIN программе (даже если  обе они в основной программе имеют разные названия и абсолютно независимы). Контрольный пример
SUB(PROG, $a)     // заглушка
   move(100, 100)
END_SUB
//============ I VAR без sub ====================
$a = 100
$b = 50
WAITMS(500)
// PROG($b) - пустышка
print("      $a = ",$a) // = 100

//=============== II var c sub ==========
$a = 100
$b = 50
WAITMS(500)
PROG($b) //  $ax меняет
print("c SUB $a = ",$a) // не равно 100
halt
Если в SUB(PROG, $a) вставить любое другое название переменной, напр, $c, то все работает правильно.
В реальных скриптах у меня переменная в основной программе в этих случаях могла принимать случайное не нулевое значение (причем в некоторых ветвях программы это не наблюдалось), пока я не изменял запись аббревиатуры в SUB на другую.

27
Подсмотрел у других и как-то так. На разных машинах и системах код лапки разный, пришлось ввести начальное присвоение и дополнительную глобальную переменную для кода указателя на конкретной машине.
#name "set_mouse_point"

LOGSHOW(1)
print("Начальная установка")
print("Наведите мышкой'лапку'на обьект и нажмите'ALT+D' ")
WAITMS(50)
 WHILE(ISKEYDOWN(#ALT)=0)
   WHILE(ISKEYDOWN(#D)=0)
  $v = $_cursor
      WAITMS(50) 
   END_CYC
   WAITMS(50)
END_CYC
print("ОК,код'лапки'=",$v )
 
//=============================================
 work, вычисляем $ax, $ay   
//=============================================

$ax = 1210
$ay = 170

MOVE($ax,$ay)
IF($_cursor = $v )
BEEP(800,200)
LCLICK($ax,$ay)
END_IF

//
//

halt

28
Спасибо, вот и день не зря прожит ...

29
Вообще из help не очевидно, что входная строка может быть не только из строковых переменных, но и чисел.
Разбираясь с эти вопросом дошел до ручки: пример из help не работает
$var[0] = 1
$var[1] = 2
$var[2] = 3
$result = 0
for($i, $i < 3)
   $result = $result + $var[ $i+1 ]
end_cyc
print( $result )
// ошибка при интерпретации строки
 $result = $result + $var[ $i+1 ]
весь скрипт взят копированием из help
что может быть ?

30
большое спасибо, этот раздел в справке относил только к строкам, массивы не приметил

Pages: 1 [2] 3