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

Pages: 1 [2] 3 4 ... 19
16
Предложения / Re: Отступ CASE от SWITCH
« on: April 16, 2018, 08:06:15 PM »
жму палку. все что между SWITCH и END_SWITCH съезжает вправо. не?
Если между CASE и ($var) есть пробел, то съезжает. Но тогда условие внутри, относительно CASE не съезжает.
Блок DEFAULT совсем никак не двигается.
Code: (clickermann) [Select]
SWITCH($var)
   CASE (1)// с пробелом
   IF(1=1)
      //...
   END_IF
CASE(2)//  без пробела
   IF(2=2)
      //...
   END_IF
DEFAULT
   //...
END_SWITCH

17
Общие вопросы / Re: Параметры radiobox
« on: April 08, 2018, 05:03:17 PM »
Вот с динамическим изменением количества элементов массива:
Code: (clickermann) [Select]
UNDEFINE($arr)
$rnd=RND(1,9)
FOR($size=0,$size<$rnd)
   ARRPUSH($arr,$size+1)
END_CYC
PRINT("Размер массива-",$rnd)
STRWRITELN("input.txt",0,1)
 
$str=STRCONCAT("$res = RADIOBOX (",CHAR(34),"Выберите пункт",CHAR(34))
FOR($n=0,$n < ARRSIZE($arr))
   $str=STRCONCAT($str,",",CHAR(34),$arr[$n],CHAR(34))
END_CYC
$str=STRCONCAT($str, ")")
TFWRITE("includ.cms",$str,2)
TFDELETE("includ.cms",3)
WAITMS(200)
EXECUTE("includ.cms")
$res=0
WHILE($res=0)
   $res=TFREAD("input.txt",1)
   WAITMS(100)
END_CYC
PRINT("Вы выбрали ",$res)
WAITMS(1000)

18
Общие вопросы / Re: Параметры radiobox
« on: April 08, 2018, 12:15:21 AM »
Попробовал "сочинить" костыль. Проверял только на версии кликера 4.13.011b.
Основной код:
Code: (clickermann) [Select]
STRSEPARATE("1:2:3:4:5",":",$arr)

STRWRITELN("input.txt",0,1)

$str=STRCONCAT("$res = RADIOBOX (",CHAR(34),"Выберите пункт",CHAR(34))
FOR($n=0,$n < ARRSIZE($arr))
   $str=STRCONCAT($str,",",CHAR(34),$arr[$n],CHAR(34))
END_CYC
$str=STRCONCAT($str, ")")
TFWRITE("includ.cms",$str,2)
TFDELETE("includ.cms",3)
WAITMS(200)
EXECUTE("includ.cms")
$res=0
WHILE($res=0)
   $res=TFREAD("input.txt",1)
   WAITMS(100)
END_CYC
PRINT("Вы выбрали: ", $res)
HALT
Второй файл должен лежать рядом с основным и называться includ.cms.
Второй:
Code: (clickermann) [Select]
#autorun
$res = RADIOBOX ("Выберите пункт","1","2","3","4","5")
STRWRITELN("input.txt",$res,1)
HALT(1)
P.S. При первом запуске возможно выскочит ошибка из-за отсутствия файла input.txt, но в дальнейшем всё работает.
P.P.S. Костыль он и есть костыль.

19
Общие вопросы / Re: Параметры radiobox
« on: April 07, 2018, 11:09:59 PM »
Тут костылить по серьезному надо:

20
Вот одна из таких "махинаций".
Code: (clickermann) [Select]
WHILE(ISKEYDOWN(#CAPSLOCK)=0)  // ждем нажатия
   WAITMS(50)
END_CYC

GETSCREEN(100,200,110,210)
$origin=PXLCRC(100,200,110,210)  // сохраняем оригинал

$check=$origin
WHILE($check=$origin)  //  сверяем снимок с оригиналом
   GETSCREEN(100,200,110,210)
   $check=PXLCRC(100,200,110,210)
   WAITMS(100)
END_CYC

LCLICK(105,205)  //  клик мышью

HALT

21
Но надо не забывать что GETSCREEN (буфер анализа) у потоков и основного кода общий, и они могут пересекаться.

22
Зачем ещё поток? Можно добавить ещё одну проверку которая поставит поток на паузу.
Code: (clickermann) [Select]
GETSCREEN(756,374,756,374)
IF(PXL(756,374)=56485)
   SETTHREAD (t2, 2) // 0 - Пауза, 1 - Старт, 2 - Стоп
   LCLICK(589,41)
   WAITMS(500)
   SETTHREAD (t2, 1) // 0 - Пауза, 1 - Старт, 2 - Стоп
ELSE
   GETSCREEN(779,86,779,86)
   IF(PXL(779,86)=131586)
      SETTHREAD (t2, 0) // 0 - Пауза, 1 - Старт, 2 - Стоп
      LCLICK(719,501)
      WAITMS(500)
      SETTHREAD (t2, 1) // 0 - Пауза, 1 - Старт, 2 - Стоп
   ELSE
      WAITMS(250)
   END_IF
END_IF
/////////

23
Вы не правильно понимаете принцип работы потоков. Вот цитата из справки:
"Поток представляет собой независимую цепочку действий, выполняющихся одновременно с основным сценарием и другими потоками."
Попробуйте так:
Code: (clickermann) [Select]
GETSCREEN(756,374,756,374)
IF(PXL(756,374)=56485)
   SETTHREAD (t2, 2) // 0 - Пауза, 1 - Старт, 2 - Стоп
   LCLICK(589,41)
   WAITMS(500)
   SETTHREAD (t2, 1) // 0 - Пауза, 1 - Старт, 2 - Стоп
ELSE
   WAITMS(250)
END_IF
thread(t2)
   LOGWRITE ("Label")
   WAIT(2)
   LOGWRITE ("перемещение курсора 595,452")
   MOVE(351,258)//перемещает курсор мыши
   WAIT(2)
   LOGWRITE ("клик 351,258")
   LCLICK(351,258)//клик
   WAITMS(550)
   LOGWRITE ("Ожидание цвета 595,452")
   $time=$_time_t+10
   GETSCREEN
   WHILE(PXL(595,452)!1563049)
      IF($time<$_time_t)
         LOGWRITE ("клик 351,258")
         LCLICK(351,258)//клик
         WAITMS(550)
         $time=$_time_t+10
      END_IF
      WAITMS(550)
      GETSCREEN
   END_CYC
   WAITMS(550)
   LOGWRITE ("Ожидание цвета 488,69,533,97")
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN (488,69, 533,97, 263515, 2237002)
         $check = 1
         LOGWRITE ("клик 307,86")
         LCLICK(307,86)//клик
         WAIT(6)
      ELSE
         WAIT(5)
      END_IF
   END_CYC
   WAIT(3)
   LOGWRITE ("Ожидание цвета 779,86")
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF(PXL(779,86)=131586)
         $check = 1
         LOGWRITE ("клик 719,501")
         LCLICK(719,501)//клик
         WAITMS(800)
      ELSE
         WAITMS(800)
      END_IF
   END_CYC
   WAIT(1)
   LOGWRITE ("клик 1091,533")
   LCLICK(1091,533)
   WAIT(17)
   LOGWRITE ("клик 1132,179")
   LCLICK(1132,179)
   WAIT(3)
   LOGWRITE ("клик 1091,535")
   LCLICK(1091,535)
   WAITMS(900)
   LOGWRITE ("Ожидание цвета 321,151")
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF(PXL(321,151)=1821599)
         $check = 1
         LOGWRITE ("клик 491,145")
         LCLICK(491,145)//клик
         WAIT(2)
      ELSE
         WAIT(2)
      END_IF
   END_CYC
   WAIT(3)
   LOGWRITE ("Ожидание цвета 691,66")
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF(PXL(691,66)=1563049)
         $check = 1
         LOGWRITE ("клик 596,263")
         LCLICK(596,263)//клик
         WAIT(2)
      ELSE
         WAIT(2)
      END_IF
   END_CYC
   WAIT(3)
   LOGWRITE ("клик 805,289")
   LCLICK(805,289)
   WAIT(3)
   LOGWRITE ("Ожидание цвета 686,335")
   $time=$_time_t+10
   GETSCREEN
   WHILE(PXL(686,335)!819302)
      IF($time<$_time_t)
         LOGWRITE ("клик 803,316")
         LCLICK(803,316)//клик
         WAITMS(550)
         $time=$_time_t+10
      END_IF
      WAITMS(550)
      GETSCREEN
   END_CYC
   WAIT(1)
   LOGWRITE ("клик 697,391")
   LCLICK(697,391)
   WAITMS(50)
   GETSCREEN
   LOGWRITE ("Цвет 692,67 = ", PXL(692,67))
   GETSCREEN
   WHILE(PXL(692,67)=1563049) // ожидает Если в координате 692,67 цвет 1563049
      WAITMS (50)
      GETSCREEN
   END_CYC
   WAITMS(150)
   LOGWRITE ("клик 591,44")
   LCLICK(591,44) // кликаем если цвет 1563049 пропал
   WAITMS(250)
   LOGWRITE ("Ожидание цвета 307,304")
   $time=$_time_t+10
   GETSCREEN
   WHILE(PXL(307,304)!1836252)
      IF($time<$_time_t)
         LOGWRITE ("клик 591,44")
         LCLICK(591,44)//клик
         WAITMS(250)
         $time=$_time_t+10
      END_IF
      WAITMS(250)
      GETSCREEN
   END_CYC
   WAIT(5)
end_thread

24
Общие вопросы / Re: Помогите плз.
« on: March 18, 2018, 08:33:19 PM »
Имена переменных во вложенных циклах должны отличаться.
Code: (clickermann) [Select]
FOR($a=0, $a<3)
   FOR($b=0, $b<4)
      //скрипт 1
   END_CYC
   //скрипт 2
END_CYC
//скрипт 3

25
Code: (clickermann) [Select]
#include "1.cms"Файлы 1.cms 2.cms 3.cms 4.cms 5.cms должны лежать рядом с основным скриптом. Или нужно указать путь
Code: (clickermann) [Select]
#include "папка\1.cms"

26
Сколько укажешь-столько и сделает.

27
Как сделать чтобы после трех проходов кода выше, выполнялся другой код 1 раз и потом продолжался выполнятся основной код, и так каждые 3 раза?
Можно например вот так.
Code: (clickermann) [Select]
$a=1      //  Указать с какой папки начинать
$stop=1000   //  И какой закончить

WHILE($a<$stop+1)
   FOR($b=0,$b<3 & $a<$stop+1)
      EXECUTE (STRCONCAT("C:\Users\Desktop\papka\",$a,"\proga.exe"))
      wait(5)
      LCLICK(55,33)
      wait(1)
      KEYPRESS(#ENTER)
      wait(2)
      INC($a)
   END_CYC
   
   //     Здесь другой код 1 раз
   
END_CYC
HALT

28
...цикл выполняется до тех пор пока $a=0, но так как переменная по умолчанию ноль то цикл сразу пропускает...
Вы противоречите сами себе, и путаете новичков.

29
Code: (clickermann) [Select]
// 17.01.2018
#name "Прием по цвету"

$a=0
while($a=0)
   getscreen
   if(pxl(493,261)=16777215)
      dblclick(697,260)
      wait(15)
      ldown(374,45)
      move(374,14)
      lup(374,14)
      waitms(500)
      lclick(780,113)
      wait(5)
      lclick(414,387)
      wait(30)
      lclick(274,77)
      wait(60)
      lclick(1592,214)
      waitms(500)
   else
      $a=1
   end_if
end_cyc

lclick(31,1052)
halt

30
Предложения / Re: [Alpha/Beta Testing]
« on: November 06, 2017, 07:22:15 PM »
Clickermann v4.13.005b

Он у меня "ослеп".
Функции связанные с поиском картинок (IF_PICTURE_IN, SCANPICTURE,...) не работают.
Windows 7 Максимальная x86 SP1

Pages: 1 [2] 3 4 ... 19