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

Основной раздел => Общие вопросы => Topic started by: Viktor77 on October 16, 2020, 04:25:56 PM

Title: Работа с ссылками
Post by: Viktor77 on October 16, 2020, 04:25:56 PM
так все работает, но стоит добавить в верху пару команд на свернуть все окна и запуск браузера с рабочего стола то получается совсем другой результат, верхние команды так же запускаются повторно. что приводит к некорректной работе.
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
LCLICK(370,55) //клик по панель поиска
WAIT(2)
INC($num,1) // накручиваем номер строки каждый проход
IF($num > TFCOUNT ("servera_1.txt"))
   HALT // стоп
END_IF
TOCLIP (TFREAD ("servera_1.txt", $num)) // копируем строку в буфер
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)
KEYPRESS(#ENTER) // Enter
WAIT (15)
картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
   клик($_return1, $_return2,2000)
END_IF
WAIT(30)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
   клик($_return1+15,$_return2+15,2000)
ELSE
   $check = 0
   WHILE($check = 0)
      KEYPRESS(#F5)  // обновить страницу
      WAIT(30)
      картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
   END_CYC
END_IF
WAIT(3)
картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
   клик($_return1, $_return2,2000)
END_IF
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"32.bmp",10,8,2000)
картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"33.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)//
картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)//
клик(527,190,2000) //
клик(518,370,2000)//
клик(564,585,2000)//
клик(654,188,2000) //
клик(571,310,2000) //
картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000) //
картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000) //
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)//
   клик($_return1+2, $_return2+2,2000)
   клик(567,493,2000)  //
END_IF
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)//
   клик($_return1+5, $_return2+5,2000)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)//
      клик($_return1+5, $_return2+5,2000)
      картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)//
   END_IF
END_IF
WAIT(1)
KEYPRESS(#B)
WAIT(3)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
   DBLCLICK($_return1+15, $_return2+15)
   WAIT(1)
   картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
END_IF
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
   MOVE($_return1+15, $_return2+15)
   WAIT(1)
   IF(FExists(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y)) = 0)//если папки с датой нету
      FCreate(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
   END_IF
   SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y,"\file", $n,".bmp"))
   inc($n)
END_IF
WAIT(1)
KEYPRESS(#B)
WAIT(1)
картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE         // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(15)
LCLICK(370,55) //клик по панель поиска
WAIT(2)
INC($num,1) // накручиваем номер строки каждый проход
IF($num > TFCOUNT ("servera_1.txt"))
   HALT // стоп
END_IF
TOCLIP (TFREAD ("servera_1.txt", $num)) // копируем строку в буфер
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)
KEYPRESS(#ENTER) // Enter
WAIT (15)
картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
   клик($_return1, $_return2,2000)
END_IF
WAIT(30)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
   клик($_return1+15,$_return2+15,2000)
ELSE
   $check = 0
   WHILE($check = 0)
      KEYPRESS(#F5)  // обновить страницу
      WAIT(30)
      картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
   END_CYC
END_IF
WAIT(3)
картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
   клик($_return1, $_return2,2000)
END_IF
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"32.bmp",10,8,2000)
картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"33.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)//
картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)//
клик(527,190,2000) //
клик(518,370,2000)//
клик(564,585,2000)//
клик(654,188,2000) //
клик(571,310,2000) //
картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000) //
картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000) //
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)//
   клик($_return1+2, $_return2+2,2000)
   клик(567,493,2000)  //
END_IF
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)//
   клик($_return1+5, $_return2+5,2000)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)//
      клик($_return1+5, $_return2+5,2000)
      картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)//
   END_IF
END_IF
WAIT(1)
KEYPRESS(#B)
WAIT(3)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
   DBLCLICK($_return1+15, $_return2+15)
   WAIT(1)
   картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
END_IF
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
   MOVE($_return1+15, $_return2+15)
   WAIT(1)
   IF(FExists(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y)) = 0)//если папки с датой нету
      FCreate(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
   END_IF
   SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y,"\file", $n,".bmp"))
   inc($n)
END_IF
WAIT(1)
KEYPRESS(#B)
WAIT(1)
картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
Title: Re: Работа с ссылками
Post by: Vint on October 16, 2020, 05:12:29 PM
А вопрос то какой?

Ну заверни основной код в цикл без этих команд. Или засунь эти команды в одноразовое условие. Это, если я правильно понял.
Title: Re: Работа с ссылками
Post by: Viktor77 on October 16, 2020, 08:06:29 PM
А вопрос то какой?

Ну заверни основной код в цикл без этих команд. Или засунь эти команды в одноразовое условие. Это, если я правильно понял.
возможно вызывать командной строкой execute яндекс браузер или другой браузер с несколькими профилями, нужный профиль?
Title: Re: Работа с ссылками
Post by: Viktor77 on October 18, 2020, 06:52:32 PM
А вопрос то какой?

Ну заверни основной код в цикл без этих команд. Или засунь эти команды в одноразовое условие. Это, если я правильно понял.
добрый вечер вот не могу сообразить как прикрутить, чтоб дальше брало 2 строку с файла LogPass.txt, заходило, и уже работало с  servera_2.txt, и так далее 3 строку LogPass.txt и с  servera_3.txt
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)

LOGWRITE("Всего аккаунтов: ", $count)

IF($a=0,$a<1 )
   клик(1271,1002,2000)
   DBLCLICK(635,30) //запуск браузера
   WAIT(15)
END_IF
IF(TFCOUNT("LogPass.txt") > $count)
   INC($count,1)
ELSE
   HALT // Стоп по достижении конца файла
END_IF
$str = TFREAD ("LogPass.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))


LCLICK(505,345) // клик по полю логина
WAITMS (1000)
TOCLIP($log) // скопировать логин в буфер
WAITMS (50)
KEYDOWN (#CTRL) // вставить
WAITMS (50)
KEYPRESS(#V)
WAITMS (50)
KEYUP (#CTRL)
WAITMS (1000)

KEYPRESS(#TAB) // переход на поле пароля
WAITMS (1000)

//LCLICK(505,395) // клик по полю пароля
WAITMS (1000)
TOCLIP($pass) // скопировать в пароль в буфер
WAITMS (50)
KEYDOWN (#CTRL) // вставить
WAITMS (50)
KEYPRESS(#V)
WAITMS (50)
KEYUP (#CTRL)
WAITMS (1000)
KEYPRESS(#ENTER) // Enter
WAITMS (100)
//LCLICK(640,470) // клик по "Вход"
WAIT(5)
// тут команды после входа

FOR($a=0,$a<16)
   LCLICK(370,55) //клик по панель поиска
   WAIT(2)
   IF(TFCOUNT ("servera_1.txt") > $num)
      INC($num,1) // накручиваем номер строки каждый проход
   ELSE
      HALT // стоп
   END_IF
   TOCLIP (TFREAD ("servera_1.txt", $num)) // копируем строку в буфер
   WAITMS(50)
   KEYDOWN (#CTRL) // Ctrl+V
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS (100)
   KEYPRESS(#ENTER) // Enter
   WAIT (5)
   // тут команды после
END_CYC
//выход
LCLICK(1175,101)  // 2467327
WAIT (5)
Title: Re: Работа с ссылками
Post by: Viktor77 on October 18, 2020, 10:29:02 PM
А вопрос то какой?

Ну заверни основной код в цикл без этих команд. Или засунь эти команды в одноразовое условие. Это, если я правильно понял.
не хочет работать как надо(
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB
SUB(paste) //========== Вставить ===============================================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
IF($a=0,$a<1 )
      клик(1271,1002,2000)
   DBLCLICK(635,30) //запуск браузера
   WAIT(15)
END_IF
FOR($a=0,$a<4)
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   
   FOR($a=0,$a<3)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_1.txt") > $num)
         INC($num,1) // накручиваем номер строки каждый проход
      ELSE
         HALT // Стоп по достижении конца файла
      END_IF
      TOCLIP (TFREAD ("servera_1.txt", $num)) // копируем строку в буфер
      WAITMS(100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
     
     
   END_CYC
   
   
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (10)
   FOR($b=0,$b<3)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_2.txt") > $num)
         INC($num,2) // накручиваем номер строки каждый проход
      ELSE
         HALT // Стоп по достижении конца файла
      END_IF
      TOCLIP (TFREAD ("servera_2.txt", $num)) // копируем строку в буфер
      WAITMS(100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
     
     
   END_CYC
END_CYC
Title: Re: Работа с ссылками
Post by: Viktor77 on October 19, 2020, 01:29:31 AM
А вопрос то какой?

Ну заверни основной код в цикл без этих команд. Или засунь эти команды в одноразовое условие. Это, если я правильно понял.
вот, вроде бы как добил его. все работает. но как сделать чтобы он открывал друг за другом сами текстовики, они идут друг за другом. и не копировать одно и тоже. а через servera_*.txt чтоб он на втором логине подкидывал servera_2.txt и так далее через +1
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB
SUB(paste) //========== Вставить ===============================================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)

LOGWRITE("Всего аккаунтов: ", $count)

IF($a=0,$a<1 )
   клик(1271,1002,2000)
   DBLCLICK(635,30) //запуск браузера
   WAIT(15)
END_IF
FOR($a=0,$a<4)
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   
   FOR($a=0,$a<16)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_1.txt") > $num)
         INC($num,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_1.txt", $num)) // копируем строку в буфер
      WAITMS(100)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
     
     
   END_CYC
   
   
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
   
   
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   
   FOR($a=0,$a<21)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_2.txt") > $num1)
         INC($num1,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_2.txt", $num1)) // копируем строку в буфер
      WAITMS(100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
     
     
   END_CYC
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
   
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   
   
   FOR($a=0,$a<13)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_3.txt") > $num2)
         INC($num2,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_3.txt", $num2)) // копируем строку в буфер
      WAITMS(100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
     
     
   END_CYC
   
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
   
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   
   FOR($a=0,$a<13)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_4.txt") > $num3)
         INC($num3,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_4.txt", $num3)) // копируем строку в буфер
      WAITMS(100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
     
     
   END_CYC
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
END_CYC
Title: Re: Работа с ссылками
Post by: Vint on October 19, 2020, 03:19:56 PM
добрый вечер вот не могу сообразить как прикрутить, чтоб дальше брало 2 строку с файла LogPass.txt, заходило, и уже работало с  servera_2.txt, и так далее 3 строку LogPass.txt и с  servera_3.txt
Code: (clickermann) [Select]
IF(TFCOUNT(STRCONCAT("servera_", $count)) > $num)
    INC($num, 1)
ELSE
    HALT
END_IF
TOCLIP(TFREAD(STRCONCAT("servera_", $count), $num))
Title: Re: Работа с ссылками
Post by: Vint on October 19, 2020, 03:22:12 PM
IF($a=0,$a<1 )

Это сила! А что это такое?

Если тебе нужно сделать запуск браузера только на первом проходе скрипта
Code: (clickermann) [Select]
IF($repeat = 0)
    $repeat = 1
    клик(1271,1002,2000)
    DBLCLICK(635,30) //запуск браузера
    WAIT(15)
END_IF
Title: Re: Работа с ссылками
Post by: Viktor77 on October 19, 2020, 03:49:53 PM
добрый вечер вот не могу сообразить как прикрутить, чтоб дальше брало 2 строку с файла LogPass.txt, заходило, и уже работало с  servera_2.txt, и так далее 3 строку LogPass.txt и с  servera_3.txt
Code: (clickermann) [Select]
IF(TFCOUNT(STRCONCAT("servera_", $count)) > $num)
    INC($num, 1)
ELSE
    HALT
END_IF
TOCLIP(TFREAD(STRCONCAT("servera_", $count), $num))
не работает, заходит логпасс, и после останавливается.
Code: (clickermann) [Select]
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)

LOGWRITE("Всего аккаунтов: ", $count)

IF($repeat = 0)
   $repeat = 1
   клик(1271,1002,2000)
   DBLCLICK(635,30) //запуск браузера
   WAIT(15)
END_IF


IF(TFCOUNT("LogPass.txt") > $count)
   INC($count,1)
ELSE
   HALT // Стоп по достижении конца файла
END_IF
$str = TFREAD ("LogPass.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))


LCLICK(505,345) // клик по полю логина
WAITMS (1000)
TOCLIP($log) // скопировать логин в буфер
WAITMS (100)
paste()


KEYPRESS(#TAB) // переход на поле пароля
WAITMS (1000)

//LCLICK(505,395) // клик по полю пароля
WAITMS (1000)
TOCLIP($pass) // скопировать в пароль в буфер
WAITMS (100)
paste()

KEYPRESS(#ENTER) // Enter
WAITMS (100)
//LCLICK(640,470) // клик по "Вход"
WAIT(5)
// тут команды после входа
IF(TFCOUNT(STRCONCAT("servera_", $count1)) > $num)
   INC($num, 1)
ELSE
   HALT
END_IF
TOCLIP(TFREAD(STRCONCAT("servera_", $count1), $num))
WAITMS(100)
paste()
KEYPRESS(#ENTER) // Enter
WAIT (5)
// тут команды после
//выход
LCLICK(1175,101)  // //выход
WAIT (20)
Title: Re: Работа с ссылками
Post by: Vint on October 19, 2020, 03:54:40 PM
Где ты в моём сообщении увидел $count1 ?
Title: Re: Работа с ссылками
Post by: Vint on October 19, 2020, 03:57:12 PM
И куда у тебя цикл пропал на 21 раз
Title: Re: Работа с ссылками
Post by: Viktor77 on October 19, 2020, 03:59:20 PM
Где ты в моём сообщении увидел $count1 ?
так в верхнем условии есть уже такая переменная  $count
Title: Re: Работа с ссылками
Post by: Viktor77 on October 19, 2020, 04:07:46 PM
Где ты в моём сообщении увидел $count1 ?
можно ли это условие положить в подпрограмму или массив? т.к это действие повторяется после загрузки с ссылки, с файла "servera_", и как можно "wait" заменить на таймеры?
Code: (clickermann) [Select]
картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
   клик($_return1, $_return2,2000)
END_IF
WAIT(30)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
   клик($_return1+15,$_return2+15,2000)
ELSE
   $check = 0
   WHILE($check = 0)
      KEYPRESS(#F5)  // обновить страницу
      WAIT(30)
      картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
   END_CYC
END_IF
WAIT(3)
картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
   клик($_return1, $_return2,2000)
END_IF
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"32.bmp",10,8,2000)
картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"33.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)//
картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)//
клик(527,190,2000) //
клик(518,370,2000)//
клик(564,585,2000)//
клик(654,188,2000) //
клик(571,310,2000) //
картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000) //
картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000) //
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)//
   клик($_return1+2, $_return2+2,2000)
   клик(567,493,2000)  //
END_IF
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)//
   клик($_return1+5, $_return2+5,2000)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)//
      клик($_return1+5, $_return2+5,2000)
      картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)//
   END_IF
END_IF
WAIT(1)
KEYPRESS(#B)
WAIT(3)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
   DBLCLICK($_return1+15, $_return2+15)
   WAIT(1)
   картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
END_IF
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
   MOVE($_return1+15, $_return2+15)
   WAIT(1)
   IF(FExists(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y)) = 0)//если папки с датой нету
      FCreate(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
   END_IF
   SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y,"\file", $n,".bmp"))
   inc($n)
END_IF
WAIT(1)
KEYPRESS(#B)
WAIT(1)
картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
Title: Re: Работа с ссылками
Post by: Vint on October 19, 2020, 04:17:21 PM
так в верхнем условии есть уже такая переменная  $count
Это она и есть!


Бдительность похвальна. Но не там  :) ;D  Чего ж ты у себя 3 раза использовал переменную $a во вложенных циклах. Это ведь совсем ломает твой скрипт.
Title: Re: Работа с ссылками
Post by: Viktor77 on October 19, 2020, 04:25:42 PM
И куда у тебя цикл пропал на 21 раз
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)

LOGWRITE("Всего аккаунтов: ", $count)

IF($repeat = 0)
   $repeat = 1 
   клик(1271,1002,2000)
   DBLCLICK(635,30) //запуск браузера
   WAIT(15)
END_IF


IF(TFCOUNT("LogPass.txt") > $count)
   INC($count,1)
ELSE
   HALT // Стоп по достижении конца файла
END_IF
$str = TFREAD ("LogPass.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))


LCLICK(505,345) // клик по полю логина
WAITMS (1000)
TOCLIP($log) // скопировать логин в буфер
WAITMS (100)
paste()


KEYPRESS(#TAB) // переход на поле пароля
WAITMS (1000)

//LCLICK(505,395) // клик по полю пароля
WAITMS (1000)
TOCLIP($pass) // скопировать в пароль в буфер
WAITMS (100)
paste()

KEYPRESS(#ENTER) // Enter
WAITMS (100)
//LCLICK(640,470) // клик по "Вход"
WAIT(5)
// тут команды после входа
// вот тут и останавливается, срабатывает HALT
FOR($a=0,$a<9)
   IF(TFCOUNT(STRCONCAT("servera_", $count)) > $num)
      INC($num, 1)
   ELSE
      HALT
   END_IF
   LCLICK(370,55) //клик по панель поиска
   WAIT(2)
   TOCLIP(TFREAD(STRCONCAT("servera_", $count), $num))
   WAITMS(100)
   paste()
   KEYPRESS(#ENTER) // Enter
   WAIT (5)
   // тут команды после
END_CYC
//выход
LCLICK(1175,101)  // //выход
WAIT (20)
Title: Re: Работа с ссылками
Post by: Vint on October 19, 2020, 04:26:39 PM
Я вообще не понимаю что там происходит. Что ты откуда читаешь. У тебя каждый раз разный скрипт.
То ты 16 раз читаешь строки из servera_, то два раза по три строки из servera_, то совсем этот кусок выкинул.
Мне непонятно что это и что тебе нужно.
Title: Re: Работа с ссылками
Post by: Viktor77 on October 19, 2020, 04:37:49 PM
считываю логин и пароль с файла LogPass первую строку, выполняется вход, и тут нужно считать servera_1, выход, второй логин и пароль, и уже на втором логине servera_2. и так далее, пока не закончатся логины и пароли и сервера. разные файлы servera_, в одном файле servera_1 3 ссылок, в другом servera_2 ссылки, в третьем 2 ссылки, в четвертом 10.
Title: Re: Работа с ссылками
Post by: Viktor77 on October 19, 2020, 04:43:48 PM
Я вообще не понимаю что там происходит. Что ты откуда читаешь. У тебя каждый раз разный скрипт.
То ты 16 раз читаешь строки из servera_, то два раза по три строки из servera_, то совсем этот кусок выкинул.
Мне непонятно что это и что тебе нужно.
вот так работает все как надо, хоть как вы подметили, с одной и той же переменной $a
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------
 
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
 
LOGWRITE("Всего аккаунтов: ", $count)
 
IF($a=0,$a<1 )
   клик(1271,1002,2000)
   DBLCLICK(635,30) //запуск браузера
   WAIT(15)
END_IF
FOR($a=0,$a<4)
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
 
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
 
   FOR($a=0,$a<16)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_1.txt") > $num)
         INC($num,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_1.txt", $num)) // копируем строку в буфер
      WAITMS(100)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
 
 
   END_CYC
 
 
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
 
 
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
 
   FOR($a=0,$a<21)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_2.txt") > $num1)
         INC($num1,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_2.txt", $num1)) // копируем строку в буфер
      WAITMS(100)
      paste()
 
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
 
 
   END_CYC
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
 
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
 
 
   FOR($a=0,$a<13)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_3.txt") > $num2)
         INC($num2,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_3.txt", $num2)) // копируем строку в буфер
      WAITMS(100)
      paste()
 
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
 
 
   END_CYC
 
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
 
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
 
   FOR($a=0,$a<13)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_4.txt") > $num3)
         INC($num3,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_4.txt", $num3)) // копируем строку в буфер
      WAITMS(100)
      paste()
 
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
 
 
   END_CYC
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
END_CYC
Title: Re: Работа с ссылками
Post by: Vint on October 19, 2020, 05:00:46 PM
Нет. Не работает оно нормально. Цикл
FOR($a=0,$a<4) не работает совсем. Он выполняется 1 раз.
А внутри 4 раза руками прописано повторение.
Title: Re: Работа с ссылками
Post by: Vint on October 19, 2020, 05:45:36 PM
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
    KEYDOWN(#CTRL) // Ctrl+V
    WAITMS(50)
    KEYPRESS(#V)
    WAITMS(50)
    KEYUP(#CTRL)
    WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(15)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $akk <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)

    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))

    LCLICK(505,345) // клик по полю логина
    WAITMS (1000)
    TOCLIP($log) // скопировать логин в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#TAB) // переход на поле пароля
    WAITMS (1000)

    //LCLICK(505,395) // клик по полю пароля
    WAITMS (1000)
    TOCLIP($pass) // скопировать в пароль в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#ENTER) // Enter
    WAITMS (100)
    //LCLICK(640,470) // клик по "Вход"
    WAIT(5)
    // тут команды после входа

    $servera = STRCONCAT("servera_", $akk)
    $serv_len = TFCOUNT($servera)
    FOR($serv=1, $serv <= $serv_len)
        LCLICK(370,55) //клик по панель поиска
        WAIT(2)
        TOCLIP(TFREAD($servera, $serv))
        WAITMS(100)
        paste()
        KEYPRESS(#ENTER)
        WAIT (5)
        // тут команды после
    END_CYC

    //выход
    LCLICK(1175,101)  // 2467327
    WAIT(20)
END_CYC

HALT
Title: Re: Работа с ссылками
Post by: Viktor77 on October 19, 2020, 06:19:40 PM
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
    KEYDOWN(#CTRL) // Ctrl+V
    WAITMS(50)
    KEYPRESS(#V)
    WAITMS(50)
    KEYUP(#CTRL)
    WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(15)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)

    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))

    LCLICK(505,345) // клик по полю логина
    WAITMS (1000)
    TOCLIP($log) // скопировать логин в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#TAB) // переход на поле пароля
    WAITMS (1000)

    //LCLICK(505,395) // клик по полю пароля
    WAITMS (1000)
    TOCLIP($pass) // скопировать в пароль в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#ENTER) // Enter
    WAITMS (100)
    //LCLICK(640,470) // клик по "Вход"
    WAIT(5)
    // тут команды после входа

    $servera = STRCONCAT("servera_", $akk)
    $serv_len = TFCOUNT($servera)
    FOR($serv=1, $serv <= $serv_len)
        LCLICK(370,55) //клик по панель поиска
        WAIT(2)
        TOCLIP(TFREAD($servera, $serv))
        WAITMS(100)
        paste()
        KEYPRESS(#ENTER)
        WAIT (5)
        // тут команды после
    END_CYC

    //выход
    LCLICK(1175,101)  // 2467327
    WAIT(20)
END_CYC

HALT
Спасибо. А можно ли это условие положить в подпрограмму или массив? т.к это действие повторяется после загрузки с ссылки, с файла "servera_", и как можно "wait" заменить на таймеры?
Code: (clickermann) [Select]
картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
   клик($_return1, $_return2,2000)
END_IF
WAIT(30)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
   клик($_return1+15,$_return2+15,2000)
ELSE
   $check = 0
   WHILE($check = 0)
      KEYPRESS(#F5)  // обновить страницу
      WAIT(30)
      картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
   END_CYC
END_IF
WAIT(3)
картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
   клик($_return1, $_return2,2000)
END_IF
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"32.bmp",10,8,2000)
картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"33.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)//
картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)//
клик(527,190,2000) //
клик(518,370,2000)//
клик(564,585,2000)//
клик(654,188,2000) //
клик(571,310,2000) //
картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000) //
картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000) //
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)//
   клик($_return1+2, $_return2+2,2000)
   клик(567,493,2000)  //
END_IF
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)//
   клик($_return1+5, $_return2+5,2000)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)//
      клик($_return1+5, $_return2+5,2000)
      картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)//
   END_IF
END_IF
WAIT(1)
KEYPRESS(#B)
WAIT(3)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
   DBLCLICK($_return1+15, $_return2+15)
   WAIT(1)
   картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
END_IF
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
   MOVE($_return1+15, $_return2+15)
   WAIT(1)
   IF(FExists(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y)) = 0)//если папки с датой нету
      FCreate(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
   END_IF
   SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y,"\file", $n,".bmp"))
   inc($n)
END_IF
WAIT(1)
KEYPRESS(#B)
WAIT(1)
картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
Title: Re: Работа с ссылками
Post by: Vint on October 19, 2020, 06:32:11 PM
Какое 'это' условие? В приведённом куске, куча кода.
Всё можно поместить в подпрограмму, любой кусок который нравится.
Title: Re: Работа с ссылками
Post by: Viktor77 on October 19, 2020, 07:38:16 PM
Какое 'это' условие? В приведённом куске, куча кода.
Всё можно поместить в подпрограмму, любой кусок который нравится.
подскажите как это сделать, чтоб все поместить в подпрограммы.
Title: Re: Работа с ссылками
Post by: Viktor77 on October 19, 2020, 08:02:22 PM
Какое 'это' условие? В приведённом куске, куча кода.
Всё можно поместить в подпрограмму, любой кусок который нравится.
верно написано?
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
клик(527,190,2000) //
клик(518,370,2000)//
клик(564,585,2000)//
клик(654,188,2000) //
клик(571,310,2000) //
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(mysub_1)
клик(527,190,2000)
клик(518,370,2000)
клик(564,585,2000)
клик(654,188,2000)
клик(571,310,2000)
END_SUB
// вызов подпрограммы
mysub_1()
Title: Re: Работа с ссылками
Post by: Viktor77 on October 20, 2020, 12:49:23 AM
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
    KEYDOWN(#CTRL) // Ctrl+V
    WAITMS(50)
    KEYPRESS(#V)
    WAITMS(50)
    KEYUP(#CTRL)
    WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(15)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)

    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))

    LCLICK(505,345) // клик по полю логина
    WAITMS (1000)
    TOCLIP($log) // скопировать логин в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#TAB) // переход на поле пароля
    WAITMS (1000)

    //LCLICK(505,395) // клик по полю пароля
    WAITMS (1000)
    TOCLIP($pass) // скопировать в пароль в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#ENTER) // Enter
    WAITMS (100)
    //LCLICK(640,470) // клик по "Вход"
    WAIT(5)
    // тут команды после входа

    $servera = STRCONCAT("servera_", $akk)
    $serv_len = TFCOUNT($servera)
    FOR($serv=1, $serv <= $serv_len)
        LCLICK(370,55) //клик по панель поиска
        WAIT(2)
        TOCLIP(TFREAD($servera, $serv))
        WAITMS(100)
        paste()
        KEYPRESS(#ENTER)
        WAIT (5)
        // тут команды после
    END_CYC

    //выход
    LCLICK(1175,101)  // 2467327
    WAIT(20)
END_CYC

HALT
работает но не совсем, заходит на 1 аккаунт с файла "LogPass.txt" и выходит, и так по всем аккаунтам которые находятся в текстовом файле "LogPass.txt". но сервера не грузит с файла "servera_1.txt" и других файлов: "servera_2.txt", "servera_3.txt", "servera_4.txt"... во всех файлах "servera_1.txt" и далее "servera_2.txt", "servera_3.txt", "servera_4.txt"...:  собраны ссылки, в каждом файле разные ссылки и разное количество.
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB

SUB(paste) //========== Вставить ===============================================
    KEYDOWN(#CTRL) // Ctrl+V
    WAITMS(50)
    KEYPRESS(#V)
    WAITMS(50)
    KEYUP(#CTRL)
    WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------
 
LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)
 
клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(15)
 
$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)
 
FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)
 
    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
    LCLICK(505,345) // клик по полю логина
    WAITMS (1000)
    TOCLIP($log) // скопировать логин в буфер
    WAITMS (100)
    paste()
 
    KEYPRESS(#TAB) // переход на поле пароля
    WAITMS (1000)
 
    //LCLICK(505,395) // клик по полю пароля
    WAITMS (1000)
    TOCLIP($pass) // скопировать в пароль в буфер
    WAITMS (100)
    paste()
 
    KEYPRESS(#ENTER) // Enter
    WAITMS (100)
    //LCLICK(640,470) // клик по "Вход"
    WAIT(5)
    // тут команды после входа
 
    $servera = STRCONCAT("servera_", $akk)
    $serv_len = TFCOUNT($servera)
    FOR($serv=1, $serv <= $serv_len)
        LCLICK(370,55) //клик по панель поиска
        WAIT(2)
        TOCLIP(TFREAD($servera, $serv))
        WAITMS(100)
        paste()
        KEYPRESS(#ENTER)
        WAIT (5)
        // тут команды после
    END_CYC
 
    //выход
    LCLICK(1175,101)  // 2467327
    WAIT(20)
END_CYC
 
HALT
Title: Re: Работа с ссылками
Post by: Vint on October 20, 2020, 08:11:36 AM
Опечатался я
Code: (clickermann) [Select]
FOR($akk=1, $a <= $akk_total)
Конечно же
Code: (clickermann) [Select]
FOR($akk=1, $akk <= $akk_total)ну ты хоть посмотри в код. Это по поводу ошибки.

А по поводу
Quote
но сервера не грузит с файла "servera_1.txt"
я не в курсе. Я только переписал твои действия. Что там у тебя не грузит проверь, расставь логи.
Выведи правильно ли формирует имена файлов print("servera", $servera)
Выведи, что читает из файла на каждом проходе print("ссылка", TFREAD($servera, $serv))

Quote
собраны ссылки, в каждом файле разные ссылки и разное количество.
это и так всё понятно уже.
Title: Re: Работа с ссылками
Post by: Viktor77 on October 20, 2020, 10:30:46 PM
Опечатался я
Code: (clickermann) [Select]
FOR($akk=1, $a <= $akk_total)
Конечно же
Code: (clickermann) [Select]
FOR($akk=1, $akk <= $akk_total)ну ты хоть посмотри в код. Это по поводу ошибки.

А по поводу
Quote
но сервера не грузит с файла "servera_1.txt"
я не в курсе. Я только переписал твои действия. Что там у тебя не грузит проверь, расставь логи.
Выведи правильно ли формирует имена файлов print("servera", $servera)
Выведи, что читает из файла на каждом проходе print("ссылка", TFREAD($servera, $serv))

Quote
собраны ссылки, в каждом файле разные ссылки и разное количество.
это и так всё понятно уже.
вот так все работает,
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB

SUB(paste) //========== Вставить ===============================================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
   
   $str = TFREAD ("LogPass.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   $servera = STRCONCAT("servera_", $akk,".txt")
   $serv_len = TFCOUNT($servera)
   FOR($serv=1, $serv <= $serv_len)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      TOCLIP(TFREAD($servera,$serv))
      WAITMS(100)
      print("файл ", $servera)
      print("ссылка ", TFREAD($servera, $serv))
      paste()
      WAITMS(50)
     
     
      KEYPRESS(#ENTER)
      WAIT (5)
      // тут команды после
   END_CYC
   
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT(10)
END_CYC

HALT
Title: Re: Работа с ссылками
Post by: Viktor77 on October 20, 2020, 10:32:53 PM
Какое 'это' условие? В приведённом куске, куча кода.
Всё можно поместить в подпрограмму, любой кусок который нравится.
поместил все в подпрограммы, но в правильности сомневаюсь(
Code: (clickermann) [Select]
//=============================================
SUB(mysub_1)
   картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
END_SUB
//=============================================
SUB(mysub_2)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
      клик($_return1, $_return2,2000)
   END_IF
   WAIT(30)
END_SUB
//=============================================
SUB(mysub_3)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
      клик($_return1+15,$_return2+15,2000)
   ELSE
      $check = 0
      WHILE($check = 0)
         KEYPRESS(#F5)  // обновить страницу
         WAIT(30)
         картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
      END_CYC
   END_IF
   WAIT(3)
END_SUB
//=============================================
SUB(mysub_4)
   картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
      клик($_return1, $_return2,2000)
   END_IF
END_SUB
//=============================================
SUB(mysub_5)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"32.bmp",10,8,2000)
   картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"33.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)
   картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)
   картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)
END_SUB
//=============================================
SUB(mysub_6)
   клик(527,190,2000)
   клик(518,370,2000)
   клик(564,585,2000)
   клик(654,188,2000)
   клик(571,310,2000)
END_SUB
//=============================================
SUB(mysub_7)
   картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
END_SUB
//=============================================
SUB(mysub_8)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)
      клик($_return1+2, $_return2+2,2000)
      клик(567,493,2000)
   END_IF
END_SUB
//=============================================
SUB(mysub_9)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)
      клик($_return1+5, $_return2+5,2000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)
         клик($_return1+5, $_return2+5,2000)
         картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)
      END_IF
   END_IF
   WAIT(1)
   KEYPRESS(#B)
   WAIT(3)
END_SUB
//=============================================
SUB(mysub_10)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
      DBLCLICK($_return1+15, $_return2+15)
      WAIT(1)
      картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
   END_IF
END_SUB
//=============================================
SUB(mysub_11)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
      MOVE($_return1+15, $_return2+15)
      WAIT(1)
      IF(FExists(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y)) = 0)//если папки с датой нету
         FCreate(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
      END_IF
      SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y,"\file", $n,".bmp"))
      inc($n)
   END_IF
   WAIT(1)
   KEYPRESS(#B)
   WAIT(1)
END_SUB
//=============================================
SUB(mysub_12)
   картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)
   картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
END_SUB


LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
mysub_1()
mysub_2()
mysub_3()
mysub_4()
mysub_5()
mysub_6()
mysub_7()
mysub_8()
mysub_9()
mysub_10()
mysub_11()
mysub_12()
HALT
Title: Re: Работа с ссылками
Post by: Viktor77 on October 22, 2020, 05:22:59 PM
Опечатался я
Code: (clickermann) [Select]
FOR($akk=1, $a <= $akk_total)
Конечно же
Code: (clickermann) [Select]
FOR($akk=1, $akk <= $akk_total)ну ты хоть посмотри в код. Это по поводу ошибки.

А по поводу
Quote
но сервера не грузит с файла "servera_1.txt"
я не в курсе. Я только переписал твои действия. Что там у тебя не грузит проверь, расставь логи.
Выведи правильно ли формирует имена файлов print("servera", $servera)
Выведи, что читает из файла на каждом проходе print("ссылка", TFREAD($servera, $serv))

Quote
собраны ссылки, в каждом файле разные ссылки и разное количество.
это и так всё понятно уже.
есть 8 логинов, но на 5ом логине меняется координата ввода логина и пароля, так как другой сайт. как можно сделать?
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)
//сайт 1 vk.com
//сайт 2 ok.ru

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)
 
FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)
 
    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
    LCLICK(505,345) // клик по полю логина, меняется координата на 100,100
    WAITMS (1000)
    TOCLIP($log) // скопировать логин в буфер
    WAITMS (100)
    paste()
 
    KEYPRESS(#TAB) // переход на поле пароля
    WAITMS (1000)
 
    //LCLICK(505,395) // клик по полю пароля
    WAITMS (1000)
    TOCLIP($pass) // скопировать в пароль в буфер
    WAITMS (100)
    paste()
 
    KEYPRESS(#ENTER) // Enter
    WAITMS (100)
END_CYC
Title: Re: Работа с ссылками
Post by: Vint on October 23, 2020, 08:16:58 AM
Code: (clickermann) [Select]
FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)
   
    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
    IF($akk < 5)
        LCLICK(505, 345)
    ELSE
        LCLICK(100, 100)
    END_IF
    ...
Title: Re: Работа с ссылками
Post by: Viktor77 on October 23, 2020, 08:51:22 AM
Code: (clickermann) [Select]
FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)
   
    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
    IF($akk < 5)
        LCLICK(505, 345)
    ELSE
        LCLICK(100, 100)
    END_IF
    ...
и подскажите как  добавить чтение файла, перед LCLICK(505, 345) ввод первой строки из файла "portal.txt" , перед LCLICK(100, 100) ввод второй строки из файла "portal.txt", повлияет это на скорость работы? или лучше прям в скрипте добавить ссылки без чтения из файла? что именно убивает команда убить процесс? EXECUTE("taskkill","/IM firefox.exe")
Code: (clickermann) [Select]
FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)
   
    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
    IF($akk < 5)
        LCLICK(505, 345)
    ELSE
        LCLICK(100, 100)
    END_IF
Title: Re: Работа с ссылками
Post by: Vint on October 23, 2020, 09:10:09 AM
и подскажите как  добавить чтение файла, перед LCLICK(505, 345) ввод первой строки из файла "portal.txt" , перед LCLICK(100, 100) ввод второй строки из файла "portal.txt"
Code: (clickermann) [Select]
IF($akk < 5)
    $portal = TFREAD("portal.txt", 1)
    // здесь ввод строки, чтобы это не значило
    LCLICK(505, 345)
ELSE
    $portal = TFREAD("portal.txt", 2)
    // здесь ввод строки, чтобы это не значило
    LCLICK(100, 100)
END_IF

повлияет это на скорость работы? или лучше прям в скрипте добавить ссылки без чтения из файла?
О какой скорости речь в данном скрипте? Основное время мы ждём реакции браузера.
Через файл или прямо строкой зависит от задачи. Если ссылки нужно будет менять, то чтоб не править всё время скрипт - вынести в файл.

что именно убивает команда убить процесс? EXECUTE("taskkill","/IM firefox.exe")
убивает процесс firefox.exe. Очевидно же©
Title: Re: Работа с ссылками
Post by: Viktor77 on October 23, 2020, 09:22:12 AM
и подскажите как  добавить чтение файла, перед LCLICK(505, 345) ввод первой строки из файла "portal.txt" , перед LCLICK(100, 100) ввод второй строки из файла "portal.txt"
Code: (clickermann) [Select]
IF($akk < 5)
    $portal = TFREAD("portal.txt", 1)
    // здесь ввод строки, чтобы это не значило
    LCLICK(505, 345)
ELSE
    $portal = TFREAD("portal.txt", 2)
    // здесь ввод строки, чтобы это не значило
    LCLICK(100, 100)
END_IF

повлияет это на скорость работы? или лучше прям в скрипте добавить ссылки без чтения из файла?
О какой скорости речь в данном скрипте? Основное время мы ждём реакции браузера.
Через файл или прямо строкой зависит от задачи. Если ссылки нужно будет менять, то чтоб не править всё время скрипт - вынести в файл.

что именно убивает команда убить процесс? EXECUTE("taskkill","/IM firefox.exe")
убивает процесс firefox.exe. Очевидно же©
спасибо большое что помогаете. да, тут понятно убивает процесс лисы, но что именно, насколько опасная команда?
как можно тут сделать чтобы за 10 дней хранились скрины, а остальные удалялись?
Code: (clickermann) [Select]
IF(FExists(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y)) = 0)//если папки с датой нету
            FCreate(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y))//то создаем ее  - C:\files\twin1\6-11-2019  на сегодняшний день
         END_IF
         SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y,"\file", $n,".bmp"))
         inc($n)
      END_IF
Title: Re: Работа с ссылками
Post by: Viktor77 on October 23, 2020, 05:20:56 PM
и подскажите как  добавить чтение файла, перед LCLICK(505, 345) ввод первой строки из файла "portal.txt" , перед LCLICK(100, 100) ввод второй строки из файла "portal.txt"
Code: (clickermann) [Select]
IF($akk < 5)
    $portal = TFREAD("portal.txt", 1)
    // здесь ввод строки, чтобы это не значило
    LCLICK(505, 345)
ELSE
    $portal = TFREAD("portal.txt", 2)
    // здесь ввод строки, чтобы это не значило
    LCLICK(100, 100)
END_IF

повлияет это на скорость работы? или лучше прям в скрипте добавить ссылки без чтения из файла?
О какой скорости речь в данном скрипте? Основное время мы ждём реакции браузера.
Через файл или прямо строкой зависит от задачи. Если ссылки нужно будет менять, то чтоб не править всё время скрипт - вынести в файл.

что именно убивает команда убить процесс? EXECUTE("taskkill","/IM firefox.exe")
убивает процесс firefox.exe. Очевидно же©
все работает нормально но стопанулся я на выходе, разные координаты на выходе.
Code: (clickermann) [Select]
     
   END_CYC
   
   //выход
   LCLICK(1175,101)  // выход
   WAIT(10)
//LCLICK(1000,100)  // выход2
END_CYC
Title: Re: Работа с ссылками
Post by: Vint on October 23, 2020, 06:44:48 PM
тут понятно убивает процесс лисы, но что именно, насколько опасная команда?
Лучше закрывать штатно. Через клавиатуру или вкладку Ctrl+F4  или программу Alt+F4

как можно тут сделать чтобы за 10 дней хранились скрины, а остальные удалялись?
Code: (clickermann) [Select]
$older = 10  // старее N дней

IF($sgfvkvjgka = 0)
    STRSEPARATE("31,28,31,30,31,30,31,31,30,31,30,31", ",", $md)
    $sgfvkvjgka = 1
END_IF

SUB(day_of_year, $dy_d, $dy_m, $dy_y)
    $fdm = 0
    FOR($dyi=0, $dyi < ($dy_m-1))
        $fdm = $fdm + $md[$dyi]
    END_CYC
    $full_day = $dy_y*365 + $fdm + $dy_d
END_SUB


day_of_year($_date_d, $_date_m, $_date_y)
$cur_day = $full_day

GETDIRLIST($twins, "files\twin*")
FOR($tw=0, $tw < ARRSIZE($twins))
    $twin = $twins[$tw]
    LOGWRITE($twin)
   
    $mask = STRCONCAT("files\", $twin, "\*")
    GETDIRLIST($dirs, $mask)
    FOR($i=0, $i < ARRSIZE($dirs))
        $dir = $dirs[$i]
        STRSEPARATE($dir, "-", $dat)
        day_of_year(INT($dat[0]), INT($dat[1]), INT($dat[2]))
        $folder_day = $full_day
       
        IF(($cur_day - $folder_day) > $older-1)
            $fullname = STRCONCAT("files\", $twin, "\", $dir)
            FDELETE($fullname)
            LOGWRITE("   ├─", $dir, "   Old  ", $fullname)     
        ELSE
            LOGWRITE("   ├─", $dir)
            //LOGWRITE("   ├─", $dir, "   Ok")
        END_IF
    END_CYC
    //LOGWRITE()
END_CYC
Пути под свои подправишь

Code: [Select]
18:38:51 twin1
18:38:51    ├─12-10-2020   Old  files\twin1\12-10-2020
18:38:51    ├─13-10-2020   Old  files\twin1\13-10-2020
18:38:51    ├─14-10-2020
18:38:51    ├─20-10-2020
18:38:52    ├─6-11-2019   Old  files\twin1\6-11-2019
18:38:52 twin2
18:38:52    ├─12-10-2020   Old  files\twin2\12-10-2020
18:38:52    ├─13-10-2020   Old  files\twin2\13-10-2020
18:38:52    ├─14-10-2020
18:38:52    ├─20-10-2020
18:38:52    ├─6-11-2019   Old  files\twin2\6-11-2019

И лучше сохраняй год-месяц-число  (YY-MM-DD)  тогда выстраиваться всегда будет в правильном порядке, легче ориентироваться и искать
Title: Re: Работа с ссылками
Post by: Vint on October 23, 2020, 06:47:46 PM
стопанулся я на выходе, разные координаты на выходе.

По аналогии.


P.S. Не цитируй больше одного вложения, это очень мешает и забивает ветку.
Title: Re: Работа с ссылками
Post by: Viktor77 on October 23, 2020, 08:55:09 PM

По аналогии.


P.S. Не цитируй больше одного вложения, это очень мешает и забивает ветку.
[/quote]
можно конечно сделать немного иначе, логпасс, сервера_ к вк, а логпасс1 сервера1_ к ок.  таким образом не забивать ветку?
Code: (clickermann) [Select]
LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
   
   $str = TFREAD ("LogPass.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   $servera = STRCONCAT("servera_", $akk,".txt")
   $serv_len = TFCOUNT($servera)
   FOR($serv=1, $serv <= $serv_len)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      TOCLIP(TFREAD($servera,$serv))
      WAITMS(100)
      print("файл ", $servera)
      print("ссылка ", TFREAD($servera, $serv))
      paste()
      WAITMS(50)
     
     
      KEYPRESS(#ENTER)
      WAIT (5)
      // тут команды после
   END_CYC
   
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT(10)
END_CYC
//закрыть браузер


клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)

$akk_total = TFCOUNT("LogPass1.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
   
   $str = TFREAD ("LogPass1.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   LCLICK(100,100) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   $servera1 = STRCONCAT("servera1_", $akk,".txt")
   $serv_len = TFCOUNT($servera1)
   FOR($serv=1, $serv <= $serv_len)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      TOCLIP(TFREAD($servera1,$serv))
      WAITMS(100)
      print("файл ", $servera1)
      print("ссылка ", TFREAD($servera1, $serv))
      paste()
      WAITMS(50)
     
     
      KEYPRESS(#ENTER)
      WAIT (5)
      // тут команды после
   END_CYC
   
   //выход
   LCLICK(585,333)  // 2467327
   WAIT(10)
END_CYC
Title: Re: Работа с ссылками
Post by: Vint on October 23, 2020, 10:53:53 PM
Оверквотинг - излишнее цитирование. Не цитируй с двумя и более уровнями вложенности. Не цитируй лишнее. Простыни на весь экран где ты сам себя цитируешь на втором уровне.
Title: Re: Работа с ссылками
Post by: Viktor77 on October 24, 2020, 02:15:35 AM
Оверквотинг - излишнее цитирование. Не цитируй с двумя и более уровнями вложенности. Не цитируй лишнее. Простыни на весь экран где ты сам себя цитируешь на втором уровне.
можно что придумать с выходом 1 и 2? или нужно отдельно цикл для вк, ок с разными файлами логпасс и сервера?
Code: (clickermann) [Select]
END_CYC
 
   //выход
   LCLICK(1175,101)  // выход1
   WAIT(10)
//LCLICK(1000,100)  // выход2
END_CYC
 

Code: (clickermann) [Select]
LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)
 
клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)
 
$akk_total = TFCOUNT("LogPass.txt") //для вк
LOGWRITE("Всего аккаунтов: ", $akk_total)
 
FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
 
   $str = TFREAD ("LogPass.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   $servera = STRCONCAT("servera_", $akk,".txt")
   $serv_len = TFCOUNT($servera)
   FOR($serv=1, $serv <= $serv_len)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      TOCLIP(TFREAD($servera,$serv))
      WAITMS(100)
      print("файл ", $servera)
      print("ссылка ", TFREAD($servera, $serv))
      paste()
      WAITMS(50)
 
 
      KEYPRESS(#ENTER)
      WAIT (5)
      // тут команды после
   END_CYC
 
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT(10)
END_CYC
//закрыть браузер
 
 
клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)
 
$akk_total = TFCOUNT("LogPass1.txt") //для ок
LOGWRITE("Всего аккаунтов: ", $akk_total)
 
FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
 
   $str = TFREAD ("LogPass1.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
   LCLICK(100,100) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   $servera1 = STRCONCAT("servera1_", $akk,".txt")
   $serv_len = TFCOUNT($servera1)
   FOR($serv=1, $serv <= $serv_len)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      TOCLIP(TFREAD($servera1,$serv))
      WAITMS(100)
      print("файл ", $servera1)
      print("ссылка ", TFREAD($servera1, $serv))
      paste()
      WAITMS(50)
 
 
      KEYPRESS(#ENTER)
      WAIT (5)
      // тут команды после
   END_CYC
 
   //выход
   LCLICK(585,333)  // 2467327
   WAIT(10)
END_CYC
Title: Re: Работа с ссылками
Post by: Vint on October 26, 2020, 10:12:45 AM
можно что придумать с выходом 1 и 2? или нужно отдельно цикл для вк, ок с разными файлами логпасс и сервера?
Code: (clickermann) [Select]
END_CYC
 
   //выход
   LCLICK(1175,101)  // выход1
   WAIT(10)
//LCLICK(1000,100)  // выход2
END_CYC
 


Говорю же, по аналогии с вот этим:
Code: (clickermann) [Select]
    IF($akk < 5)
        $portal = TFREAD("portal.txt", 1)
        // здесь ввод строки, чтобы это не значило
        LCLICK(505, 345)
    ELSE
        $portal = TFREAD("portal.txt", 2)
        // здесь ввод строки, чтобы это не значило
        LCLICK(100, 100)
    END_IF

Ты не можешь условие вставить?
Title: Re: Работа с ссылками
Post by: Viktor77 on October 30, 2020, 03:55:09 PM
Ты не можешь условие вставить?
как можно этот код поставить на поток, чтобы при ошибке или слетел флеш ставился первый поток на паузу, и после обновления страницы продолжал с этого же акк и сервера на котором встал скрипт?
Code: (clickermann) [Select]
//=============================================
SUB(paste) //========== Вставить ==============================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//=============================================
SUB(лог,$note) //=============== Запись в лог файл =============
   IF($note = "пробел")
      LOGWRITE (" ")
      TFWRITE("Log.txt", " ")
   ELSE
      $th = $_time_h
      $tm = $_time_m
      $ts = $_time_s
      $dd = $_date_d
      $dm = $_date_m
      $dy = $_date_y
     
      IF(STRLEN($th)<2)
         $th = STRCONCAT ("0", $th)
      END_IF
      IF(STRLEN($tm)<2)
         $tm = STRCONCAT ("0", $tm)
      END_IF
      IF(STRLEN($ts)<2)
         $ts = STRCONCAT ("0", $ts)
      END_IF
      IF(STRLEN($dd)<2)
         $dd = STRCONCAT ("0", $dd)
      END_IF
      IF(STRLEN($dm)<2)
         $dm = STRCONCAT ("0", $dm)
      END_IF
      IF(STRLEN($dy)<2)
         $dy = STRCONCAT ("0", $dy)
      END_IF
      LOGWRITE ($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note) // запись в лог
      TFWRITE("Log.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
   END_IF
END_SUB
//=============================================
SUB(recognize, $x1,$y1, $x2,$y2) //== Распознавание символов ==
   GETFILELIST($Letters_arr, "Letters\*.bmp")
   FOR($Let_num=0,$Let_num<ARRSIZE($Letters_arr))
      STRSEPARATE($Letters_arr[$Let_num], "_", $a_l)
      SCANPICTURE($ARR_SCAN, $x1,$y1, $x2,$y2, STRCONCAT("Letters\", $Letters_arr[$Let_num]), -1, STRREPLACE($a_l[ARRSIZE($a_l)-1],".bmp",""))
      UNDEFINE($a_l)
      FOR($arr_num=0,$arr_num<ARRSIZE($ARR_SCAN),2)
         ARRPUSH($ARR_OUT, $ARR_SCAN[$arr_num])
         ARRPUSH($ARR_OUT, STRCUT($Letters_arr[$Let_num], 1, 1))
      END_CYC
      UNDEFINE($ARR_SCAN)
   END_CYC
   $siz = ARRSIZE($ARR_OUT)
   $srtcheck = 0
   $srt = 0
   FOR($a=$siz-2,($a>0)&($srt=0),-2)
      FOR($b=0,$b<$a,2)
         IF($ARR_OUT[$b] > $ARR_OUT[$b+2])
            $srtcheck = 1
            $tmp = $ARR_OUT[$b]
            $tmp2 = $ARR_OUT[$b+1]
            $ARR_OUT[$b] = $ARR_OUT[$b+2]
            $ARR_OUT[$b+1] = $ARR_OUT[$b+3]
            $ARR_OUT[$b+2] = $tmp
            $ARR_OUT[$b+3] = $tmp2
         END_IF
      END_CYC
      IF($srtcheck = 0)
         $srt = 1
      END_IF
   END_CYC
   $str = ""
   FOR($a=0,$a<ARRSIZE($ARR_OUT),2)
      IF(STRLEN($str) > 0)
         IF($ARR_OUT[$a]-$ARR_OUT[$a-2] > 50) // определение пробела (сколько пикселов между символами считать за пробел)
            $str = STRCONCAT($str, " ")
         END_IF
         $str = STRCONCAT($str, $ARR_OUT[$a+1])
      ELSE
         $str = $ARR_OUT[$a+1]
      END_IF
   END_CYC
   UNDEFINE($ARR_OUT)
   UNDEFINE($ARR_SCAN)
END_SUB
//=============================================

SUB(day_of_year, $dy_d, $dy_m, $dy_y)
    $fdm = 0
    FOR($dyi=0, $dyi < ($dy_m-1))
        $fdm = $fdm + $md[$dyi]
    END_CYC
    $full_day = $dy_y*365 + $fdm + $dy_d
END_SUB
//=============================================

LOGCLEAR
TFCLEAR("Log.txt", 0)
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)
лог(STRCONCAT("Запуск ")) // комбинированная запись
клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)
THREAD(t1)
$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)
лог(STRCONCAT("Всего аккаунтов: ", $akk_total))
FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
   лог(STRCONCAT("Текущий аккаунт: ", $akk))
   $str = TFREAD ("LogPass.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   IF($akk < 5)
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 1)
      // здесь ввод строки, чтобы это не значило
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAITMS (5000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "55.bmp", - 1, 100)
         MOVE($_return1,$_return2)
         WAIT(1)
      ELSE
         WAIT(1)
         картинка(0,0,$_xmax,$_ymax,"38.bmp",1,1,1000)
      END_IF
      LCLICK(505,345) // клик по полю логина
      WAITMS (1000)
      TOCLIP($log) // скопировать логин в буфер
      лог(STRCONCAT(" :",$log))
      WAITMS (100)
      paste()
     
      KEYPRESS(#TAB) // переход на поле пароля
      WAITMS (1000)
     
      //LCLICK(505,395) // клик по полю пароля
      WAITMS (1000)
      TOCLIP($pass) // скопировать пароль в буфер
      WAITMS (100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      //LCLICK(640,470) // клик по "Вход"
      WAIT(10)
      // тут команды после входа
      $servera = STRCONCAT("servera_", $akk,".txt")
      $serv_len = TFCOUNT($servera)
      FOR($serv=1, $serv <= $serv_len)
         LCLICK(390,55) //клик по панель поиска
         WAIT(2)
         TOCLIP(TFREAD($servera,$serv))
         WAITMS(100)
         print("файл ", $servera)
         print("ссылка ", TFREAD($servera, $serv))
         лог(STRCONCAT("файл ", $servera))
         лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
         paste()
         WAITMS(50)
         
         
         KEYPRESS(#ENTER)
         WAIT (5)
         // тут команды после
         картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         WAIT(10)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
            клик($_return1+15,$_return2+15,2000)
         ELSE
            $check = 0
            WHILE($check = 0)
               KEYPRESS(#F5)  // обновить страницу
               WAIT(15)
               картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
            END_CYC
         END_IF
         WAIT(3)
         картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"32.bmp",7,7,2000)
         картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"33.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)//
         картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)//
         картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)//
         клик(527,190,2000) //
         клик(518,370,2000)//
         клик(564,585,2000)//
         клик(654,188,2000) //
         клик(571,310,2000) //
         картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000) //
         картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000) //
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)//
            клик($_return1+2, $_return2+2,2000)
            клик(567,493,2000)  //
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)//
            клик($_return1+5, $_return2+5,2000)
            GETSCREEN(0,0,$_xmax,$_ymax)
            IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)//
               клик($_return1+5, $_return2+5,2000)
               картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)//
            END_IF
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(3)
         
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
            DBLCLICK($_return1+15, $_return2+15)
            WAIT(1)
            картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
            MOVE($_return1+15, $_return2+15)
            WAIT(1)
            IF(FExists(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d)) = 0)//если папки с датой нету
               FCreate(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
            END_IF
            SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d,"\file", $n,".bmp"))
            inc($n)
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(1)
$older = 10  // старее N дней
 
IF($sgfvkvjgka = 0)
    STRSEPARATE("31,28,31,30,31,30,31,31,30,31,30,31", ",", $md)
    $sgfvkvjgka = 1
END_IF
 
day_of_year($_date_d, $_date_m, $_date_y)
$cur_day = $full_day
 
GETDIRLIST($twins, "C:\files\twin*")
FOR($tw=0, $tw < ARRSIZE($twins))
    $twin = $twins[$tw]
    LOGWRITE($twin)
 
    $mask = STRCONCAT("C:\files\", $twin, "\*")
    GETDIRLIST($dirs, $mask)
    FOR($i=0, $i < ARRSIZE($dirs))
        $dir = $dirs[$i]
        STRSEPARATE($dir, "-", $dat)
        day_of_year(INT($dat[0]), INT($dat[1]), INT($dat[2]))
        $folder_day = $full_day
 
        IF(($cur_day - $folder_day) > $older-1)
            $fullname = STRCONCAT("C:\files\", $twin, "\", $dir)
            FDELETE($fullname)
            LOGWRITE("   ├─", $dir, "   Old  ", $fullname)     
        ELSE
            LOGWRITE("   ├─", $dir)
            //LOGWRITE("   ├─", $dir, "   Ok")
        END_IF
    END_CYC
    //LOGWRITE()
END_CYC

         // вызов подпрограммы распознавания
         GETSCREEN
         COLORMODE(8)
         recognize(131,118, 175,140) // область распознавания
         LOGWRITE($str) // переменная с результатом (смотрим лог)
         лог(STRCONCAT(": ", $str)) // комбинированная запись
         WAITMS (50)
         
         картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
         картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//

      END_CYC
      лог(STRCONCAT("1")) // комбинированная запись
     
      WAIT(5)
   else
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 2)
      // здесь ввод строки, чтобы это не значило
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAITMS (5000)
      //LCLICK(217, 624) //
      WAITMS (500)
      картинка(0,0,$_xmax,$_ymax,"42.bmp",2,2,2000)
      //LCLICK(360,170) // клик по вход
      WAITMS (500)
      картинка(0,0,$_xmax,$_ymax,"39.bmp",2,2,2000)
      WAITMS (5000)
      LCLICK(355,236) // клик по полю логина
      WAITMS (1000)
      TOCLIP($log) // скопировать логин в буфер
      лог(STRCONCAT(" :",$log))
      WAITMS (100)
      paste()
     
      KEYPRESS(#TAB) // переход на поле пароля
      WAITMS (1000)
     
      //LCLICK(505,395) // клик по полю пароля
      WAITMS (1000)
      TOCLIP($pass) // скопировать в пароль в буфер
      WAITMS (100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      //LCLICK(640,470) // клик по "Вход"
      WAIT(10)
      // тут команды после входа
      $servera = STRCONCAT("servera_", $akk,".txt")
      $serv_len = TFCOUNT($servera)
      FOR($serv=1, $serv <= $serv_len)
         LCLICK(390,55) //клик по панель поиска
         WAIT(2)
         TOCLIP(TFREAD($servera,$serv))
         WAITMS(100)
         print("файл ", $servera)
         print("ссылка ", TFREAD($servera, $serv))
         лог(STRCONCAT("файл ", $servera))
         лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
         paste()
         WAITMS(50)
         
         
         KEYPRESS(#ENTER)
         WAIT (10)
         // тут команды после
         картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
         клик($_return1, $_return2,2000)
      END_IF
      WAIT(30)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
         клик($_return1+15,$_return2+15,2000)
      ELSE
         $check = 0
         WHILE($check = 0)
            KEYPRESS(#F5)  // обновить страницу
            WAIT(30)
            картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
         END_CYC
      END_IF
      WAIT(3)
      картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
         клик($_return1, $_return2,2000)
      END_IF
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
      картинка(0,0,$_xmax,$_ymax,"32.bmp",10,8,2000)
      картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
      картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)//
      картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)//
      картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)//
      клик(406,295,2000) //
      картинка(0,0,$_xmax,$_ymax,"18.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"19.bmp",2,2,5000)//
      клик(527,190,2000) //
      клик(518,370,2000)//
      клик(564,585,2000)//
      клик(654,188,2000) //
      клик(571,310,2000) //
      картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000) //
      картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000) //
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
      картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax, "9.bmp",15,15, 2000)
      картинка(0,0,$_xmax,$_ymax, "10.bmp",0,0, 5000)
      ожидание_картинки(0,0,$_xmax,$_ymax,"11.bmp",90,0,0,2000)
      картинка(0,0,$_xmax,$_ymax, "12.bmp",0,0, 2000)
      клик(643,340,2000)  //
      KEYPRESS(#9)
      WAITMS(2000)
      картинка(0,0,$_xmax,$_ymax, "13.bmp",0,0, 2000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "14.bmp", - 1, 100)
         клик($_return1, $_return2,2000)  //
      END_IF
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)//
         клик($_return1+2, $_return2+2,2000)
         клик(567,493,2000)  //
      END_IF
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)//
         клик($_return1+5, $_return2+5,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)//
            клик($_return1+5, $_return2+5,2000)
            картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)//
         END_IF
      END_IF
      WAIT(1)
      KEYPRESS(#B)
      WAIT(3)
     
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
         DBLCLICK($_return1+15, $_return2+15)
         WAIT(1)
         картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
      END_IF
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
         MOVE($_return1+15, $_return2+15)
         WAIT(1)
         IF(FExists(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d)) = 0)//если папки с датой нету
            FCreate(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
         END_IF
         SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d,"\file", $n,".bmp"))
         inc($n)
      END_IF
      WAIT(1)
      KEYPRESS(#B)
      WAIT(1)

$older = 10  // старее N дней
 
IF($sgfvkvjgka = 0)
    STRSEPARATE("31,28,31,30,31,30,31,31,30,31,30,31", ",", $md)
    $sgfvkvjgka = 1
END_IF
 
 
day_of_year($_date_d, $_date_m, $_date_y)
$cur_day = $full_day
 
GETDIRLIST($twins, "C:\files\twin*")
FOR($tw=0, $tw < ARRSIZE($twins))
    $twin = $twins[$tw]
    LOGWRITE($twin)
 
    $mask = STRCONCAT("C:\files\", $twin, "\*")
    GETDIRLIST($dirs, $mask)
    FOR($i=0, $i < ARRSIZE($dirs))
        $dir = $dirs[$i]
        STRSEPARATE($dir, "-", $dat)
        day_of_year(INT($dat[0]), INT($dat[1]), INT($dat[2]))
        $folder_day = $full_day
 
        IF(($cur_day - $folder_day) > $older-1)
            $fullname = STRCONCAT("C:\files\", $twin, "\", $dir)
            FDELETE($fullname)
            LOGWRITE("   ├─", $dir, "   Old  ", $fullname)     
        ELSE
            LOGWRITE("   ├─", $dir)
            //LOGWRITE("   ├─", $dir, "   Ok")
        END_IF
    END_CYC
    //LOGWRITE()
END_CYC


      // вызов подпрограммы распознавания
      GETSCREEN
      COLORMODE(8)
      recognize(131,118, 175,140) // область распознавания
      LOGWRITE($str) // переменная с результатом (смотрим лог)
      лог(STRCONCAT(": ", $str)) // комбинированная запись
      WAITMS (50)
     
      картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
      картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
         
      END_CYC
     
   END_IF
   IF($akk < 5)
      //выход
      картинка(0,0,$_xmax,$_ymax,"36.bmp",2,2,2000)
      картинка(0,0,$_xmax,$_ymax,"37.bmp",2,2,2000)
      //LCLICK(1175,101)  // 2467327
      WAIT(5)
   ELSE
      //выход
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 2)
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER)
      WAIT (3)
      KEYPRESS(#PAGEDOWN)
      WAITMS (2000)
     
      картинка(0,0,$_xmax,$_ymax,"41.bmp",2,2,2000)
     
      //LCLICK(1175,101)  // 2467327
      WAIT(10)
   END_IF
   лог(STRCONCAT("2")) // комбинированная запись
END_CYC
END_THREAD
THREAD(t2) //поток проверки Adobe Flash Player'а на краш
IF(WNDFIND("Adobe Flash")>0) //если найдено окно с заголовком Adobe Flash
SETTHREAD(t1,0) //ставим поток t1 на паузу
//здесь действия по перезапуску игры
SETTHREAD(t1,1) //снимаем поток t1 с паузы
END_IF
WAIT(60) //периодичность проверки на краш Adobe Flash Player'а
END_THREAD
halt
Title: Re: Работа с ссылками
Post by: Viktor77 on November 07, 2020, 08:38:19 PM
Ты не можешь условие вставить?
помогите пожалуйста найти в чем проблема, не пойму что не верно в потоке, не работает(
Code: (clickermann) [Select]
//=============================================
SUB(клик,$par1,$par2,$par3) //========== клик =================
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
//========= поиск картинки ====================================
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
//============ ожидание картинки ==============================
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB
//=============================================
SUB(paste) //========== Вставить ==============================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//=============================================
//=============================================
SUB(лог,$note) //=============== Запись в лог файл =============
   IF($note = "пробел")
      LOGWRITE (" ")
      TFWRITE("Log.txt", " ")
   ELSE
      $th = $_time_h
      $tm = $_time_m
      $ts = $_time_s
      $dd = $_date_d
      $dm = $_date_m
      $dy = $_date_y
     
      IF(STRLEN($th)<2)
         $th = STRCONCAT ("0", $th)
      END_IF
      IF(STRLEN($tm)<2)
         $tm = STRCONCAT ("0", $tm)
      END_IF
      IF(STRLEN($ts)<2)
         $ts = STRCONCAT ("0", $ts)
      END_IF
      IF(STRLEN($dd)<2)
         $dd = STRCONCAT ("0", $dd)
      END_IF
      IF(STRLEN($dm)<2)
         $dm = STRCONCAT ("0", $dm)
      END_IF
      IF(STRLEN($dy)<2)
         $dy = STRCONCAT ("0", $dy)
      END_IF
      LOGWRITE ($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note) // запись в лог
      TFWRITE("Log.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
   END_IF
END_SUB
//=============================================
SUB(recognize, $x1,$y1, $x2,$y2) //== Распознавание символов ==
   GETFILELIST($Letters_arr, "Letters\*.bmp")
   FOR($Let_num=0,$Let_num<ARRSIZE($Letters_arr))
      STRSEPARATE($Letters_arr[$Let_num], "_", $a_l)
      SCANPICTURE($ARR_SCAN, $x1,$y1, $x2,$y2, STRCONCAT("Letters\", $Letters_arr[$Let_num]), -1, STRREPLACE($a_l[ARRSIZE($a_l)-1],".bmp",""))
      UNDEFINE($a_l)
      FOR($arr_num=0,$arr_num<ARRSIZE($ARR_SCAN),2)
         ARRPUSH($ARR_OUT, $ARR_SCAN[$arr_num])
         ARRPUSH($ARR_OUT, STRCUT($Letters_arr[$Let_num], 1, 1))
      END_CYC
      UNDEFINE($ARR_SCAN)
   END_CYC
   $siz = ARRSIZE($ARR_OUT)
   $srtcheck = 0
   $srt = 0
   FOR($a=$siz-2,($a>0)&($srt=0),-2)
      FOR($b=0,$b<$a,2)
         IF($ARR_OUT[$b] > $ARR_OUT[$b+2])
            $srtcheck = 1
            $tmp = $ARR_OUT[$b]
            $tmp2 = $ARR_OUT[$b+1]
            $ARR_OUT[$b] = $ARR_OUT[$b+2]
            $ARR_OUT[$b+1] = $ARR_OUT[$b+3]
            $ARR_OUT[$b+2] = $tmp
            $ARR_OUT[$b+3] = $tmp2
         END_IF
      END_CYC
      IF($srtcheck = 0)
         $srt = 1
      END_IF
   END_CYC
   $str = ""
   FOR($a=0,$a<ARRSIZE($ARR_OUT),2)
      IF(STRLEN($str) > 0)
         IF($ARR_OUT[$a]-$ARR_OUT[$a-2] > 50) // определение пробела (сколько пикселов между символами считать за пробел)
            $str = STRCONCAT($str, " ")
         END_IF
         $str = STRCONCAT($str, $ARR_OUT[$a+1])
      ELSE
         $str = $ARR_OUT[$a+1]
      END_IF
   END_CYC
   UNDEFINE($ARR_OUT)
   UNDEFINE($ARR_SCAN)
END_SUB
//=============================================

LOGCLEAR
TFCLEAR("Log.txt", 0)
WAITMS(50)
LOGWRITE("")
WAITMS(50)
лог(STRCONCAT("")) // комбинированная запись
THREAD(t1)
   $akk_total = TFCOUNT("LogPass.txt")
   LOGWRITE("Всего аккаунтов: ", $akk_total)
   лог(STRCONCAT("Всего аккаунтов: ", $akk_total))
   FOR($akk=1, $akk <= $akk_total)
      LOGWRITE("Текущий аккаунт: ", $akk)
      лог(STRCONCAT("Текущий аккаунт: ", $akk))
      $str = TFREAD ("LogPass.txt", $akk)
      $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
      $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
      клик(1271,1002,2000)
      DBLCLICK(785,30) //запуск браузера
      WAIT(20)
      IF($akk < 15)
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 1)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (5000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (400,320,880,695, "55.bmp", - 1, 100)
            MOVE($_return1,$_return2)
            WAIT(2)
         ELSE
            WAIT(2)
            картинка(1040,90,1092,130,"38.bmp",1,1,5000)
         END_IF
         LCLICK(505,534) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (500)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         WAITMS (1000)
         TOCLIP($pass) // скопировать пароль в буфер
         WAITMS (500)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (5)
            // тут команды после
           
         END_CYC
         лог(STRCONCAT("")) // комбинированная запись
         
         WAIT(10)
      else
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (5000)
         //LCLICK(217, 624) //
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"42.bmp",2,2,2000)
         //LCLICK(360,170) // клик по вход
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"39.bmp",2,2,2000)
         WAITMS (5000)
         LCLICK(355,236) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (100)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         //LCLICK(505,395) // клик по полю пароля
         WAITMS (1000)
         TOCLIP($pass) // скопировать в пароль в буфер
         WAITMS (100)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         //LCLICK(640,470) // клик по "Вход"
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (10)
            // тут команды после
           
           
         END_CYC
         
      END_IF
      IF($akk < 15)
         //выход
         картинка(0,0,$_xmax,$_ymax,"36.bmp",2,2,2000)
         WAIT(5)
         картинка(0,0,$_xmax,$_ymax,"37.bmp",2,2,2000)
         //print("37.bmp")
         //LCLICK(1170,120)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      ELSE
         //выход
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER)
         WAIT (3)
         WAITMS (2000)
         
         картинка(0,0,$_xmax,$_ymax,"41.bmp",2,2,2000)
         
         //LCLICK(1175,101)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      END_IF
      лог(STRCONCAT("")) // комбинированная запись
   END_CYC
END_THREAD
THREAD(t2) //поток проверки Error
   SETTHREAD(t1,0) //ставим поток t1 на паузу, чтобы GETSCREEN второго потока не пересекался с GETSCREEN первого
   COLORMODE(7)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ErrorCode.bmp", -1, 100)
      SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
      //здесь действия по перезапуску игры
      KEYPRESS(#F5)  // обновить страницу
      WAIT(20)
      картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
      SETTHREAD(t1,1) //снимаем поток t1 с паузы
   END_IF
   WAIT(60) //периодичность проверки на error
END_THREAD
halt
Title: Re: Работа с ссылками
Post by: dramster on November 07, 2020, 11:44:00 PM
В каждом потоке нужно прописывать вызываемые подпрограммы. Если подпрограмма находится вне потока, то в потоке ее не вызвать.

Пример:
Code: (clickermann) [Select]
SUB(test, $par1)
   print($par1)
END_SUB

test("test вне потока")  //работатет

THREAD(name, 1)
   test("test в потоке")  //не работает
   
   SUB(test_thread, $par2)
      print($par2)
   END_SUB
   
   test_thread("test_thread в потоке")  //работает
   
   wait(1)
END_THREAD

halt
Title: Re: Работа с ссылками
Post by: Viktor77 on November 08, 2020, 05:59:59 PM
В каждом потоке нужно прописывать вызываемые подпрограммы. Если подпрограмма находится вне потока, то в потоке ее не вызвать.

Пример:
Code: (clickermann) [Select]
SUB(test, $par1)
   print($par1)
END_SUB

test("test вне потока")  //работатет

THREAD(name, 1)
   test("test в потоке")  //не работает
   
   SUB(test_thread, $par2)
      print($par2)
   END_SUB
   
   test_thread("test_thread в потоке")  //работает
   
   wait(1)
END_THREAD

halt
так тоже не работает
Code: (clickermann) [Select]
THREAD(t1)
   //здесь весь основной скрипт
   
   //=============================================
   SUB(клик,$par1,$par2,$par3) //========== клик =================
      LCLICK($par1,$par2)
      WAITMS($par3)
   END_SUB
   //=============================================
   SUB(шаг,$par30,$par31,$par32) //========== шаг =================
      MOVE($par30,$par31)
      WAITMS($par32)
   END_SUB
   //========= поиск картинки ====================================
   SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
      GETSCREEN($par4,$par5,$par6,$par7)
      IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
         $check = 1
         клик($_return1+$par9,$_return2+$par10,$par11)
      END_IF
   END_SUB
   //============ ожидание картинки ==============================
   SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
      $check = 0
      WHILE($check = 0)
         GETSCREEN($par21,$par22,$par23,$par24)
         IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
            $check = 1
            клик($_return1+$par27,$_return2+$par28,$par29)
         ELSE    // если не найдена  11.bmp
            клик(309,610,2000) // сменить главу
         END_IF
      END_CYC
   END_SUB
   //=============================================
   SUB(paste) //========== Вставить ==============================
      KEYDOWN(#CTRL) // Ctrl+V
      WAITMS(50)
      KEYPRESS(#V)
      WAITMS(50)
      KEYUP(#CTRL)
      WAITMS(2000)
   END_SUB
   //=============================================
   //=============================================
   SUB(лог,$note) //=============== Запись в лог файл =============
      IF($note = "пробел")
         LOGWRITE (" ")
         TFWRITE("Log.txt", " ")
      ELSE
         $th = $_time_h
         $tm = $_time_m
         $ts = $_time_s
         $dd = $_date_d
         $dm = $_date_m
         $dy = $_date_y
         
         IF(STRLEN($th)<2)
            $th = STRCONCAT ("0", $th)
         END_IF
         IF(STRLEN($tm)<2)
            $tm = STRCONCAT ("0", $tm)
         END_IF
         IF(STRLEN($ts)<2)
            $ts = STRCONCAT ("0", $ts)
         END_IF
         IF(STRLEN($dd)<2)
            $dd = STRCONCAT ("0", $dd)
         END_IF
         IF(STRLEN($dm)<2)
            $dm = STRCONCAT ("0", $dm)
         END_IF
         IF(STRLEN($dy)<2)
            $dy = STRCONCAT ("0", $dy)
         END_IF
         LOGWRITE ($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note) // запись в лог
         TFWRITE("Log.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
      END_IF
   END_SUB
   //=============================================
   SUB(recognize, $x1,$y1, $x2,$y2) //== Распознавание символов ==
      GETFILELIST($Letters_arr, "Letters\*.bmp")
      FOR($Let_num=0,$Let_num<ARRSIZE($Letters_arr))
         STRSEPARATE($Letters_arr[$Let_num], "_", $a_l)
         SCANPICTURE($ARR_SCAN, $x1,$y1, $x2,$y2, STRCONCAT("Letters\", $Letters_arr[$Let_num]), -1, STRREPLACE($a_l[ARRSIZE($a_l)-1],".bmp",""))
         UNDEFINE($a_l)
         FOR($arr_num=0,$arr_num<ARRSIZE($ARR_SCAN),2)
            ARRPUSH($ARR_OUT, $ARR_SCAN[$arr_num])
            ARRPUSH($ARR_OUT, STRCUT($Letters_arr[$Let_num], 1, 1))
         END_CYC
         UNDEFINE($ARR_SCAN)
      END_CYC
      $siz = ARRSIZE($ARR_OUT)
      $srtcheck = 0
      $srt = 0
      FOR($a=$siz-2,($a>0)&($srt=0),-2)
         FOR($b=0,$b<$a,2)
            IF($ARR_OUT[$b] > $ARR_OUT[$b+2])
               $srtcheck = 1
               $tmp = $ARR_OUT[$b]
               $tmp2 = $ARR_OUT[$b+1]
               $ARR_OUT[$b] = $ARR_OUT[$b+2]
               $ARR_OUT[$b+1] = $ARR_OUT[$b+3]
               $ARR_OUT[$b+2] = $tmp
               $ARR_OUT[$b+3] = $tmp2
            END_IF
         END_CYC
         IF($srtcheck = 0)
            $srt = 1
         END_IF
      END_CYC
      $str = ""
      FOR($a=0,$a<ARRSIZE($ARR_OUT),2)
         IF(STRLEN($str) > 0)
            IF($ARR_OUT[$a]-$ARR_OUT[$a-2] > 50) // определение пробела (сколько пикселов между символами считать за пробел)
               $str = STRCONCAT($str, " ")
            END_IF
            $str = STRCONCAT($str, $ARR_OUT[$a+1])
         ELSE
            $str = $ARR_OUT[$a+1]
         END_IF
      END_CYC
      UNDEFINE($ARR_OUT)
      UNDEFINE($ARR_SCAN)
   END_SUB
   //=============================================
   LOGCLEAR
   TFCLEAR("Log.txt", 0)
   WAITMS(50)
   LOGWRITE("")
   WAITMS(50)
   лог(STRCONCAT("")) // комбинированная запись
   
   $akk_total = TFCOUNT("LogPass.txt")
   LOGWRITE("Всего аккаунтов: ", $akk_total)
   лог(STRCONCAT("Всего аккаунтов: ", $akk_total))
   FOR($akk=1, $akk <= $akk_total)
      LOGWRITE("Текущий аккаунт: ", $akk)
      лог(STRCONCAT("Текущий аккаунт: ", $akk))
      $str = TFREAD ("LogPass.txt", $akk)
      $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
      $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
      клик(1271,1002,2000)
      DBLCLICK(785,30) //запуск браузера
      WAIT(20)
      IF($akk < 15)
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 1)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (5000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (400,320,880,695, "55.bmp", - 1, 100)
            MOVE($_return1,$_return2)
            WAIT(2)
         ELSE
            WAIT(2)
            картинка(1040,90,1092,130,"38.bmp",1,1,5000)
         END_IF
         LCLICK(505,534) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (500)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         WAITMS (1000)
         TOCLIP($pass) // скопировать пароль в буфер
         WAITMS (500)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (5)
            // тут команды после
           
         END_CYC
         лог(STRCONCAT("")) // комбинированная запись
         
         WAIT(10)
      else
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (5000)
         //LCLICK(217, 624) //
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"42.bmp",2,2,2000)
         //LCLICK(360,170) // клик по вход
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"39.bmp",2,2,2000)
         WAITMS (5000)
         LCLICK(355,236) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (100)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         //LCLICK(505,395) // клик по полю пароля
         WAITMS (1000)
         TOCLIP($pass) // скопировать в пароль в буфер
         WAITMS (100)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         //LCLICK(640,470) // клик по "Вход"
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (30)
            // тут команды после
           
           
         END_CYC
         
      END_IF
      IF($akk < 15)
         //выход
         картинка(0,0,$_xmax,$_ymax,"36.bmp",2,2,2000)
         WAIT(5)
         картинка(0,0,$_xmax,$_ymax,"37.bmp",2,2,2000)
         //print("37.bmp")
         //LCLICK(1170,120)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      ELSE
         //выход
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER)
         WAIT (3)
         WAITMS (2000)
         
         картинка(0,0,$_xmax,$_ymax,"41.bmp",2,2,2000)
         
         //LCLICK(1175,101)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      END_IF
      лог(STRCONCAT("")) // комбинированная запись
   END_CYC
   WAIT(3)
END_THREAD
THREAD(t2) //поток проверки Error
   //=============================================
   SUB(шаг,$par30,$par31,$par32) //========== шаг =================
      MOVE($par30,$par31)
      WAITMS($par32)
   END_SUB
   SETTHREAD(t1,0) //ставим поток t1 на паузу, чтобы GETSCREEN второго потока не пересекался с GETSCREEN первого
   
   GETSCREEN
   COLORMODE(7)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ErrorCode.bmp", -1, 100)
      шаг($_return1, $_return2,2000)
      SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
      //здесь действия по перезапуску игры
      KEYPRESS(#F5)  // обновить страницу
      WAIT(20)
      GETSCREEN
      IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
         шаг($_return1, $_return2,2000)
      END_IF
      WAITMS(500)
      SETTHREAD(t1,1) //снимаем поток t1 с паузы
   ELSE
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Adobe Flash Player color7.bmp", -1, 100)
         шаг($_return1, $_return2,2000)
         SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
         //здесь действия по перезапуску игры
         KEYPRESS(#F5)  // обновить страницу
         WAIT(20)
         GETSCREEN
         IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
            шаг($_return1, $_return2,3000)
         END_IF
      END_IF
   END_IF
   SETTHREAD(t1,1) //снимаем поток t1 с паузы
   WAIT(60) //периодичность проверки на error
END_THREAD
halt
Title: Re: Работа с ссылками
Post by: Vint on November 09, 2020, 02:50:23 PM
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
Title: Re: Работа с ссылками
Post by: Viktor77 on November 09, 2020, 04:57:24 PM
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
подскажите пожалуйста как добавить еще такое, чтоб поток приостанавливался в 13.00, делал некоторые действия, после продолжал основной код t1, тормозил в 16.00 снова делал некоторые действия и снова продолжал основной код t1
Title: Re: Работа с ссылками
Post by: Viktor77 on November 09, 2020, 05:34:00 PM
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
сейчас код останавливается на 180 строке, заходит на акк и стоп. без потока все работало
Code: (clickermann) [Select]
THREAD(t1)
   //здесь весь основной скрипт
   
   //=============================================
   SUB(клик,$par1,$par2,$par3) //========== клик =================
      LCLICK($par1,$par2)
      WAITMS($par3)
   END_SUB
   //=============================================
   SUB(шаг,$par30,$par31,$par32) //========== шаг =================
      MOVE($par30,$par31)
      WAITMS($par32)
   END_SUB
   //========= поиск картинки ====================================
   SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
      GETSCREEN($par4,$par5,$par6,$par7)
      IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
         $check = 1
         клик($_return1+$par9,$_return2+$par10,$par11)
      END_IF
   END_SUB
   //============ ожидание картинки ==============================
   SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
      $check = 0
      WHILE($check = 0)
         GETSCREEN($par21,$par22,$par23,$par24)
         IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
            $check = 1
            клик($_return1+$par27,$_return2+$par28,$par29)
         ELSE    // если не найдена  11.bmp
            клик(309,610,2000) // сменить главу
         END_IF
      END_CYC
   END_SUB
   //=============================================
   SUB(paste) //========== Вставить ==============================
      KEYDOWN(#CTRL) // Ctrl+V
      WAITMS(50)
      KEYPRESS(#V)
      WAITMS(50)
      KEYUP(#CTRL)
      WAITMS(2000)
   END_SUB
   //=============================================
   //=============================================
   SUB(лог,$note) //=============== Запись в лог файл =============
      IF($note = "пробел")
         LOGWRITE (" ")
         TFWRITE("Log.txt", " ")
      ELSE
         $th = $_time_h
         $tm = $_time_m
         $ts = $_time_s
         $dd = $_date_d
         $dm = $_date_m
         $dy = $_date_y
         
         IF(STRLEN($th)<2)
            $th = STRCONCAT ("0", $th)
         END_IF
         IF(STRLEN($tm)<2)
            $tm = STRCONCAT ("0", $tm)
         END_IF
         IF(STRLEN($ts)<2)
            $ts = STRCONCAT ("0", $ts)
         END_IF
         IF(STRLEN($dd)<2)
            $dd = STRCONCAT ("0", $dd)
         END_IF
         IF(STRLEN($dm)<2)
            $dm = STRCONCAT ("0", $dm)
         END_IF
         IF(STRLEN($dy)<2)
            $dy = STRCONCAT ("0", $dy)
         END_IF
         LOGWRITE ($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note) // запись в лог
         TFWRITE("Log.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
      END_IF
   END_SUB
   //=============================================
   SUB(recognize, $x1,$y1, $x2,$y2) //== Распознавание символов ==
      GETFILELIST($Letters_arr, "Letters\*.bmp")
      FOR($Let_num=0,$Let_num<ARRSIZE($Letters_arr))
         STRSEPARATE($Letters_arr[$Let_num], "_", $a_l)
         SCANPICTURE($ARR_SCAN, $x1,$y1, $x2,$y2, STRCONCAT("Letters\", $Letters_arr[$Let_num]), -1, STRREPLACE($a_l[ARRSIZE($a_l)-1],".bmp",""))
         UNDEFINE($a_l)
         FOR($arr_num=0,$arr_num<ARRSIZE($ARR_SCAN),2)
            ARRPUSH($ARR_OUT, $ARR_SCAN[$arr_num])
            ARRPUSH($ARR_OUT, STRCUT($Letters_arr[$Let_num], 1, 1))
         END_CYC
         UNDEFINE($ARR_SCAN)
      END_CYC
      $siz = ARRSIZE($ARR_OUT)
      $srtcheck = 0
      $srt = 0
      FOR($a=$siz-2,($a>0)&($srt=0),-2)
         FOR($b=0,$b<$a,2)
            IF($ARR_OUT[$b] > $ARR_OUT[$b+2])
               $srtcheck = 1
               $tmp = $ARR_OUT[$b]
               $tmp2 = $ARR_OUT[$b+1]
               $ARR_OUT[$b] = $ARR_OUT[$b+2]
               $ARR_OUT[$b+1] = $ARR_OUT[$b+3]
               $ARR_OUT[$b+2] = $tmp
               $ARR_OUT[$b+3] = $tmp2
            END_IF
         END_CYC
         IF($srtcheck = 0)
            $srt = 1
         END_IF
      END_CYC
      $str = ""
      FOR($a=0,$a<ARRSIZE($ARR_OUT),2)
         IF(STRLEN($str) > 0)
            IF($ARR_OUT[$a]-$ARR_OUT[$a-2] > 50) // определение пробела (сколько пикселов между символами считать за пробел)
               $str = STRCONCAT($str, " ")
            END_IF
            $str = STRCONCAT($str, $ARR_OUT[$a+1])
         ELSE
            $str = $ARR_OUT[$a+1]
         END_IF
      END_CYC
      UNDEFINE($ARR_OUT)
      UNDEFINE($ARR_SCAN)
   END_SUB
   //=============================================
   LOGCLEAR
   TFCLEAR("Log.txt", 0)
   WAITMS(50)
   LOGWRITE("")
   WAITMS(50)
   лог(STRCONCAT("")) // комбинированная запись
   
   $akk_total = TFCOUNT("LogPass.txt")
   LOGWRITE("Всего аккаунтов: ", $akk_total)
   лог(STRCONCAT("Всего аккаунтов: ", $akk_total))
   FOR($akk=1, $akk <= $akk_total)
      LOGWRITE("Текущий аккаунт: ", $akk)
      лог(STRCONCAT("Текущий аккаунт: ", $akk))
      $str = TFREAD ("LogPass.txt", $akk)
      $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
      $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
      клик(1271,1002,2000)
      DBLCLICK(635,30) //запуск браузера
      WAIT(20)
      IF($akk < 15)
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 1)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (15000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "55.bmp", - 1, 100)
            MOVE($_return1,$_return2)
            WAIT(2)
         ELSE
            WAIT(2)
            картинка(0,0,$_xmax,$_ymax,"38.bmp",1,1,15000)
         END_IF
         LCLICK(505,345) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (500)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         WAITMS (1000)
         TOCLIP($pass) // скопировать пароль в буфер
         WAITMS (500)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (5)
            // тут команды после
           
         END_CYC
         лог(STRCONCAT("")) // комбинированная запись
         
         WAIT(10)
      else
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (5000)
         //LCLICK(217, 624) //
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"42.bmp",2,2,2000)
         //LCLICK(360,170) // клик по вход
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"39.bmp",2,2,2000)
         WAITMS (5000)
         LCLICK(355,236) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (100)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         //LCLICK(505,395) // клик по полю пароля
         WAITMS (1000)
         TOCLIP($pass) // скопировать в пароль в буфер
         WAITMS (100)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         //LCLICK(640,470) // клик по "Вход"
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (30)
            // тут команды после
           
           
         END_CYC
         
      END_IF
      IF($akk < 15)
         //выход
         картинка(0,0,$_xmax,$_ymax,"36.bmp",2,2,2000)
         WAIT(5)
         картинка(0,0,$_xmax,$_ymax,"37.bmp",2,2,2000)
         //print("37.bmp")
         //LCLICK(1170,120)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      ELSE
         //выход
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER)
         WAIT (3)
         WAITMS (2000)
         
         картинка(0,0,$_xmax,$_ymax,"41.bmp",2,2,2000)
         
         //LCLICK(1175,101)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      END_IF
      лог(STRCONCAT("")) // комбинированная запись
   END_CYC
   WAIT(3)
END_THREAD

// проверки Error
   //=============================================
   SUB(шаг,$par30,$par31,$par32) //========== шаг =================
      MOVE($par30,$par31)
      WAITMS($par32)
   END_SUB
   SETTHREAD(t1,0) //ставим поток t1 на паузу, чтобы GETSCREEN второго потока не пересекался с GETSCREEN первого
   
   GETSCREEN
   COLORMODE(7)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ErrorCode.bmp", -1, 100)
      шаг($_return1, $_return2,2000)
      SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
      //здесь действия по перезапуску игры
      KEYPRESS(#F5)  // обновить страницу
      WAIT(20)
      GETSCREEN
      IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp",-1,100)
         шаг($_return1, $_return2,2000)
      END_IF
      WAITMS(500)
      SETTHREAD(t1,1) //снимаем поток t1 с паузы
   ELSE
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Adobe Flash Player color7.bmp", -1, 100)
         шаг($_return1, $_return2,2000)
         SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
         //здесь действия по перезапуску игры
         KEYPRESS(#F5)  // обновить страницу
         WAIT(20)
         GETSCREEN
         IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp",-1,100)
            шаг($_return1, $_return2,3000)
         END_IF
      END_IF
      SETTHREAD(t1,1) //снимаем поток t1 с паузы
   END_IF
   SETTHREAD(t1,1) //снимаем поток t1 с паузы
   WAIT(60) //периодичность проверки на error

halt
Title: Re: Работа с ссылками
Post by: Viktor77 on November 15, 2020, 04:58:22 AM
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
помогите дописать скрипт.
Code: (clickermann) [Select]
//проверка на сбои прерывания сессии или слетел флеш плеер. проверять до конца сценария. так же проверить прошла авторизация или нет, если нет перелогинится, и подсчет стадий выполнения всех действий. за ранее спасибо за помощь
THREAD(t1)
// основной скрипт ниже
END_THREAD
THREAD(t2)// приостановить поток t1 и запустить t2 в 12.00
//здесь действия t2
END_THREAD
 // продолжить выполение потока t1
THREAD(t3)// приостановить поток t1 и запустить t3 в 14.00
//здесь действия t3
END_THREAD
 // продолжить выполение потока t1
THREAD(t4)// приостановить поток t1 и запустить t4 в 17.00
//здесь действия t4
END_THREAD
// продолжить выполение потока t1
Halt
Title: Re: Работа с ссылками
Post by: Viktor77 on November 15, 2020, 07:09:35 AM
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
сами подпрограммы
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) //========== клик =================
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
//========= поиск картинки ====================================
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   COLORMODE(8)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
//============ ожидание картинки ==============================
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      COLORMODE(8)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  34.bmp
         клик(309,595,2000) // 35 сменить главу
      END_IF
   END_CYC
END_SUB
//=============================================
SUB(paste) //========== Вставить ==============================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//=============================================
SUB(close) //========== Закрыть ==============================
   KEYDOWN(#CTRL) // Ctrl+F4
   WAITMS(50)
   KEYPRESS(#F4)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(500)
END_SUB
//=============================================
SUB(лог,$note) //=============== Запись в лог файл =============
   IF($note = "пробел")
      LOGWRITE (" ")
      TFWRITE("Log.txt", " ")
   ELSE
      $th = $_time_h
      $tm = $_time_m
      $ts = $_time_s
      $dd = $_date_d
      $dm = $_date_m
      $dy = $_date_y
     
      IF(STRLEN($th)<2)
         $th = STRCONCAT ("0", $th)
      END_IF
      IF(STRLEN($tm)<2)
         $tm = STRCONCAT ("0", $tm)
      END_IF
      IF(STRLEN($ts)<2)
         $ts = STRCONCAT ("0", $ts)
      END_IF
      IF(STRLEN($dd)<2)
         $dd = STRCONCAT ("0", $dd)
      END_IF
      IF(STRLEN($dm)<2)
         $dm = STRCONCAT ("0", $dm)
      END_IF
      IF(STRLEN($dy)<2)
         $dy = STRCONCAT ("0", $dy)
      END_IF
      LOGWRITE ($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note) // запись в лог
      TFWRITE("Log.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
   END_IF
END_SUB
//=============================================
SUB(recognize, $x1,$y1, $x2,$y2) //== Распознавание символов ==
   GETFILELIST($Letters_arr, "Letters\*.bmp")
   FOR($Let_num=0,$Let_num<ARRSIZE($Letters_arr))
      STRSEPARATE($Letters_arr[$Let_num], "_", $a_l)
      SCANPICTURE($ARR_SCAN, $x1,$y1, $x2,$y2, STRCONCAT("Letters\", $Letters_arr[$Let_num]), -1, STRREPLACE($a_l[ARRSIZE($a_l)-1],".bmp",""))
      UNDEFINE($a_l)
      FOR($arr_num=0,$arr_num<ARRSIZE($ARR_SCAN),2)
         ARRPUSH($ARR_OUT, $ARR_SCAN[$arr_num])
         ARRPUSH($ARR_OUT, STRCUT($Letters_arr[$Let_num], 1, 1))
      END_CYC
      UNDEFINE($ARR_SCAN)
   END_CYC
   $siz = ARRSIZE($ARR_OUT)
   $srtcheck = 0
   $srt = 0
   FOR($a=$siz-2,($a>0)&($srt=0),-2)
      FOR($b=0,$b<$a,2)
         IF($ARR_OUT[$b] > $ARR_OUT[$b+2])
            $srtcheck = 1
            $tmp = $ARR_OUT[$b]
            $tmp2 = $ARR_OUT[$b+1]
            $ARR_OUT[$b] = $ARR_OUT[$b+2]
            $ARR_OUT[$b+1] = $ARR_OUT[$b+3]
            $ARR_OUT[$b+2] = $tmp
            $ARR_OUT[$b+3] = $tmp2
         END_IF
      END_CYC
      IF($srtcheck = 0)
         $srt = 1
      END_IF
   END_CYC
   $str = ""
   FOR($a=0,$a<ARRSIZE($ARR_OUT),2)
      IF(STRLEN($str) > 0)
         IF($ARR_OUT[$a]-$ARR_OUT[$a-2] > 50) // определение пробела (сколько пикселов между символами считать за пробел)
            $str = STRCONCAT($str, " ")
         END_IF
         $str = STRCONCAT($str, $ARR_OUT[$a+1])
      ELSE
         $str = $ARR_OUT[$a+1]
      END_IF
   END_CYC
   UNDEFINE($ARR_OUT)
   UNDEFINE($ARR_SCAN)
END_SUB
//=============================================
Title: Re: Работа с ссылками
Post by: Viktor77 on November 15, 2020, 07:10:50 AM
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
основной скрипт
Code: (clickermann) [Select]
LOGCLEAR
TFCLEAR("Log.txt", 0)
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)
лог(STRCONCAT("Запуск ")) // комбинированная запись
клик(1271,1002,5000)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)
лог(STRCONCAT("Всего аккаунтов: ", $akk_total))
FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
   лог(STRCONCAT("Текущий аккаунт: ", $akk))
   $str = TFREAD ("LogPass.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   EXECUTE("Browser.exe")
   WAIT(10)
   IF($akk < 5)
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 1)
      // здесь ввод строки, чтобы это не значило
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAITMS (5000)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "1.bmp", - 1, 100)
         MOVE($_return1,$_return2)
         WAIT(1)
      ELSE
         GETSCREEN
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
            LCLICK($_return1,$_return2)
            WAIT(1)
         END_IF
      END_IF
      LCLICK(505,345) // клик по полю логина
      WAITMS (1000)
      TOCLIP($log) // скопировать логин в буфер
      лог(STRCONCAT(" :",$log))
      WAITMS (100)
      paste()
     
      KEYPRESS(#TAB) // переход на поле пароля
      WAITMS (1000)
     
      //LCLICK(505,395) // клик по полю пароля
      WAITMS (1000)
      TOCLIP($pass) // скопировать пароль в буфер
      WAITMS (100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAIT(10)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "5.bmp", - 1, 100)
         LCLICK($_return1,$_return2)  // если 5 найдена то продолжать, если нет перелогинится
         WAIT(1)
      END_IF
      // тут команды после входа
      $servera = STRCONCAT("servera_", $akk,".txt")
      $serv_len = TFCOUNT($servera)
      FOR($serv=1, $serv <= $serv_len)
         LCLICK(390,55) //клик по панель поиска
         WAIT(2)
         TOCLIP(TFREAD($servera,$serv))
         WAITMS(100)
         print("файл ", $servera)
         print("ссылка ", TFREAD($servera, $serv))
         лог(STRCONCAT("файл ", $servera))
         лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
         paste()
         WAITMS(50)
         
         
         KEYPRESS(#ENTER)
         WAIT (5)
         // тут команды после
         картинка(0,0,$_xmax,$_ymax,"9.bmp",2,2,2000)// 9   крестик флеша
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         WAIT(20)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "10.bmp", - 1, 100) //проверка на сбой
            клик($_return1,$_return2,2000)
         ELSE
            $check = 0
            WHILE($check = 0)
               KEYPRESS(#F5)  // обновить страницу
               WAIT(20)
               картинка(0,0,$_xmax,$_ymax,"10.bmp",1,1,2000)
            END_CYC
         END_IF
         WAIT(3)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"13.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"14.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"18.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"19.bmp",2,2,5000)
         картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"22.bmp",2,2,2000)
         картинка(430,250,585,390,"23.bmp",2,60,2000)
         картинка(500,465,635,610,"24.bmp",2,60,2000)
         картинка(0,0,$_xmax,$_ymax,"25.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"26.bmp",100,53,2000)
         картинка(0,0,$_xmax,$_ymax,"27.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"28.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax, "40.bmp",15,15,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "41.bmp", - 1, 100)
            клик($_return1+2, $_return2+2,2000)
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "42.bmp", - 1, 100)
            клик($_return1+5, $_return2+5,2000)
            GETSCREEN(0,0,$_xmax,$_ymax)
            COLORMODE(8)
            IF_PICTURE_IN (0,0,$_xmax,$_ymax, "43.bmp", - 1, 100)
               клик($_return1+5, $_return2+5,2000)
               картинка(0,0,$_xmax,$_ymax, "44.bmp",5,5,2000)
            END_IF
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(3)
         
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "45.bmp", - 1, 100)
            DBLCLICK($_return1+15, $_return2+15)
            WAIT(1)
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "46.bmp", - 1, 100)
            MOVE($_return1+1, $_return2+1)
            WAIT(1)
            IF(FExists(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d)) = 0)//если папки с датой нету
               FCreate(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d))//то создаем ее
            END_IF
            SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d,"\file", $n,".bmp"))
            inc($n)
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(1)
         
         $older = 10  // старее N дней
         
         IF($sgfvkvjgka = 0)
            STRSEPARATE("31,28,31,30,31,30,31,31,30,31,30,31", ",", $md)
            $sgfvkvjgka = 1
         END_IF
         
         SUB(day_of_year, $dy_d, $dy_m, $dy_y)
            $fdm = 0
            FOR($dyi=0, $dyi < ($dy_m-1))
               $fdm = $fdm + $md[$dyi]
            END_CYC
            $full_day = $dy_y*365 + $fdm + $dy_d
         END_SUB
         
         
         day_of_year($_date_d, $_date_m, $_date_y)
         $cur_day = $full_day
         
         GETDIRLIST($twins, "C:\files\twin*")
         FOR($tw=0, $tw < ARRSIZE($twins))
            $twin = $twins[$tw]
            LOGWRITE($twin)
           
            $mask = STRCONCAT("C:\files\", $twin, "\*")
            GETDIRLIST($dirs, $mask)
            FOR($i=0, $i < ARRSIZE($dirs))
               $dir = $dirs[$i]
               STRSEPARATE($dir, "-", $dat)
               day_of_year(INT($dat[0]), INT($dat[1]), INT($dat[2]))
               $folder_day = $full_day
               
               IF(($cur_day - $folder_day) > $older-1)
                  $fullname = STRCONCAT("C:\files\", $twin, "\", $dir)
                  FDELETE($fullname)
                  LOGWRITE("   ├─", $dir, "   Old  ", $fullname)
               ELSE
                  LOGWRITE("   ├─", $dir)
                  //LOGWRITE("   ├─", $dir, "   Ok")
               END_IF
            END_CYC
            //LOGWRITE()
         END_CYC
         
         WAIT(1)
         // вызов подпрограммы распознавания
         GETSCREEN
         COLORMODE(8)
         recognize(131,118, 175,140) // область распознавания
         LOGWRITE($str) // переменная с результатом (смотрим лог)
         лог(STRCONCAT(": ", $str)) // комбинированная запись
         WAITMS (50)
         картинка(0,0,$_xmax,$_ymax,"47.bmp",2,2,2000)
         картинка(450,580,540,625,"48.bmp",5,5,2000)
         картинка(0,0,$_xmax,$_ymax,"49.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"49.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,7000)
         картинка(0,0,$_xmax,$_ymax,"50.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"51.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"52.bmp",1,1,2000)
         картинка(785,370,$_xmax,$_ymax,"54.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"55.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"56.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"57.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"59.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"63.bmp",1,1,2000)
      END_CYC
      лог(STRCONCAT("1")) // комбинированная запись
     
      WAIT(5)
   else
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 2)
      // здесь ввод строки, чтобы это не значило
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAITMS (5000)
      WAITMS (500)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "3.bmp", - 1, 100)
         LCLICK($_return1,$_return2)
         WAIT(2)
      END_IF
      WAITMS (500)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "4.bmp", - 1, 100)
         LCLICK($_return1,$_return2)
         WAIT(2)
      END_IF
      WAITMS (5000)
      LCLICK(355,236) // клик по полю логина
      WAITMS (1000)
      TOCLIP($log) // скопировать логин в буфер
      лог(STRCONCAT(" :",$log))
      WAITMS (100)
      paste()
     
      KEYPRESS(#TAB) // переход на поле пароля
      WAITMS (1000)
     
      WAITMS (1000)
      TOCLIP($pass) // скопировать в пароль в буфер
      WAITMS (100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAIT(10)
     
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "6.bmp", - 1, 100)
         LCLICK($_return1,$_return2)  // если 6 найдена, перелогинится
         WAIT(1)
      END_IF
      // тут команды после входа
      $servera = STRCONCAT("servera_", $akk,".txt")
      $serv_len = TFCOUNT($servera)
      FOR($serv=1, $serv <= $serv_len)
         LCLICK(390,55) //клик по панель поиска
         WAIT(2)
         TOCLIP(TFREAD($servera,$serv))
         WAITMS(100)
         print("файл ", $servera)
         print("ссылка ", TFREAD($servera, $serv))
         лог(STRCONCAT("файл ", $servera))
         лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
         paste()
         WAITMS(50)
         
         KEYPRESS(#ENTER)
         WAIT (10)
         // тут команды после тоже самое что и выше только добалено поиск еще картинок
         картинка(0,0,$_xmax,$_ymax,"9.bmp",2,2,2000)    //9 крест флеш
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         WAIT(20)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "10.bmp", - 1, 100) //10
            клик($_return1,$_return2,2000)
         ELSE
            $check = 0
            WHILE($check = 0)
               KEYPRESS(#F5)  // обновить страницу
               WAIT(20)
               картинка(0,0,$_xmax,$_ymax,"10.bmp",1,1,2000)
            END_CYC
         END_IF
         WAIT(3)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"16.bmp",7,10,2000)
         картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"19.bmp",2,2,5000)
         картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"22.bmp",2,2,2000)
         картинка(430,250,585,390,"23.bmp",2,60,2000)
         картинка(500,465,635,610,"24.bmp",2,60,2000)
         картинка(0,0,$_xmax,$_ymax,"25.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"26.bmp",100,53,2000)
         картинка(0,0,$_xmax,$_ymax,"27.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"28.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,5000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"13.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"14.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax, "32.bmp",1,1, 2000)
         картинка(0,0,$_xmax,$_ymax, "33.bmp",0,0, 5000)
         ожидание_картинки(0,0,$_xmax,$_ymax,"34.bmp",100,0,0,2000)
         картинка(0,0,$_xmax,$_ymax, "36.bmp",0,0, 2000)
         картинка(0,0,$_xmax,$_ymax, "37.bmp",54,0, 2000)
         KEYPRESS(#9)
         WAITMS(2000)
         картинка(0,0,$_xmax,$_ymax, "38.bmp",0,0, 2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "39.bmp", - 1, 100)
            клик($_return1, $_return2,2000)
         END_IF
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax, "40.bmp",15,15,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "41.bmp", - 1, 100)
            клик($_return1+2, $_return2+2,2000)
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "42.bmp", - 1, 100)
            клик($_return1+5, $_return2+5,2000)
            GETSCREEN(0,0,$_xmax,$_ymax)
            COLORMODE(8)
            IF_PICTURE_IN (0,0,$_xmax,$_ymax, "43.bmp", - 1, 100)
               клик($_return1+5, $_return2+5,2000)
               картинка(0,0,$_xmax,$_ymax, "44.bmp",5,5,2000)
            END_IF
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(3)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "45.bmp", - 1, 100)
            DBLCLICK($_return1+15, $_return2+15)
            WAIT(1)
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "46.bmp", - 1, 100)
            MOVE($_return1+1, $_return2+1)
            WAIT(1)
            IF(FExists(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d)) = 0)//если папки с датой нету
               FCreate(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
            END_IF
            SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d,"\file", $n,".bmp"))
            inc($n)
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(1)
         
         $older = 10  // старее N дней
         
         IF($sgfvkvjgka = 0)
            STRSEPARATE("31,28,31,30,31,30,31,31,30,31,30,31", ",", $md)
            $sgfvkvjgka = 1
         END_IF
         
         SUB(day_of_year, $dy_d, $dy_m, $dy_y)
            $fdm = 0
            FOR($dyi=0, $dyi < ($dy_m-1))
               $fdm = $fdm + $md[$dyi]
            END_CYC
            $full_day = $dy_y*365 + $fdm + $dy_d
         END_SUB
         
         
         day_of_year($_date_d, $_date_m, $_date_y)
         $cur_day = $full_day
         
         GETDIRLIST($twins, "C:\files\twin*")
         FOR($tw=0, $tw < ARRSIZE($twins))
            $twin = $twins[$tw]
            LOGWRITE($twin)
           
            $mask = STRCONCAT("C:\files\", $twin, "\*")
            GETDIRLIST($dirs, $mask)
            FOR($i=0, $i < ARRSIZE($dirs))
               $dir = $dirs[$i]
               STRSEPARATE($dir, "-", $dat)
               day_of_year(INT($dat[0]), INT($dat[1]), INT($dat[2]))
               $folder_day = $full_day
               
               IF(($cur_day - $folder_day) > $older-1)
                  $fullname = STRCONCAT("C:\files\", $twin, "\", $dir)
                  FDELETE($fullname)
                  LOGWRITE("   ├─", $dir, "   Old  ", $fullname)
               ELSE
                  LOGWRITE("   ├─", $dir)
                  //LOGWRITE("   ├─", $dir, "   Ok")
               END_IF
            END_CYC
            //LOGWRITE()
         END_CYC
         
         WAIT(1)
         // вызов подпрограммы распознавания
         GETSCREEN
         COLORMODE(8)
         recognize(131,118, 175,140) // область распознавания
         LOGWRITE($str) // переменная с результатом (смотрим лог)
         лог(STRCONCAT(": ", $str)) // комбинированная запись
         WAITMS (50)
         
         картинка(0,0,$_xmax,$_ymax,"47.bmp",2,2,2000)
         картинка(450,580,540,625,"48.bmp",5,5,2000)
         картинка(0,0,$_xmax,$_ymax,"49.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"49.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,7000)
         картинка(0,0,$_xmax,$_ymax,"50.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"51.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"52.bmp",1,1,2000)
         картинка(785,370,$_xmax,$_ymax,"54.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"55.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"56.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"57.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"59.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"63.bmp",1,1,2000)
         
         лог(STRCONCAT("")) // комбинированная запись
      END_CYC
   END_IF
   IF($akk < 5)
      //выход
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "60.bmp", - 1, 100)
         LCLICK($_return1,$_return2)
         WAIT(2)
      END_IF
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "61.bmp", - 1, 100)
         LCLICK($_return1,$_return2)
         WAIT(10)
      END_IF
      WAIT(5)
      close()
      WAIT(5)
     
   ELSE
      //выход
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 2)
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER)
      WAIT (3)
      KEYPRESS(#PAGEDOWN)
      WAITMS (2000)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "62.bmp", - 1, 100)
         LCLICK($_return1,$_return2)
         WAIT(10)
      END_IF
      WAIT(5)
      close()
      WAIT(5)
   END_IF
   лог(STRCONCAT("2")) // комбинированная запись
END_CYC
END_THREAD