Show Posts

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


Topics - SimplY

Pages: 1 [2] 3 4
16
Например,

$ru = "Петров"

// Скрипт переводит на англ

$en = "Petrov"

Или

$ru = "Молоко"

// Скрипт переводит на англ

$en = "Moloko"

17
Ребят, извиняюсь за банальный вопрос. Я написал скрипт, который находит случайную строку в текстовом файле и копирует ее в переменную.

Code: (clickermann) [Select]
$s = TFREAD("80.txt", RND(2, TFCOUNT("80.txt")))
$a = TFREAD("80.txt", 1)

$a - это всегда первая строчка файла

$s - рандомная строчка начиная со 2-й по последнюю

В текстовом файле эта информация:
Молоко
Сметана
Творог
Печенье
Кефир
Масло
Макароны
Гречка

Вставляется такая вот ерунда:
Гречка
РўРІРѕСЂРѕРі
Кефир
Печенье
Молоко
Масло
Печенье
РўРІРѕСЂРѕРі
Масло
Гречка
Гречка
Гречка
Масло
Печенье

Или вообще пустые

Может я не там сохранил файл .txt? Лежит в той же папке, где скрипт.

18
Общие вопросы / Настройка STRCONCAT
« on: December 07, 2020, 10:53:05 AM »
Всем привет! Помогите пожалуйста настроить список в столбик.

В общем, по порядку выделяет и копирует номера телефонов и должен группировать в столбик в формате [номер](tel:номер) без тире и прочего. Только + и цифры.

Code: (clickermann) [Select]
GETSCREEN(405,430,428,1035)
   SCANPICTURE($ARR_SCAN, 405,430,428,1035, "+7.bmp", -1, 80)
   $ARR_NUM = 0
   #DEFINE EOL: CHAR(13), CHAR(10)
   $nom = "" // Строка-столбик, с разделителями EOL (изначально пустая)
   TOCLIP("") // Очищаем буфер
   WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
      $X = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      $Y = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      FOR($a=0,$a<3)
         LCLICK(402,$Y+4)
         WAITMS(10)
      END_CYC
      WAITMS(500)
      copy()
      $nom = STRFILTER($nom, "+7894561230", 1)
      $nom = STRCONCAT("[", $nom, "](tel:" $nom, ")", EOL, FROMCLIP())
   END_CYC

Выходит так:
["](tel:""")
+7‒923‒483‒94‒49
["](tel:""")
+7‒983‒444‒57‒11

Должно быть так:
[+79234839449](tel:+79234839449)
[+79834445711](tel:+79834445711)

И второй вопрос:
Скопирован столбик. Если в строке имеется ровно 11 цифр, то необходимо поставить фильтр от тире и )(, а также заключить номер в такие же скобки в виде ссылки: [цифры](tel:цифры)
Если в строке больше или меньше 11 цифр, то оставить всё как есть.

Например,

Исходный текст:

Иван
+7 (983) 569-96-74
ivan89@mail.ru
Подрядчик

После кликера:

Иван
[+79835699674](tel:+79835699674)
ivan89@mail.ru
Подрядчик

Code: (clickermann) [Select]
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS (150)
$n = FROMCLIP()


// Операции с переменной



TOCLIP($n)
WAITMS (10)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
HALT

Заранее спасибо!!!

19
Общие вопросы / Фильтр строки (слово)
« on: December 03, 2020, 05:13:06 PM »
Добрый день, друзья!

1) Как сделать так, чтобы кликер выделил текст и оставил в нем слово "труба" или "лист" если таковое есть в тексте? Символы знаю как, а вот слова нет!

2) В выделенном тексте например Лист г/к 2000х4500x50 или Лист г/к 4000х8х500 или Лист г/к 20х1000х800 разделить два числа и расписать их по двум переменным? При условии, что все двузначные и однозначные числа убрать.
Результат: $a = 2000 $b = 4500. Во втором примере $a = 4000, $b = 500, в третьем примере $a = 1000, $b = 800

Затем проделать такую формулу: $c делить ($a умножить на $b) = Х
($d умножить $e) и умножить на Х = $f
Если $f имеет число 2,75889987, то округлить до 2,76. В копейки в общем. При этом 2,78 и последняя цифра больше 5, то в большую сторону, если меньше, то в меньшую.

20



Есть картинка. Красная кнопка с белыми буквами и точно такая же розовая кнопка с белыми буквами. Одна светлее, другая более красная.

Как сделать в одном Getscreen, чтобы он находил одну картинку, но если ее цвет может быть либо розовым, либо красным?

Или это можно сделать только так?
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Розовая.bmp", -1, 100)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Красная.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   END_IF
END_IF
Просто если варианта два, то норм. А если вариантов цветов 100? А размер кнопки и стиль один и тот же? Буквы везде белые.

Заранее огромное спасибо!!!

21
Добрый день!!! Прошу помощи!

Кликер кликает на картинку 3 раза и выделяется текст, который принадлежит этой картинке. Мне нужно его скопировать и отправить например, в переменную $a1. Затем кликер видит следующую картинку. Там аналогично клик 3 раза по картинке и выделяется второй текст. Его отправить в  $a2. Соответственно текст из третьей картинки в $a3 и так далее. Там цикл и я не знаю, как это сделать..

Code: (clickermann) [Select]
GETSCREEN(362,158,506,733)
   SCANPICTURE($ARR_SCAN, 362,158,506,733, "хк.bmp", -1, 70)
   
   $ARR_NUM = 0
   WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
      $X = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      $Y = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      FOR($a=0,$a<3)
         LCLICK($X+30, $Y+6)
         WAITMS(20)
      END_CYC
      WAITMS(100)
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYPRESS (#C)
      KEYUP (#CTRL)
      WAITMS(10)
   END_CYC
   UNDEFINE($ARR_SCAN)
   WAITMS(150)
   TOCLIP(STRREPLACE($ST, EOL, ""))
 ELSE
   LOGWRITE ("Не найдено!")
   WAITMS(5)
END_IF

Заранее огромнейшее спасибо!!!

22
Разбирался, разбирался, разбирался и вроде начал понимать, что такое массивы и зачем они нужны.

На сайте 2гис есть несколько одинаковых картинок. Справа от каждой картинки в определенных координатах расположено слово. Если картинка найдена одна, то выделяется одно слово. Если найдено 4 картинки, то выделение идет после каждой картинки итого 4 слова. Но как это потом вставить?

Написал скрипт, но выдается ошибка в строках 25 и 26. Ну и не понятно, что делать, если не 3, а нужно вставить 40.


Code: (clickermann) [Select]
GETSCREEN(348,118,408,694)
SCANPICTURE($ARR_SCAN, 348,118,408,694, "сайт.bmp", -1, 80)

$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
   $X = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   $Y = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   LDOWN(404, $Y+5)   // Начало выделения текста
   WAITMS(10)
   LUP(600,$Y+5)      //Конец выделения текста
   WAITMS(500)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYPRESS (#C)
   KEYUP (#CTRL)
   WAITMS(10)
   $ST [$ARR_NUM] = FROMCLIP() // Каждый текст копируем в отдельные элементы массива
END_CYC
UNDEFINE($ARR_SCAN)
WAITMS(150)
LCLICK(660,751)  //В эксель
WAITMS(300)
#DEFINE EOL: CHAR(13), CHAR(10)
$b = STRCONCAT($ST [0], EOL, $ST [1],  EOL, $ST [2]) // Сформировать все элементы массива после найденных картинок в столбик.
TOCLIP($b) // В буфер
WAITMS(10)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
HALT

23
Общие вопросы / Postmessage для x64
« on: July 31, 2020, 11:38:59 PM »
Друзья, помогите разобраться!

Я так понимаю, чтот скрипт это для 32 разрядной системы. А для Win 64?
Code: (clickermann) [Select]
$WM_LBUTTONDOWN = 0x0201 // Левая кнопка мыши нажата.
$WM_LBUTTONUP = 0x0202 // Левая кнопка мыши отпущена.
$MK_LBUTTON = 0x0001 // Левая кнопка мыши находится в нажатом состоянии.
 
$HWND = 196784 // изменяется при каждом запуске целевой программы,
                 // нужно каждый раз вписывать заного
 
$x = 279 // Координата по X
$y = 112 // Координата по Y
 
//Отправляем сообщение окну о нажатой левой кнопке мыши
postmessage($HWND, $WM_LBUTTONDOWN, $MK_LBUTTON, $x + ($y*65536))
 
//Мало-мало ждем, а можно и вообще не ждать,
//   т.к. сообщения уходят в список и выполняются по порядку
waitms(50)
 
//Отправляем сообщение окну, что левую кнопку мыши отпустили
postmessage($HWND, $WM_LBUTTONUP, $MK_LBUTTON, $x + ($y*65536))
 
// Завершаем программу
halt

С этим то разобрался. Вставил свой HWND и координаты, но у меня x64! Как быть?

И есть MSDN на русском, где всё описано?

24
Есть идея такая:

Представлен простейший скрипт паузы. Скрипт продолжит работу при нажатии на Ctrl.
Code: (clickermann) [Select]
WHILE(iskeydown(#CTRL)=0)
   WAITMS(20)
END_CYC
WHILE(iskeydown(#CTRL)=1)
   WAITMS(20)
END_CYC

Если по такому принципу сделать скрипт без HALT, где в самом начале скрипта будет подобная комбинация. Нажав F1 и продолжается один сценарий. F2 другой и так далее. Возможно?

Может есть лучше варианты? Диалоговое окно не вариант. Проще использовать 6 кликеров одновременно. Сразу на горячую клавишу нажал и всё.

25
Пример:
Молоко
Сахар
Сметана
Творог (1)

Если не найдена строчка творог, то создается новая строчка в тексте и пишется слово Творог (1). Если данная строчка найдена, то Творог (1) заменяется на Творог (2). Затем Творог (3) и далее на одно число больше.

Есть нюансы. Творог не всегда на 4 строчке и может находиться хоть на 20-й, но всегда в последней.

Все, что я умею сделать.
Code: (clickermann) [Select]
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
$a = FROMCLIP()
WAITMS(50)
#DEFINE EOL: CHAR(13), CHAR(10)
$b = STRCONCAT($a, EOL, "Творог (1)")
WAITMS(50)
TOCLIP($b)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)

Но этот скрипт создает всегда последнюю строчку Творог (1), даже если такая строчка уже есть. Это не устраивает.
Молоко
Сахар
Сметана
Творог (1)
Творог (1)
Творог (1)
Творог (1)
Творог (1)

Должно быть так:
Молоко
Сахар
Сметана
Творог (5)

26
Копируется русский текст из браузера Chrome и вставляется в стороннюю программу. Если раскладка на ПК установлена RU, то проблем не возникает и русский текст вставляется корректно. Если ENG, то русский текст в таком виде: ? ? ? ? ?, зато английские слова корректно.

Муторно постоянно смотреть какая раскладка и постоянно переключать.

Попытался вставить в скрипт это:
Code: (clickermann) [Select]
$hwnd1 = wndfind("Clickermann -")
$hwnd2 = wndfind("Quick Sales")

SETKBLAYOUT($hwnd1, 1049) // RU
SETKBLAYOUT($hwnd2, 1049)

Но это не помогает:(
Вставляется косо только в эту програму.

27
Прошу совета, как убрать? Кликер был скачан с этого сайта последняя версия.

28
После проигрывания SOUND(RNDFROM("1", "2", "3")) если я нажимаю пробел в течении 15 секунд, то значение переменной $balls = +1 от предыдущего значения (например, $balls была = 5, а после нажатия клавиши =6) и звук. Также сразу после нажатия кликер продолжает работу не дожидаясь окончания 15 секунд.
Code: (clickermann) [Select]
BEEP(1800,150) //Звуковой файл после нажатия пробела
Если клавиша не была нажата в течении 15 секунд или была нажата позже, то 0 от предыдущего значения и продолжить

Code: (clickermann) [Select]
$kv = 30
$balls = 0
FOR($a=0,$a<$kv)
   WAIT(RND(3, 10)) //Рандомное время для эффекта неожидданности
   SOUND(RNDFROM("1", "2", "3"))
   //Нажать пробел в течении 15 секунд. Если клавиша нажата, то $balls = +1, звук BEEP(1800,150) и повтрить цикл, если это 30-й цикл, то продолжить дальше
END_CYC

WAIT(5)
SOUND("тз")
WAIT(10)
$procent =
WAIT(10)
HINTPOPUP(STRCONCAT("Результат: ", $procent, "%"), "Результат теста:")
HALT

Я попытался и что-то в ту степь куда-то ушел, но не смог сделать.
Code: (clickermann) [Select]
$time = $_time_t + 15 // таймер на 15 секунд
   WHILE($time > $_time_t)
      WHILE(iskeydown(#SPACE)=0)
         WAITMS(20)
         $time = 0
         WAITMS(20)
      END_CYC
      WHILE(iskeydown(#SPACE)=1)
         WAITMS(20)
         $time = 0
         WAITMS(20)
      END_CYC
      INC($balls, 1)
      WAITMS(10)
      BEEP(1800,150)
      WAITMS(100)
   ELSE
      WAITMS(100)
   END_CYC
   
IF($time ! 0)
      INC($balls, 0)
      WAITMS(100)
END_IF

После 15 секунд скрипт должен сам продолжаться не присваивая переменной 1

Также во всплывающем окне необходимо рассчитать % = $procent.

$procent = 100 делим на значение $kv и получаем число X. Затем $balls умножаем на X. После округляем до целого числа в большую пользу. Было 78,56 а стало 79.

Заранее спасибо:)

29
Например:
Enter в переменную или буфер - это
Code: (clickermann) [Select]
#DEFINE EOL: CHAR(13), CHAR(10)
TOCLIP(STRCONCAT("А", EOL, "Б"))

В разные ячейки в Excel - это:
Code: (clickermann) [Select]
#DEFINE @CRLF: CHAR(13), CHAR(10)
#DEFINE @TAB: CHAR(9)
 
$a = "A1"
$b = "B1"
$c = "C1"
$d = "A2"
$e = "B2"
 
TOCLIP(STRCONCAT($a, @TAB, $b, @TAB, $c, @CRLF, $d, @TAB, $e))

А другие? Например, сделать щрифт жирным в письмо, картинка в буфере обмена и т.д.

Где про это можно почитать?

Что означает номер CHAR?

30
Общие вопросы / Поток
« on: February 27, 2020, 07:25:05 AM »
Сначала идет основной скрипт. Там идет копирование данных и отправка их в переменные. Затем в фоне открывается Ecxel открытый файл и формируется отчёт, вставляя данные в ячейки из переменных, но я это не вижу.

Code: (clickermann) [Select]
Thread(thr_name, 0)
// Действия с Excel
End_thread

// Основной скрипт
setThread(thr_name, 1) //Действия с Excel в фоне
// Продолжение основного скрипта одновременно

HALT

Я понял, что нужно делать привязку к окну или делать Excel прозрачным, что-то такое. Попытался сделать просто поток, но у меня не получилось.

Pages: 1 [2] 3 4