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

Основной раздел => Общие вопросы => Topic started by: Loginow on May 03, 2017, 06:13:35 PM

Title: Товарищи - суть в том... (срочное)
Post by: Loginow on May 03, 2017, 06:13:35 PM
Мне 23. 2 дочки близняшки (4 месяца). Нужда в деньгах, стараюсь максимально увеличить доход. Прошу помочь в написание скриптов, ибо на работе зашиваюсь. Уважаю ваше личное время, по этому ответьте пожалуйста кто на что сможет.

Можно ли, и если да,  то как создать окно выбора на 4 варианта, с ожиданием выбора от меня?

Файл txt в папке со скриптом. Нужно зайти в этот txt файл , вырезать последних 100 строк и сохранить измененным. Как реализовать?

Может ли SUB работать автономно(параллельно) от основного скрипта?

Некое окно, привязанное. Пытаюсь закрыть через KEYDOWN(#ALT) / WAITMS(50) / KEYPRESS(#F4) / KEYUP(#ALT), донт ворк. Пытался по области через LCLICK закрыть - тот же игнор, одно из значение опознает как (Х,-ХХ). Как быть?

Есть программа на основе Java. открываю, привязываю, отмечаю варианты, все гуд. А когда перехожу в некое окно где нужно вставить текст - команда выделения, вставки, мышь не реагируют. Пробовал через буквы, пробовал через винАпи. Бездыханно.
Что посоветуете?
Title: Re: Товарищи - суть в том... (срочное)
Post by: Oraven on May 03, 2017, 07:51:19 PM
Можно ли, и если да,  то как создать окно выбора на 4 варианта, с ожиданием выбора от меня?

Code: (clickermann) [Select]
$res = RADIOBOX("Выберете пункт", "Вариант 1", "Вариант 2", "Вариант 3", "Вариант 4")
SWITCH($res)
CASE(1)
LOGWRITE ("Выбран пункт 1")

CASE(3)
LOGWRITE ("Выбран пункт 2")

CASE(3)
LOGWRITE ("Выбран пункт 3")

CASE(4)
LOGWRITE ("Выбран пункт 4")

DEFAULT
END_SWITCH

Файл txt в папке со скриптом. Нужно зайти в этот txt файл , вырезать последних 100 строк и сохранить измененным. Как реализовать?

Code: (clickermann) [Select]
TFREADARR("file.txt", $arr)
FOR($a=100,$a<ARRSIZE($arr))
   ARRPUSH($arr2, $arr[$a])
END_CYC
TFWRITEARR("file.txt", $arr2)
UNDEFINE($arr)
UNDEFINE($arr2)
HALT

Может ли SUB работать автономно(параллельно) от основного скрипта?

Для этого придуманы потоки
Code: (clickermann) [Select]
THREAD(name, 1)
   // тело
END_THREAD
Если используется подпрограмма то вызов не пойдет за пределы потока, описание должно быть внутри потока.
Также потоки имеют слабую изоляцию, надо иметь ввиду.

Некое окно, привязанное. Пытаюсь закрыть через KEYDOWN(#ALT) / WAITMS(50) / KEYPRESS(#F4) / KEYUP(#ALT), донт ворк. Пытался по области через LCLICK закрыть - тот же игнор, одно из значение опознает как (Х,-ХХ). Как быть?

В режиме привязки не работают зажатия клавиш.
Можно закрыть через SENDMESSAGE
Code: (clickermann) [Select]
SENDMESSAGE($_hwnd,0x0010,0,0) // закрыть окно
Есть программа на основе Java. открываю, привязываю, отмечаю варианты, все гуд. А когда перехожу в некое окно где нужно вставить текст - команда выделения, вставки, мышь не реагируют. Пробовал через буквы, пробовал через винАпи. Бездыханно.
Что посоветуете?

Опять же команды POSTMESSAGE
Code: (clickermann) [Select]
POSTMESSAGE($_hwnd,0x00B1,0,-1) //Выделить все
POSTMESSAGE($_hwnd, 0x0301, 0, 0) // скопировать
POSTMESSAGE($_hwnd, 0x0302, 0, 0) // вставить
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 04, 2017, 09:09:16 AM
Файл txt в папке со скриптом. Нужно зайти в этот txt файл , вырезать последних 100 строк и сохранить измененным. Как реализовать?

Code: (clickermann) [Select]
TFREADARR("file.txt", $arr)
FOR($a=100,$a<ARRSIZE($arr))
   ARRPUSH($arr2, $arr[$a])
END_CYC
TFWRITEARR("file.txt", $arr2)
UNDEFINE($arr)
UNDEFINE($arr2)
HALT

Мммм. Это не последние 100 строк. Это строки с 100 до конца.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 04, 2017, 12:11:26 PM
Oraven, спасибо большое)

kiril, согласен частично. Но раз уж пк стоит, то пусть приносит пользу. Мне обломно, при том, что я был против покупки его со свадебных денег, так еще и чтоб он ограничивался тещиной косынкой - дули! Будет работать!

Vint, спасибо что подметили. Подскажите как правильно)
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 04, 2017, 12:14:04 PM
по поводу SENDMESSAGE($_hwnd,0x0010,0,0) - пробовал как есть при отвязанном окне, пробовал при отвязанном с прописанным названием процесса, аналогичные 2 варианта пробовал при привязанном окне. Не достиг результата. В чем я допускаю ошибку?
Тот же нюанс и с постмеседж.

И еще. Видимо перемудрил, взгляните. Задача просто дождаться смены колва пикселей в области, и далее нажать на ЛК в указанном месте.

Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)

GETSCREEN
$count = PXLCOUNT (255,111, 355,44, 3355443) // Ïîòîì ìû åùå ðàç äåëàåì ïîäñ÷åò â òîé æå îáëàñòè
$check = 1
IF($count = $counts)
WAITMS(100)
Else
IF($count < $counts)
LCLICK(123,119)
// äåéñòâèå ïðè íåñîâïàäåíèè
END_IF
Не дожидается появления новых пикселей. Решил пока проблему таким способом, но это абсурд!

Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(6,406, 1007,444, "а11.bmp")
      $check = 1
      WAITMS(50)
LCLICK(123,119)
Else
GETSCREEN
   IF_PICTURE_IN(6,406, 1007,444, "a11.bmp")
      $check = 1
      WAITMS(50)
LCLICK(123,119)
ELSE
GETSCREEN
   IF_PICTURE_IN(6,406, 1007,444, "a11.bmp")
      $check = 1
      WAITMS(50)
LCLICK(123,119)
ELSE
WAITMS(100)
END_IF
END_CYC
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 04, 2017, 12:43:58 PM
Vint, спасибо что подметили. Подскажите как правильно)

Я вот эту фразу
Файл txt в папке со скриптом. Нужно зайти в этот txt файл , вырезать последних 100 строк и сохранить измененным. Как реализовать?
могу понять в двух смыслах
1. Взять и оставить только последние 100 строк.
2. Оставить всё, кроме последних 100 строк.

Код будет разный.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 04, 2017, 12:49:35 PM
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)

GETSCREEN
$count = PXLCOUNT (255,111, 355,44, 3355443)
$check = 1
IF($count = $counts)
WAITMS(100)
Else
IF($count < $counts)
LCLICK(123,119)
END_IF

IF - две штуки, а END_IF только один. Одного не хватает.
И WHILE не закрыт END_CYC.

Во второй части так вообще половины не хватает.

Code: (clickermann) [Select]
GETSCREEN
WHILE(PXLCOUNT(255,111, 355,44, 3355443) = $counts)
    WAITMS(100)
    GETSCREEN
END_CYC

IF(PXLCOUNT(255,111, 355,44, 3355443) < $counts)
    LCLICK(123,119)
    WAITMS(100)
END_IF
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 04, 2017, 12:59:46 PM
по поводу SENDMESSAGE($_hwnd,0x0010,0,0) - пробовал как есть при отвязанном окне, пробовал при отвязанном с прописанным названием процесса,

hwnd в SENDMESSAGE нужно задавать всегда. При привязанном окне в системной переменной $_hwnd уже будет нужный hwnd. При отвязанном нужно его указать.
Как и куда "прописывал название процесса"? Кликермэн не работает с названиями процессов, нет ни одной команды. Есть номер HWND окна и его получение по координатам или по заголовку окна.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 04, 2017, 02:19:34 PM
SENDMESSAGE($_hwnd,0x0010,0,0)

Спасибо, да вы правы. По поводу второй части, она к сожалению не сработала для моего случая. Почему не сработала? Через мув на ту же координату навожу курсор, так после перезапуска так уже другой пиксель. Траил 4 раза. Пытаюсь сделать по другому.

Спрашивал гугл, есть картинка, нужно дождаться ее смены и тогда ЛКМ в определенной области. Уточнение: на какую она изменится - не известно. Нужно дождаться смены. Есть такая тема на форуме?

На счет фразы и 2 вариантов. 2) вариант скорее. Не правильно сформулировал. Нужно вырезать из тхт файла 100 последних строк(в буфер), и сохранить файл без 100 последних строк.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Oraven on May 04, 2017, 03:34:37 PM
Quote
$h = hget
Что это за бред такой?

На счет слежения за сменой картинки
Code: (clickermann) [Select]
// Пример определения изменения области

GETSCREEN
$hash1 = PXLCRC(200,200, 300,300)
$hash2 = $hash1
WHILE($hash1 = $hash2) // цикл сдерживает выполнение пока любой пиксел в области не изменится
   WAITMS(50)
   GETSCREEN
   $hash2 = PXLCRC(200,200, 300,300)
END_CYC
WAITMS(600)



// Пример определения изменения конкретного пиксела

GETSCREEN
$color1 = PXL(10,10)
$color2 = $color1
WHILE($color1 = $color2) // цикл сдерживает выполнение пока пиксел не изменит цвет
   WAITMS(50)
   GETSCREEN
   $color2 = PXL(10,10)
END_CYC
WAITMS(600)

На счет 100 строк. Вариант во вложении работает так как тебе нужно.
Кликер не умеет работать с множеством строк в одной переменной поэтому чтобы запихнуть строки в буфер приходится использовать стороннюю консольную утилиту nircmd.exe

Также если в файле 100 или меньше строк, все они будут вырезаны в буфер, а файл будет очищен.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 04, 2017, 09:03:11 PM
сумасшедшего, пардон. Зачитывался справкой, копил, траил и случайно влепил.

На счет слежения за сменой картинки и по вложению это Топ! Спасибо.
Дошел до нюанса: у меня есть постоянное значение 1408, и есть значение которое я получаю(переменное). Нужно сопоставить их в кликермане, возможно ли?
Следующим образом:
Есть 1408, вставляем значение Х, если 1408 > или = X, в ход 1й сценарий.
Если 1408 < X, в ход второй сценарий.

Как создать такую формулу?
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 04, 2017, 09:43:08 PM
Code: (clickerman) [Select]
$pp = 1408;
IF($pp <,= 1408)
... // исполнить сценарий 1
ELSE
... // продолжить сценарий
END_IF
Title: Re: Товарищи - суть в том... (срочное)
Post by: dramster on May 04, 2017, 10:05:40 PM
Есть 1408, вставляем значение Х, если 1408 > или = X, в ход 1й сценарий.
Если 1408 < X, в ход второй сценарий.
Code: (clickermann) [Select]
IF($x > 1408) //если X больше 1408
   // "в ход второй сценарий"
ELSE        //если Х меньше  или равно 1408
   // "в ход 1й сценарий"
END_IF
Title: Re: Товарищи - суть в том... (срочное)
Post by: Oraven on May 05, 2017, 08:13:54 AM
Code: (clickerman) [Select]
$pp = 1408;
IF($pp <,= 1408)
... // исполнить сценарий 1
ELSE
... // продолжить сценарий
END_IF

Твой код не верен. В синтаксисе кликера нет никаких точек с запятыми а также меньше или равно.
Верный код
Code: (clickermann) [Select]
$pp = 1408
IF(($pp < 1408)|($pp = 1408))
   // исполнить сценарий 1
ELSE
   // продолжить сценарий
END_IF
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 05, 2017, 10:43:46 AM
Чтоб не писать два условия на > или =, проще "вывернуть" - поменять ветки верно/не верно местами
Code: (clickermann) [Select]
$pp = 1408;
IF(1408 < $pp)
    // исполнить сценарий 2
ELSE
    // исполнить сценарий 1
END_IF
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 05, 2017, 11:03:34 AM
Принято. спс

Теперь грандиозный вопрос. Блокнот! Открываю, вставляю инфу, проверяю колво строк, Выхожу?!!
Так как инфа изменяется, при закрытие выбивает дополнительное окно, сохранить мол? Я перепробовал все что мог при отвязанном - KD(#alt)kp(#f4)KU(#alt), варивант kp(#alt)LC(00,00), вариант sendmessage, и последний публикую, даже задержки пробовал 1сек - тоже бездыханно. о ужас какой. Подскажите пожалуйста, как правильно сохранить и выйти? 

Code: (clickermann) [Select]
EXECUTE("fonts.txt")     
HSET(wndfind("fonts.txt — Блокнот"),1)
WAIT(1)
SENDMESSAGE($_hwnd,0x0010,0,0)
WAIT(1)
HSET(wndfind("fonts.txt — Блокнот"),0)
WAIT(1)
HSET(wndfind("Блокнот"),1)
WAIT(1)
LCLICK(100,126)
HALT

И еще вопрос. Есть поля для заполнения данными, данные неизменны. Можно ли в скрипт прописать их как
Code: (clickermann) [Select]
ВСТАВИТЬ("мопед123")
Начинаю соображать, что вроде только как через присвоение значения переменной это делается, верно?
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 05, 2017, 12:31:36 PM
(http://savepic.net/9260225.jpg)

Или выводи в лог то, что не видишь
Code: (clickermann) [Select]
EXECUTE("fonts.txt")
WAIT(1)  // пауза должна быть ЗДЕСЬ, а не где попало! Это время на запуск блокнота.
$hwnd = wndfind("fonts.txt — Блокнот")
LOGWRITE("$hwnd  ", $hwnd)
HALT

У меня выводит 0, т.е. не нашло окна с таким заголовком. У меня в XP тире короткое, поэтому заменив на "fonts.txt - Блокнот" всё стало определяться.
Что хочу сказать.
Надеюсь ты не вбивал заголовок руками в Word-е? Имя нужно копировать из редактора окон или сторонней программы менеджера окон  типа InqSoft Window Scanner.
Или писать часть имени "Блокнот" или "fonts.txt". Второй предпочтительней, т.к. в разных системах окно блокнота называется по разному.

Команда
HSET(wndfind("fonts.txt — Блокнот"),0)
лишняя

Не вставляет текст, потому что пытается вставить не туда. Поводи курсором над блокнотом и ты поймёшь, что основное окно с заголовком (которое мы нашли) имеет один HWND, а поле ввода - это другое окно класса Edit с другим HWND и заголовка у него нет.

Ты просто обучаешься на блокноте или это реальная задача?
Просто рано ты полез в привязку. Прямо совсем рано. Зачем она нужна.

Ты меньше шифруйся, если есть возможность покажи приложение с которым работаешь.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 05, 2017, 02:21:43 PM
Ахахахах) Доброта  ;)

Изначально копировал из Менеджер окон, не работало, я химичил много, где-то стирал что-то, менял и в итоге мог от руки написать, действительно. Усвоил.

Quote
Команда
HSET(wndfind("fonts.txt — Блокнот"),0)
лишняя

То есть на отвязку в таких случаях можно не отвлекаться, привязка онли?
годно)

Quote
а поле ввода - это другое окно класса Edit с другим HWND и заголовка у него нет.

я видел, пытался переключить на всплывающее окно, но у меня не вышло. Сделал  на отвязке через вход для черных. Закончив все действия:
Code: (clickermann) [Select]
KEYPRESS(#ESC)

WAITMS(50)
LCLICK(22,30)
WAITMS(50)
LCLICK(70,101)
WAITMS(50)
HSET($hwnd1,1)
WAITMS(50)
SENDMESSAGE($hwnd1,0x0010,0,0)
  HALT

Обучаюсь на блокноте, юлить не буду. Создаю автономную работу пк, для парсинга сайтов (пример Али, на выгодные цены). Смогу выиграть очень много времени.
Приложение Content Downloader II ver.2.79
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 05, 2017, 02:35:37 PM
То есть на отвязку в таких случаях можно не отвлекаться, привязка онли?
годно)
Новая привязка отменит старую.
Ну если очень нужно, то
Code: (clickermann) [Select]
HSET(0, 0)
wndfind не имеет смысла, окна то нет.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 05, 2017, 04:05:29 PM
и все таки, в чем моя ошибка? Ну я реал не понимаю((
Code: (clickermann) [Select]
EXECUTE("1.txt")      // опен
WAIT(1)
$hwnd1 = wndfind("fonts.txt - Блокнот") //  привязка
WAITMS(50)
HSET($hwnd1,1)
WAITMS(50)
WNDBUMP(wndfind($hwnd1)) // поверх всех окон (передний план)
WAITMS(50)
LCLICK(360,140)
WAITMS(50)
HSET(0,0)
// тут ряд манипуляций в файле
HSET($hwnd1,1)
WAITMS(50)
SENDMESSAGE($hwnd1,0x0010,0,0) // закрываю
WAIT(1)
$hwnd2 = wndfind("Блокнот") // окно Вы уверенны? сохранить, да?
HSET($hwnd2,1)
LCLICK(206,123)

HALT


И еще вопрос открыт:
Quote
Есть поля для заполнения данными, данные неизменны. Можно ли в скрипт прописать их как
Code: (clickermann) [Select]
ВСТАВИТЬ("мопед123")Начинаю соображать, что вроде только как через присвоение значения переменной это делается, верно?

Как переименовать txt файл внутри кликермана, раз инсерт и сейв есть, ренейм тоже возможно есть?
Title: Re: Товарищи - суть в том... (срочное)
Post by: Oraven on May 05, 2017, 05:42:39 PM
Code: (clickermann) [Select]
WNDBUMP(wndfind($hwnd1)) // поверх всех окон (передний план)в функции надо указывать HWND а не wndfind
Правильно
Code: (clickermann) [Select]
WNDBUMP($hwnd1) // поверх всех окон (передний план)
Чтобы закрыть блокнот нужно нажать Alt+F4 после чего выскочит запрос на сохранение. "Да" уже выделено, нужно лишь нажать Enter.
Code: (clickermann) [Select]
EXECUTE("1.txt")      // опен
WAIT(1)
$hwnd1 = wndfind("fonts.txt - Блокнот") //  привязка
WAITMS(50)
WNDBUMP($hwnd1) // поверх всех окон (передний план)
WAITMS(50)
HSET($hwnd1,1)
WAITMS(50)
LCLICK(360,140)
WAITMS(50)
HSET(0,0)
// тут ряд манипуляций в файле

WNDBUMP($hwnd1) // поверх всех окон (передний план)
WAITMS(50)
KEYDOWN (#ALT)
WAITMS (50)
KEYPRESS(#F4)
KEYUP (#ALT)
WAITMS(500)
KEYPRESS(#ENTER)

HALT
 
Title: Re: Товарищи - суть в том... (срочное)
Post by: Oraven on May 05, 2017, 05:52:50 PM
На счет вставить, используй подпрограммы для вызова повторяющегося кода, в вызове можно передавать параметры, строки или числа.
Code: (clickermann) [Select]
SUB(ВСТАВИТЬ, $name1, $name2) // подпрограмма с параметрами
   // тело выполняется только после вызова
   LCLICK(10,10) // клик по полю ввода
   WAITMS(50)
   TOCLIP($name1) // текст в буфер
   WAITMS(50)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS (50)
   KEYPRESS(#TAB) // переходим в следующее поле
   WAITMS (50)
   TOCLIP($name2) // текст в буфер
   WAITMS(50)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS (50)
END_SUB

ВСТАВИТЬ("мопед 123","велосипед 456") // вызов подпрограммы (обязательно ниже подпрограммы)
ВСТАВИТЬ("самокат 123","мотоцикл 456")
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 05, 2017, 07:41:19 PM
Спасибо, суб+++.

По поводу ALT+F4 - я скопировал ваш скрипт, но ничего не происходит. Скопировал в точности.
КМАН зависает на открытие второго окна.
Винда 7. В чем может быть проблема?
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 05, 2017, 10:04:57 PM
Спасибо, суб+++.

По поводу ALT+F4 - я скопировал ваш скрипт, но ничего не происходит. Скопировал в точности.
КМАН зависает на открытие второго окна.
Винда 7. В чем может быть проблема?
Вы же не японец, чтоб в точности копировать. Вставте в скрипт то название окна открытого блокнота, что отображается в вашей системе. Можете его уточнить в менеджере окон встроенном в рабочее окно Clickermann. Так же вероятная причина, то что задержки EXECUTE("1.txt")      // опен
WAIT(1)
не всегда достаточно для открытия окна.

ахах, kiril и снова я с вами частично согласен. Не японец)
Предпологалось копирование конкретных частей. Название окна скопировал из Манагера Окон(К-МАН).
Тоже думал на счет WAIT(1). Сменил на (5). Результат не изменился. Выход из ситуации нашел только экстренный.
Понимаю что он не верный, и смириться просто тоже не могу.

Vint, Разобрал ситуация по тире/дефису. Так как я скопировал его из Манагера(К-МАН), у меня почему-то именно длинный. Может у меня просто windows малость "паленый"?


Code: (clickermann) [Select]
EXECUTE("fonts.txt") // Открываю файл
WAIT(5)
$hwnd2 = wndfind("fonts.txt — Блокнот") // HWND окна
WAITMS(50)
WNDBUMP($hwnd2) // передний план
WAITMS(50)
HSET($hwnd2,1) // привязка
WAITMS(50)
LCLICK(360,140)
WAITMS(50)
HSET(0,0)     // отвязка


KEYDOWN(#WIN) // разворот на весь экран
WAITMS(50)
KEYPRESS(#UP)
WAITMS(50)
KEYUP(#WIN)
WAITMS(50)
KEYDOWN(#CTRL)  // выделяю
WAITMS(50)
KEYPRESS(#A)
WAITMS(50)
KEYUP(#CTRL)
WAITMS(50)

KEYDOWN(#CTRL)  // вставка
WAITMS(50)
KEYPRESS(#V)
WAITMS(50)
KEYUP(#CTRL)
WAITMS(50)

WAITMS(50)
LCLICK(22,30)
WAITMS(50)
LCLICK(70,101)
WAITMS(50)
HSET($hwnd2,1)
WAITMS(50)
SENDMESSAGE($hwnd2,0x0010,0,0)
HSET(0,0)
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 06, 2017, 02:55:54 PM
Доброго времени)
Спасибо всем что поддерживаете. Вижу финишную прямую. Подскажите:

Можно ли через K-MAN переименовать файл, который находится в папке со скриптом, не открывая его при этом и как?
Очень важно для меня.
Как правильно переходить к сабу в таком случае? В чем ошибка? ( без саба скрипт ворк)

Code: (clickermann) [Select]
$hwnd1 = wndfind("CD")
WAIT(1)
   
    SUB(1)
HSET($hwnd1,1)
WAITMS(50)
LCLICK(692,106)  // BW
WAITMS(50)
HSET(0,0)
KEYDOWN(#CTRL)
 WAITMS(50)
   KEYPRESS(#A)
   KEYUP(#CTRL)
   WAITMS(50)
   TOCLIP("SCU(1-10/price)")
WAITMS(50)
   KEYDOWN (#CTRL)
   WAITMS(50)
   KEYDOWN(#V)
   WAITMS(50)
   KEYUP(#V)
   KEYUP(#CTRL)
   HSET($hwnd1,1)
  LCLICK(524,461) // NW
WAITMS(50)
HSET(0,0)
END_SUB

WNDBUMP($hwnd1)
WAIT(1)

GOSUB(1)
        WAIT(1)
HALT

Как вы решаете задачу по работе с файлами и папками в других локациях? (удаление, редактировани и т.п.)
total com?
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 06, 2017, 05:22:36 PM
Можно ли через K-MAN переименовать файл, который находится в папке со скриптом, не открывая его при этом и как?
Очень важно для меня.
Как правильно переходить к сабу в таком случае? В чем ошибка? ( без саба скрипт ворк)

Code: (clickermann) [Select]
$hwnd1 = wndfind("CD")
WAIT(1)
   
    SUB(1)
HSET($hwnd1,1)
WAITMS(50)
LCLICK(692,106)  // BW
WAITMS(50)
HSET(0,0)
KEYDOWN(#CTRL)
 WAITMS(50)
   KEYPRESS(#A)
   KEYUP(#CTRL)
   WAITMS(50)
   TOCLIP("SCU(1-10/price)")
WAITMS(50)
   KEYDOWN (#CTRL)
   WAITMS(50)
   KEYDOWN(#V)
   WAITMS(50)
   KEYUP(#V)
   KEYUP(#CTRL)
   HSET($hwnd1,1)
  LCLICK(524,461) // NW
WAITMS(50)
HSET(0,0)
END_SUB

WNDBUMP($hwnd1)
WAIT(1)

GOSUB(1)
        WAIT(1)
HALT

Как вы решаете задачу по работе с файлами и папками в других локациях? (удаление, редактировани и т.п.)
total com?
Всё что нужно сделать с файлами можно через cmd он же bat. Часто можно сразу вызвать cmd с параметрами не создавая файлов.

SUB... у нас на дворе 2017 год, команды GOSUB уже нет несколько лет. Или ты пользуешься настолько старой версией или мы здесь зря всё пишем так как ты справку не открывал.

И имя не нужно задавать числами. Имя должно, минимум, начинаться с буквы.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 06, 2017, 06:06:57 PM
Под всем согласен, справка помогла,  я уже решил этот вопрос.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 07, 2017, 07:25:43 PM
А на ожидание окна есть скрипт??
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 09, 2017, 05:03:43 PM
Цикл
Code: (clickermann) [Select]
WHILE(wndfind(ляляля) = 0)
    WAITMS(50)
END_CYC
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 10, 2017, 08:12:28 PM
Сегодня опробую. Спасибо.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 11, 2017, 11:12:37 AM
Годно)
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 13, 2017, 12:29:35 AM
2 вопроса.

1) Как дописать если по истечению 15 сек изменений не будет, перейти к действию:
Code: (clickermann) [Select]
$time = $_time_t + 15
GETSCREEN 
$hash1 = PXLCRC(50,91, 135,363)
$hash2 = $hash1
WHILE($hash1 = $hash2)
   WAITMS(50)
   GETSCREEN
  WHILE($time < $_time_t) & $hash2 = PXLCRC(50,91, 135,363)
END_CYC
END_CYC

2)Когда в конце сравнивая значения скрипт переходит на 2-й круг начинаются ошибки. Особенно sub skryp("499.txt")
По задумке он должен брать из файла данные, и в начале каждой строки добавлять указанное значение.
Но на втором кругу он добавляет это значение дважды.
Когда отдельно проверяешь - саб как саб, вставляет как положено.
Как исправить?



Code: (clickermann) [Select]
EXECUTE("h.bat - Ярлык")
WAIT(3)
$hwnd1 = wndfind("h")
WAITMS(500))

 //
SUB(start)
   WAIT(3)
   HSET($hwnd1,1)
   LCLICK(500,283)
   WAIT(2)
   KEYPRESS(#SPACE)
   WAITMS(500))
   LCLICK(500,283)
   WAITMS(500))
END_SUB

SUB(start1)
KEYPRESS(#TAB)
KEYPRESS(#SPACE)
WAITMS(500))
LCLICK(500,283)
WAITMS(500))
LCLICK(840,30)
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(6,406, 1007,444, "appp.bmp")
      $check = 1
      WAITMS(500))
      LCLICK(516,460)
   Else
      WAITMS(100)
   END_IF
END_CYC   
WAITMS(500))
LCLICK(520,32)
WAIT(2)


GETSCREEN   // ??????????? (?? ?????? ???????)
$hash1 = PXLCRC(50,91, 135,363)
$hash2 = $hash1
WHILE($hash1 = $hash2)
   WAITMS(500))
   GETSCREEN
   $hash2 = PXLCRC(50,91, 135,363)
END_CYC
LCLICK(126,208)

WAITMS(500))
HSET(0,0) // ???????
WAITMS(100)
KEYDOWN(#CTRL) // ????????? ????????? ?????
WAITMS(500))
KEYPRESS(#A)
WAITMS(500))
KEYUP(#CTRL)
WAITMS(500))
KEYDOWN(#CTRL) // ??????????? ?????
WAITMS(500))
KEYPRESS(#C)
WAITMS(500))
KEYUP(#CTRL)
WAITMS(500))                               
LCLICK(387,281)
END_SUB

   SUB(start2)
KEYPRESS(#TAB)
KEYPRESS(#SPACE)
WAITMS(500))
HSET($hwnd1,1)
WAITMS(500))
LCLICK(500,283)
WAITMS(500))
LCLICK(840,30)
$check = 0   
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(6,406, 1007,444, "appp.bmp")
      $check = 1
      WAITMS(500))
      LCLICK(516,460)
   Else
      WAITMS(100)
   END_IF
END_CYC           // ??????? ? ??????
WAITMS(500))
LCLICK(161,206)
WAITMS(500))
HSET(0,0)
WAITMS(500))
KEYDOWN(#CTRL) // ????????? ????????? ?????
WAITMS(500))
KEYPRESS(#A)
WAITMS(500))
KEYUP(#CTRL)
WAITMS(500))
KEYDOWN(#CTRL) // ??????????? ?????
WAITMS(500))
KEYPRESS(#C)
WAITMS(500))
KEYUP(#CTRL)
END_SUB

//???????? ??????? (?????)
SUB(checkp)
   EXECUTE("strok.txt") // ???????? ????? ?????
   WAIT(5)
   $hwnd2 = wndfind("strok.txt — ???????") //  ????????
   WAITMS(500))
   WNDBUMP($hwnd2) // ?????? ???? ???? (???????? ????)
   WAITMS(500))
   HSET($hwnd2,1)
   WAITMS(500))
   LCLICK(360,140)
   WAITMS(500))
   HSET(0,0) // ???????


   KEYDOWN(#WIN) // ?? ???? ?????
   WAITMS(500))
   KEYPRESS(#UP)
   WAITMS(500))
   KEYUP(#WIN)
   WAITMS(500))
   KEYDOWN(#CTRL)  // ?????????
   WAITMS(500))
   KEYPRESS(#A)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))

   KEYDOWN(#CTRL)  // ???????
   WAITMS(500))
   KEYPRESS(#V)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))

   KEYDOWN(#CTRL)  // ??????? ? ????? ?????
   WAITMS(500))
   KEYPRESS(#G)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))

   KEYDOWN(#CTRL)  // ??????????? ????????
   WAITMS(500))
   KEYPRESS(#C)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))

   KEYPRESS(#ESC)

   WAITMS(500))
   LCLICK(22,30)
   WAITMS(500))
   LCLICK(70,101)
   WAITMS(500))
   HSET($hwnd2,1)
   WAITMS(500))
   SENDMESSAGE($hwnd2,0x0010,0,0)
   HSET(0,0)
END_SUB


//?????????? ????? ?????//
SUB(addnew)
   WAITMS(500))
   EXECUTE("CDII") // ???????? ???
   WAIT(5)
   $hwnd3 = wndfind("CDII")
   WAITMS(500))
   HSET(0,0)
   WNDBUMP($hwnd3)
   WAITMS(500))
   LCLICK(21,28)
   WAITMS(500))
   LCLICK(21,48)
   WAIT(1,5)
   DBLCLICK(203,183)
   WAITMS(500))
   KEYPRESS(#F5)
   WAIT(5)

   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#A)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))

   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#C)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   $prx = TOCLIP()

   HSET($hwnd3,1)
   WAITMS(500))
   SENDMESSAGE($hwnd3,0x0010,0,0)
   WAITMS(500))
   HSET($hwnd1,1)
   WAITMS(500))
   WNDBUMP($hwnd1)
   WAITMS(500))
   LCLICK(408,167)  // 16777215
   WAITMS(500))
   HSET(0,0)
   WAITMS(500))
   KEYDOWN(#CTRL)  // ?????????
   WAITMS(500))
   KEYPRESS(#A)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))

   KEYDOWN(#CTRL)  // ???????
   WAITMS(500))
   KEYPRESS(#v)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))

   HSET($hwnd1,1)
   LCLICK(700,30)
   WAIT(2)

   GETSCREEN   // ??????????? ????? (?? ?????? ???????)
   $hash1 = PXLCRC(150,88, 400,363)
   $hash2 = $hash1
   WHILE($hash1 = $hash2)
      WAITMS(500))
      GETSCREEN
      $hash2 = PXLCRC(150,88, 400,363)
   END_CYC

   WAITMS(500))
   
   LCLICK(519,461)
   HSET(0,0)
END_SUB


// ???????? 1000 ??? ??????
SUB(promooo)
   $pp = FROMCLIP ()
   IF($pp < 1000)
      addnew()
   ELSE
      WAITMS(500))
      HSET($hwnd1,1)
      WAITMS(500))
      WNDBUMP($hwnd1)
      WAITMS(500))
      LCLICK(521,459) 
      WAITMS(500))
   END_IF
END_SUB




SUB(pastenter, $_hh)
   WAITMS(500))
   TOCLIP($_hh)
   WAITMS(500))
   KEYPRESS (#ENTER)
   WAITMS (50)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS(500))
   KEYPRESS(#ENTER)
   WAITMS(500))
END_SUB



SUB(putinprice)
   WAIT(2)
   HSET($hwnd1,1)
   LCLICK(367,29)
   WAITMS(500))
   HSET(0,0)
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#A)
   KEYUP(#CTRL)
   WAITMS(500))
   TOCLIP(500)
   WAITMS(500))
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS(500))
   TOCLIP(50)
   WAITMS(500))
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS (50)
   KEYPRESS(#TAB)   
   WAITMS(500))
   KEYPRESS(#SPACE)
   HSET($hwnd1,1)
   WAITMS(500))
   LCLICK(524,461) 
   HSET(0,0)
END_SUB


SUB(totscu)
   WAIT(2)
   HSET($hwnd1,1)
   LCLICK(135,107)
   WAITMS(500))
   HSET(0,0)
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#A)
   KEYUP(#CTRL)
   WAITMS(500))
   TOCLIP(2016)
   WAITMS(500))
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS(500))
   TOCLIP(2017)
   WAITMS(500))
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS(500))
   TOCLIP(5)
   WAITMS(500))
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS(500))
   TOCLIP(1)
   WAITMS(500))
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS (50)
   HSET($hwnd1,1)
   LCLICK(428,400) 
   WAITMS (50)
   HSET(0,0)
   KEYDOWN(#SHIFT) 
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS (50)
   KEYUP(#SHIFT)
   WAITMS(500))
   KEYPRESS(#SPACE)
   WAITMS(500))
   HSET($hwnd1,1)
   WAITMS(500))
   LCLICK(692,106) 
   WAITMS(500))
   HSET(0,0)
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#A)
   KEYUP(#CTRL)
   WAITMS(500))
   pastenter("$1")
   WAITMS (50)
   pastenter("$2")
   WAITMS (50)
   pastenter("$3")
   WAITMS (50)
   pastenter("$4")
   WAITMS (50)
   pastenter("$5")
   WAITMS (50)
   pastenter("$6")
   WAITMS (50)
   pastenter("$7")
   WAITMS (50)
   pastenter("$8")
   WAITMS (50)
   pastenter("$9")
   WAITMS (50)
   pastenter("$10")
   WAITMS (50)
   HSET($hwnd1,1)
   WAITMS(500))
   HSET(0,0)
END_SUB


SUB(hii, $_price)
   HSET($HWND1,1)
   WAIT(2)
   LCLICK(135,30)
   WAITMS(500))
   LCLICK(154,136)
   WAITMS(500))
   HSET(0,0)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYDOWN(#A)
   WAITMS(500))
   KEYUP(#A)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   TOCLIP(1)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#V)
   WAITMS(500))
   KEYUP(#V)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   KEYPRESS(#TAB)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYDOWN(#A)
   WAITMS(500))
   KEYUP(#A)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   TOCLIP(900)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#V)
   WAITMS(500))
   KEYUP(#V)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   HSET($hwnd1,1)
   WAITMS(500))
   LCLICK(472,135) 
   WAITMS(500))
   HSET(0,0)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYDOWN(#A)
   WAITMS(500))
   KEYUP(#A)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   TOCLIP(10)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#V)
   WAITMS(500))
   KEYUP(#V)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   KEYPRESS(#TAB)
   WAITMS(500))
   KEYPRESS(#TAB)
   WAITMS(500))
   KEYPRESS(#TAB)
   WAITMS(500))
   KEYPRESS(#SPACE)
   WAITMS(500))
   HSET($hwnd1,1)
   WAITMS(500))
   LCLICK(234,29) 
   WAITMS(500))
   LCLICK(163,330)
   WAITMS(500))
   KEYPRESS(#TAB)
   WAITMS(500))
   KEYPRESS(#SPACE)
   WAITMS(500))
   KEYPRESS(#TAB)
   WAITMS(500))
   KEYPRESS(#SPACE)
   WAITMS(500))
   LCLICK(275,30)
   WAITMS(500))
   LCLICK(169,107)
   WAITMS(500))
   HSET(0,0)
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYDOWN(#A)
   WAITMS(500))
   KEYUP(#A)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   TOCLIP(1)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#V)
   WAITMS(500))
   KEYUP(#V)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   HSET($hwnd1,1)
   WAITMS(500))
   LCLICK(158,147)
   WAITMS(500))
   HSET(0,0)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYDOWN(#A)
   WAITMS(500))
   KEYUP(#A)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   TOCLIP($_price)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#V)
   WAITMS(500))
   KEYUP(#V)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   HSET($hwnd1,1) 
   WAITMS(10)
   LCLICK(514,458)
   WAITMS(500))
HSET(0,0)
END_SUB



// ??? ??? ?????????? ????????. ?? ?????? ???????????.
SUB(sct)
   WAIT(2)
   EXECUTE("s1.bat")
   WAIT(2)
   $s1bat = TOCLIP()
   WAITMS(500))
   WNDBUMP($hwnd1)
   WAITMS(500))
   HSET($hwnd1,1)
   WAIT(0,05)
   LCLICK(62,161)
   WAIT(0,05)
   HSET(0,0)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYPRESS(#V)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   HSET($hwnd1,1)
   WAITMS(500))
END_SUB


  /// ?????????? ?????? ????? ??????? ?? $1
SUB(s1to5)
WAIT(2)
   EXECUTE("s2.bat")
   WAITMS(500))
   LCLICK(21,95)  // 16053492
   WAITMS(500))
   KEYPRESS(#ENTER)
   WAITMS(500))
   LCLICK(21,95)  // 16053492
   WAITMS(500))
   HSET(0,0)
   WAITMS(500))
   KEYDOWN(#CTRL)  // ???????
   WAITMS(500))
   KEYPRESS(#v)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   HSET($hwnd1,1)
   WAITMS(500))
   LCLICK(502,401)  // 16777215
   WAITMS(500))
   LCLICK(521,459)
   WAITMS(1)
   HSET(0,0)
END_SUB


 // ???????? ????????? ?????
SUB(waitfin)
   HSET($hwnd1,1)
   $check = 0         // ?? ????????
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN(429,184, 838,322, "next.bmp")  // ????? ? ??????
         $check = 1
         WAITMS(500))
         LCLICK(504,261)  // 13487565
      Else
         WAITMS(100)
      END_IF
   END_CYC
END_SUB

/// ??? ???? ?? ?????? ???????????
  // ?????????? ? ?????????
SUB(addtobl)
WAITMS(500))
   HSET($hwnd1,1)
   WAITMS(500))
   WNDBUMP($hwnd1)
   WAITMS(500))
   HSET(0,0)
   WAITMS(500))
   KEYDOWN(#CTRL)
   WAITMS(500))
   KEYDOWN(#A)
   WAITMS(500))
   KEYUP(#A)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
   KEYDOWN(#WIN)
   WAITMS(500))
   KEYPRESS(#UP)
   KEYUP(#WIN)
   WAIT(10)
   RCLICK(388,160)
   WAITMS(500))
   KEYPRESS(#DOWN)
WAITMS(500))
   KEYPRESS(#RIGHT)
WAITMS(500))
   LCLICK(540,476)
   WAITMS(500))
   KEYDOWN(#WIN)
   WAITMS(500))
   KEYPRESS(#DOWN)
   KEYUP(#WIN)
   WAITMS(500))
END_SUB

SUB(cNBL)
EXECUTE("cNBL.bat")
WAITMS(500))
   EXECUTE("brlist.txt") // ???????? ????? ???????
   WAIT(5)
   $hwndx = wndfind("brlist.txt — ???????") //  ????????
   WAITMS(500))
   WNDBUMP($hwndx) // ?????? ???? ???? (???????? ????)
   WAITMS(500))
   HSET($hwnd7,1)
   WAITMS(500))
   LCLICK(360,140)
   WAITMS(500))
   HSET(0,0) // ???????


   KEYDOWN(#WIN) // ?? ???? ?????
   WAITMS(500))
   KEYPRESS(#UP)
   WAITMS(500))
   KEYUP(#WIN)
   WAITMS(500))

   KEYDOWN(#CTRL)
WAITMS(500))
KEYPRESS(#A)
WAITMS(500))
KEYUP(#CTRL)
WAITMS(500))
KEYDOWN(#CTRL)
WAITMS(500))
KEYPRESS(#V)
WAITMS(500))
KEYUP(#CTRL)
WAITMS(500))

   KEYDOWN(#CTRL)  // ??????????? ????????
   WAITMS(500))
   KEYPRESS(#S) 
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
HSET($hwndx,1)
   WAITMS(500))
   SENDMESSAGE($hwndx,0x0010,0,0)
   HSET(0,0)
   WAITMS(500))
   EXECUTE("dBL.bat")
   WAITMS(500))
END_SUB

// ?????????? ?????? ????? (1??????)
SUB(skryp, $_txt_)
TFREADARR("brlist.txt", $arr) // ?????? ???? ? ??????
FOR($a=0,$a<ARRSIZE($arr)) // ????????????
   $arr[$a] = STRCONCAT("$$1-100", $arr[$a])
END_CYC
TFWRITEARR($_txt_, $arr) // ?????????? ?????? ? ????? ????
END_SUB




SUB(bkS)
WNDBUMP($hwnd1)
WAITMS(500))
HSET(0,0)
WAITMS(500))
KEYDOWN(#WIN)
   WAITMS(500))
   KEYPRESS(#UP)
   KEYUP(#WIN)
   WAITMS(500))
HSET($hwnd1,1)    // 16777215
RCLICK(438,259)  // 16777215
WAITMS(500))
KEYPRESS(#DOWN) // 16382457
WAITMS(500))
KEYPRESS(#DOWN)
WAITMS(500))
KEYPRESS(#DOWN)
WAITMS(500))
KEYPRESS(#RIGHT)
WAITMS(500))
KEYPRESS(#DOWN)
WAITMS(500))
KEYPRESS(#ENTER)  // 16777215
   WAITMS(500))
LCLICK(25,682)  // 16053492
  WAITMS(500))
HSET(0,0)
WAITMS(500))
   KEYDOWN(#WIN)
   WAITMS(500))
KEYPRESS(#DOWN)
   KEYUP(#WIN)
WAITMS(500))
END_SUB


SUB(o500)
 EXECUTE("s499.bat")
WAITMS(500))
   EXECUTE("500.txt") // ???????? ????? ???
   WAIT(5)
   $hwnd7 = wndfind("500.txt — ???????") //  ????????
   WAITMS(500))
   WNDBUMP($hwnd7) // ?????? ???? ???? (???????? ????)
   WAITMS(500))
   HSET($hwnd7,1)
   WAITMS(500))
   LCLICK(360,140)
   WAITMS(500))
   HSET(0,0) // ???????


   KEYDOWN(#WIN) // ?? ???? ?????
   WAITMS(500))
   KEYPRESS(#UP)
   WAITMS(500))
   KEYUP(#WIN)
   WAITMS(500))

   KEYDOWN(#CTRL)  // ???????
   WAITMS(500))
   KEYPRESS(#V)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))

   KEYDOWN(#CTRL)  // ??????? ? ????? ?????
   WAITMS(500))
   KEYPRESS(#G)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))

KEYDOWN(#CTRL)
WAITMS(500))
KEYPRESS(#A)
WAITMS(500))
KEYUP(#CTRL)
WAITMS(500))
TOCLIP(9999)
   WAITMS(500))
KEYDOWN(#CTRL)
WAITMS(500))
KEYPRESS(#V)
WAITMS(500))
KEYUP(#CTRL)
WAITMS(500))
   KEYPRESS(#ENTER)
WAITMS(500))
KEYPRESS(#ESC)
WAITMS(500))
KEYDOWN(#CTRL)
WAITMS(500))

   KEYDOWN(#CTRL)  // ??????????? ????????
   WAITMS(500))
   KEYPRESS(#C)
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))

   KEYPRESS(#ESC)

   KEYDOWN(#CTRL)  // ??????????? ????????
   WAITMS(500))
   KEYPRESS(#S) 
   WAITMS(500))
   KEYUP(#CTRL)
   WAITMS(500))
HSET($hwnd7,1)
   WAITMS(500))
   SENDMESSAGE($hwnd7,0x0010,0,0)
   WAITMS(500))
HSET(0,0)
END_SUB
 
 
SUB(test410)
HSET(0,0)
   WAITMS(500))
   $ftst = FROMCLIP()
   IF($ftst < 1)
      GOTO(WORK)
   ELSE
      WAITMS(500))
      LOGWRITE("DONE")
   END_IF
END_SUB


HSET($hwnd1,1)
WAITMS(500))
WNDBUMP($hwnd1)
WAITMS(500))

start()
SUB(WORK)
WAITMS(500))
start1() 
WAITMS(500))
checkp() 
WAITMS(500))
promooo()
WAITMS(500))
putinprice()
WAITMS(500))
totscu()   
WAITMS(500))
hii("100")
WAITMS(500))
sct() 
WAITMS(500))
s1to5()   
WAITMS(500))
waitfin() 
WAITMS(500))
addtobl()
WAITMS(500))
EXECUTE("dFriW.bat")
WAITMS(500))
addtobl()
WAITMS(500))
cNBL()   
WAITMS(500))
skryp("100.txt")
WAITMS(500))
EXECUTE("rRi.bat")
WAIT(2)
bkS()     
WAITMS(500))
////////////////////////////////////////////
start2()   
WAITMS(500))
checkp() 
WAITMS(500))
promooo()
WAITMS(500))
putinprice()   
WAITMS(500))
totscu()     
WAITMS(500))
hii("500")
WAITMS(500))
s1to5()   
WAITMS(500))
waitfin() 
WAITMS(500))
addtobl()
EXECUTE("dFriR.bat")
WAITMS(500))
addtobl()
WAITMS(500))
cNBL()
WAITMS(500))
skryp("499.txt")
WAITMS(500))
o500()
WAITMS(500))
EXECUTE("rWi.bat")
////////////////////////////////////////////
test410()
WAITMS(500))
END_SUB

WORK()
HSET(0,0)
   WAITMS(500))
   $ftst = FROMCLIP()
   IF($ftst < 1)
      WORK()
   ELSE
      WAITMS(500))
      LOGWRITE("DONE")
   END_IF
END_SUB

HALT
[/quote][/code]
Title: Re: Товарищи - суть в том... (срочное)
Post by: Oraven on May 13, 2017, 09:44:57 AM
1
Code: (clickermann) [Select]
$time = $_time_t + 15
GETSCREEN
$hash1 = PXLCRC(50,91, 135,363)
$hash2 = $hash1
WHILE(($hash1 = $hash2)&($time > $_time_t))
   WAITMS(50)
   GETSCREEN
   $hash1 = PXLCRC(50,91, 135,363)
END_CYC
IF($hash1 = $hash2)
  // Это условие определяет что зона не изменилась а время истекло
END_IF
Title: Re: Товарищи - суть в том... (срочное)
Post by: Oraven on May 13, 2017, 09:55:31 AM
Почему у тебя двойные скобки везде?
Code: (clickermann) [Select]
WAITMS(500))
Строка 974 опять лишнее окончание END_SUB
А еще чтоб кодировка не ломалась при копировании кода, надо выбирать раскладку Ру.

Я вот не пойму зачем ты привязываешься к окну а потом его закрываешь?
Code: (clickermann) [Select]
   HSET($hwnd3,1)
   WAITMS(500))
   SENDMESSAGE($hwnd3,0x0010,0,0)

SENDMESSAGE к оконному режиму никак не относится, команда просто требует HWND чтобы знать какому окну слать команду
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 13, 2017, 08:37:35 PM
1) Спасибо.
2)Двойные скобки - Случайно скопировано, в скрипте везде по госту.
3) Про раскладку +, дельно.
4) зачем ты привязываешься к окну (Sendmessage) - Альт+ф4 не реагирует вообще, сенд- реагирует только с привязкой. Не знаю почему так.

И еще вопрос,
скажите пожалуйста, а почему *.bat один раз срабатывает а при повторение скрипта (во 2й раз/ по кругу) уже нет??
Получается так, что в буфер не обновляется и работа идет со старыми данными.

Как исправить ситуацию, подскажите прошу.

cNBL.bat
@echo off
clip < "E:\project\brlist.ini"

Title: Re: Товарищи - суть в том... (срочное)
Post by: Oraven on May 13, 2017, 10:06:20 PM
Для копирования файла в буфер используй утилиту NirCmd v2.81
http://www.nirsoft.net/utils/nircmd.html (http://www.nirsoft.net/utils/nircmd.html)

В самом конце страницы ссылки на скачивание.
Из архива тебе нужен только nircmd.exe помести программу в папку скрипта

Код кликера
Code: (clickermann) [Select]
EXECUTE("nircmd.exe", "clipboard readfile ИмяФайла.txt")
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 13, 2017, 11:36:23 PM
Опробовал, подвох не в этом. Но вариант мне нравится)
Дело в массиве. При повторение он не использует данные из обновленного файла, а берет те, что были вложены в массив прежде. Добавляет к ним вставку и таким образом я получаю следующее:

на 1м кругу: $$1-100A
на 2м кругу: $$1-100$$1-100A
на 3м кругу: $$1-100$$1-100$$1-100A

Как это исправить??

Code: (clickermann) [Select]
SUB(skryp, $_txt_)
LOGWRITE("ADD_$$1-100")
TFREADARR("brandlist.txt", $arr)
FOR($a=0,$a<ARRSIZE($arr))
   $arr[$a] = STRCONCAT("$$1-100", $arr[$a])
END_CYC
TFWRITEARR($_txt_, $arr) 
END_SUB
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 14, 2017, 06:00:11 PM
Массив же нужно удалять
Code: (clickermann) [Select]
UNDEFINE($arr)
ты просто берешь и сам добавляешь данные к старым данным.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Vint on May 14, 2017, 06:11:44 PM
2)Двойные скобки - Случайно скопировано, в скрипте везде по госту.
Интересный эффект  ;D
Хотелось бы узнать механизм такого "случайного" копирования. Как этого можно достичь.

У меня только одно предположение: никакого 'там всё нормально' не существует и )) на паузах в 500мс ты получил при неправильной замене неправильных запятых. И с которыми ты 2 раза уверял, что всё ok.

Не понятно, почему в этом не признаться никто не уволит.
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 14, 2017, 08:50:15 PM
Да, видимо не "случайно", пардоньте) Солгать и вовсе в мыслях не было.
На счет Undefine - проставил, проблема не решилась. Однозначно собака зарыта в другом месте. Я уже 3 дня не могу справится.
Помогите, прошу, уже апатия начинается, но я уверен эту задачу можно разрешить(

Code: (clickermann) [Select]
LOGWRITE("00.00.00")
WAITMS(50)
EXECUTE("h.bat - Ярлык")
WAIT(5) // тут должно было быть ожидание окна через вайл, но скрипт идет дальше не дожидаясь его появления
$hwnd1 = wndfind("h")
WAITMS(500)

// CTRL+: G / S / A / C / V /



SUB(G)
KEYDOWN(#CTRL)
WAITMS(50)
KEYDOWN(#G)
WAITMS(50)
KEYUP(#G)
WAITMS(50)
KEYUP(#CTRL)
END_SUB

SUB(S)
KEYDOWN(#CTRL)
WAITMS(50)
KEYDOWN(#S)
WAITMS(50)
KEYUP(#S)
WAITMS(50)
KEYUP(#CTRL)
END_SUB

SUB(A)
KEYDOWN(#CTRL)
WAITMS(50)
KEYDOWN(#A)
WAITMS(50)
KEYUP(#A)
WAITMS(50)
KEYUP(#CTRL)
END_SUB

SUB(C)
KEYDOWN(#CTRL)
WAITMS(50)
KEYDOWN(#C)
WAITMS(50)
KEYUP(#C)
WAITMS(50)
KEYUP(#CTRL)
END_SUB

SUB(V)
KEYDOWN(#CTRL)
WAITMS(50)
KEYDOWN(#V)
WAITMS(50)
KEYUP(#v)
WAITMS(50)
KEYUP(#CTRL)
END_SUB

SUB(pastenter, $_hh)
   TOCLIP($_hh)
   WAITMS(50)
   V()
   WAITMS(50)
   KEYPRESS(#ENTER)
END_SUB


SUB(start)
HSET($hwnd1,1)
WAITMS(50)
$check = 0         // прохождение апи (картинка)
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(0,0, $_xmax,$_ymax, "e1.bmp")  // апи
   $check = 1
      WAITMS(50)
      LCLICK(500,283)
   Else
      WAITMS(100)
   END_IF
END_CYC
 
    $check = 0         // прохождение апи (картинка)
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(0,0, $_xmax,$_ymax, "f1.bmp")  // апи
   $check = 1
      WAITMS(50)
      KEYPRESS(#SPACE)
   Else
      WAITMS(100)
   END_IF
END_CYC
   
   WAITMS(50)
   LCLICK(500,283)
   WAIT(1)
   LOGWRITE("START")
END_SUB
 
SUB(start1)
LOGWRITE("1")
$check = 0         // прохождение апи (картинка)
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(399,175, 598,315, "g1.bmp")
//   IF_PICTURE_IN(0,0, $_xmax,$_ymax, "g1.bmp")  // апи
   $check = 1
      WAITMS(50)
      KEYPRESS(#TAB)
   Else
      WAITMS(100)
   END_IF
END_CYC
LOGWRITE("2")
WAITMS(50)
KEYPRESS(#SPACE)
WAITMS(50)
LCLICK(500,283)
WAIT(1)
LCLICK(840,30)
$check = 0     
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(6,406, 1007,444, "a1.bmp")
      $check = 1
      WAITMS(50)
      LCLICK(516,460)
   Else
      WAITMS(100)
   END_IF
END_CYC


WAIT(1)
LCLICK(520,32)
WAIT(2)

$time = $_time_t + 15
GETSCREEN
$hash1 = PXLCRC(50,91, 135,363)
$hash2 = $hash1
WHILE(($hash1 = $hash2)&($time > $_time_t))
   WAITMS(50)
   GETSCREEN
   $hash1 = PXLCRC(50,91, 135,363)
END_CYC
IF($hash1 = $hash2)
$check = 0
  WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(0,0, $_xmax,$_ymax, "a1.bmp")
      $check = 1
      WAITMS(50)
      $check = 0         // прохождение апи (картинка)
WHILE($check = 0)
    GETSCREEN
    IF_PICTURE_IN(0,0, $_xmax,$_ymax, "n1.bmp")  // апи
      $check = 1
      WAITMS(50)
      LCLICK(126,208)
   Else
      WAITMS(50)
   END_IF
END_CYC
   Else
      WAITMS(100)
   END_IF
END_CYC
END_IF
 END_SUB
 

SUB(checkp)
   EXECUTE("strok.txt")
   WAIT(2)
   $hwnd2 = wndfind("strok.txt — Блокнот")
   WAITMS(50)
   
   WNDBUMP($hwnd2)
   
   WAITMS(50)
   HSET($hwnd2,1)
   WAITMS(50)
   LCLICK(360,140)
   WAITMS(50)
   HSET(0,0)
 
 
   KEYDOWN(#WIN)
   WAITMS(50)
   KEYPRESS(#UP)
   WAITMS(50)
   KEYUP(#WIN)
   WAITMS(50)
   
   A()
   WAITMS(50)
   V()
   WAITMS(50)
   G()
   WAITMS(50)
   TOCLIP("9999")
WAITMS(50))
V()
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
KEYPRESS(#ENTER)
WAITMS(50)
   C()
   WAITMS(50)
LOGWRITE(FROMCLIP())
WAITMS(50)
   KEYPRESS(#ESC)
   WAITMS(50)
   S()
   WAITMS(50)
   HSET($hwnd2,1)
   WAITMS(50)
   SENDMESSAGE($hwnd2,0x0010,0,0)
WAITMS(50)
   HSET(0,0)
   WAITMS(50)
END_SUB
 
 

SUB(addnew)
   WAITMS(50)
   EXECUTE("CDII")
   WAIT(5)
   $hwnd3 = wndfind("CDII")
   WAITMS(50)
   HSET(0,0)
   WNDBUMP($hwnd3)
   WAITMS(50)
   LCLICK(21,28)
   WAITMS(50)
   LCLICK(21,48)
   WAITMS(50)
   DBLCLICK(203,183)
   
   WAIT(2)
   KEYPRESS(#F5)
   WAITMS(50)
   
$check = 0   
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(1,706, 169,727, "fp1.bmp")
      $check = 1
      WAITMS(50)
      A()
   Else
      WAITMS(100)
   END_IF
END_CYC   

   
   WAITMS(50)
   C()
   WAITMS(50)
   
   HSET($hwnd3,1)
   WAITMS(50)
   SENDMESSAGE($hwnd3,0x0010,0,0)
   WAITMS(50)
   HSET($hwnd1,1)
   WAITMS(50)
   WNDBUMP($hwnd1)
   WAITMS(50)
   LCLICK(408,167) 
   WAITMS(50)
   HSET(0,0)
   WAITMS(50)
   A()
   WAITMS(50)
LOGWRITE("ANP")
WAITMS(50)
   V()
WAITMS(50)
   HSET($hwnd1,1)
   WAITMS(50)
   LCLICK(700,30)
   WAIT(2)

   GETSCREEN   
   $hash1 = PXLCRC(150,88, 400,363)
   $hash2 = $hash1
   WHILE($hash1 = $hash2)
      WAITMS(50)
      GETSCREEN
      $hash2 = PXLCRC(150,88, 400,363)
   END_CYC
   
    WAITMS(50)
        LCLICK(519,461)
    WAITMS(50)
    HSET(0,0)
    WAITMS(50)
END_SUB
 
 
SUB(promooo)
   $LOGWRITE("CHECK")
WAITMS(50)
$pp = FROMCLIP ()
   IF($pp < 300)
      addnew()
   ELSE
      WAITMS(50)
      HSET($hwnd1,1)
      WAITMS(50)
      WNDBUMP($hwnd1)
      WAITMS(50)
      LCLICK(521,459) 
      WAITMS(50)
   END_IF
END_SUB

 
 
 
SUB(putinprice)
   LOGWRITE("CONFIG_PUT")
WAIT(2)
   HSET($hwnd1,1)
   LCLICK(367,29)
   WAITMS(50)
   HSET(0,0)
   WAITMS(50)
A()
WAITMS(50)
   TOCLIP(500)
   WAITMS(50)
   V()
WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS(50)
   TOCLIP(50)
   WAITMS(50)
   V()
WAITMS (50)
   KEYPRESS(#TAB) 
   WAITMS(50)
   KEYPRESS(#SPACE)
   WAITMS(50)
HSET($hwnd1,1)
   WAITMS(50)
   LCLICK(524,461)
   WAITMS(50)
HSET(0,0)
END_SUB
 
 
SUB(totscu)
   LOGWRITE("CONFIG_FILT")
   WAIT(2)
   HSET($hwnd1,1)
   WAITMS(50)
LCLICK(135,107)
   WAITMS(50)
   HSET(0,0)
   WAITMS(50)
A()
   WAITMS(50)
   TOCLIP(2016)
   WAITMS(50)
   V()
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS(50)
   TOCLIP(2017)
   WAITMS(50)
   V()
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS(50)
   TOCLIP(5)
   WAITMS(50)
   V()
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS(50)
   TOCLIP(1)
   WAITMS(50)
   V()
   WAITMS (50)
   HSET($hwnd1,1)
   LCLICK(428,400) 
   WAITMS (50)
   HSET(0,0)
   KEYDOWN(#SHIFT)   
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS (50)
   KEYPRESS(#TAB)
   WAITMS (50)
   KEYUP(#SHIFT)
   WAITMS(50)
   KEYPRESS(#SPACE)
   WAITMS(50)
   HSET($hwnd1,1)
   WAITMS(50)
   LCLICK(692,106)
   WAITMS(50)
   HSET(0,0)
   A()
   WAITMS(50)
   pastenter("$1")
   WAITMS (50)
   pastenter("$2")
   WAITMS (50)
   pastenter("$3")
   WAITMS (50)
   pastenter("$4")
   WAITMS (50)
   pastenter("$5")
   WAITMS (50)
   pastenter("$6")
   WAITMS (50)
   pastenter("$7")
   WAITMS (50)
   pastenter("$8")
   WAITMS (50)
   pastenter("$9")
   WAITMS (50)
   pastenter("$10")
   WAITMS (50)
   HSET($hwnd1,1)
   WAITMS(50)
   HSET(0,0)
END_SUB
 
 
SUB(hii, $_price)
    LOGWRITE("CONFIG_HII")
   HSET($HWND1,1)
   WAIT(2)
   LCLICK(135,30)
   WAITMS(50)
   LCLICK(154,136)
   WAITMS(50)
   HSET(0,0)
   WAITMS(50)
   A()
   WAITMS(50)
   TOCLIP(1)
   WAITMS(50)
   V()
   WAITMS(50)
   KEYPRESS(#TAB)
   WAITMS(50)
   A()
   WAITMS(50)
   TOCLIP(900)
   WAITMS(50)
   V()
   WAITMS(50)
   HSET($hwnd1,1)
   WAITMS(50)
   LCLICK(472,135)
   WAITMS(50)
   HSET(0,0)
   WAITMS(50)
   A()
   WAITMS(50)
   TOCLIP(10)
   WAITMS(50)
   V()
   WAITMS(50)
   KEYPRESS(#TAB)
   WAITMS(50)
   KEYPRESS(#TAB)
   WAITMS(50)
   KEYPRESS(#TAB)
   WAITMS(50)
   KEYPRESS(#SPACE)
   WAITMS(50)
   HSET($hwnd1,1)
   WAITMS(50)
   LCLICK(234,29)
   WAITMS(50)
   LCLICK(163,330) 
   WAITMS(50)
   KEYPRESS(#TAB)
   WAITMS(50)
   KEYPRESS(#SPACE)
   WAITMS(50)
   KEYPRESS(#TAB)
   WAITMS(50)
   KEYPRESS(#SPACE)
   WAITMS(50)
   LCLICK(275,30) 
   WAITMS(50)
   LCLICK(169,107)
   WAITMS(50)
   HSET(0,0)
   WAITMS(50)
A()
   WAITMS(50)
   TOCLIP(1)
   WAITMS(50)
   V()
   WAITMS(50)
   HSET($hwnd1,1)
   WAITMS(50)
   LCLICK(158,147)
   WAITMS(50)
   HSET(0,0)
   WAITMS(50)
   A()
   WAITMS(50)
   TOCLIP($_price)
   WAITMS(50)
   V()
   WAITMS(50)
   HSET($hwnd1,1)
   WAITMS(10)
   LCLICK(514,458)
   WAITMS(50)
HSET(0,0)
END_SUB
 
 
SUB(sct)
   WAITMS(50)
LOGWRITE("ADD_SCT")
   WAIT(50)
   EXECUTE("s1.bat")
   WAIT(2)
   $s1bat = FROMCLIP()
   WNDBUMP($hwnd1)
   WAITMS(500)
   HSET($hwnd1,1)
   WAITMS(50)
   LCLICK(62,161) 
   WAITMS(50)
   HSET(0,0)
   pastenter($s1bat) // ctrl+V + Enter
   WAITMS(50)
   HSET($hwnd1,1)
   WAITMS(50)
   KEYPRESS(#ENTER)
END_SUB
 
 
SUB(s1to5)
LOGWRITE("ADD_NP+")
WAIT(2)
HSET($hwnd1,1)
WAITMS(50)
   EXECUTE("s2.bat")
   WAIT(2)
   HSET(0,0)
   WNDBUMP($hwnd1)
   WAITMS(50)
   KEYPRESS (#ENTER)
WAITMS(50)
   V()
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAIT(1)
   HSET($hwnd1,1)
   WAITMS(50)
   LCLICK(502,401) 
   WAITMS(50)
   LCLICK(521,459)
   WAITMS(1)
   HSET(0,0)
END_SUB
 
 

SUB(waitfin)
   HSET($hwnd1,1)
   $check = 0       
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN(429,184, 838,322, "next.bmp") 
         $check = 1
         WAITMS(50)
         LCLICK(504,261) 
      Else
         WAITMS(100)
      END_IF
   END_CYC
END_SUB
 
 
 
SUB(addtobl)
WAIT(3)
   HSET($hwnd1,1)
   WAIT(1)
   WNDBUMP($hwnd1)
   WAITMS(50)
   HSET(0,0)
   WAITMS(50)
   A()
   WAITMS(50)
   KEYDOWN(#WIN)
   WAITMS(50)
   KEYPRESS(#UP)
   WAITMS(50)
   KEYUP(#WIN)
   WAIT(1)
   RCLICK(388,160)
   WAITMS(500)
   KEYPRESS(#DOWN)
WAITMS(500)
   KEYPRESS(#RIGHT)
WAITMS(500)
   LCLICK(540,476)
   WAITMS(1)
   KEYDOWN(#WIN)
   WAITMS(50)
   KEYPRESS(#DOWN)
   WAITMS(50)
   KEYUP(#WIN)
   WAIT(1)
END_SUB
 
SUB(cNBL)
EXECUTE("brlist.txt")
   WAIT(5)
   $hwndx = wndfind("brlist.txt — Блокнот")
   WAITMS(500)
   WNDBUMP($hwndx)
   WAITMS(500)
   HSET($hwndx,1)
   WAITMS(500)
   LCLICK(360,140)
   WAITMS(500)
   HSET(0,0)


   KEYDOWN(#WIN)
   WAITMS(50)
   KEYPRESS(#UP)
   WAITMS(50)
   KEYUP(#WIN)
   WAITMS(500)

   A()
WAITMS(500)
V()
WAITMS(500)

   S()
   WAITMS(500)
HSET($hwndx,1)
   WAITMS(50)
   SENDMESSAGE($hwndx,0x0010,0,0)
   WAITMS(50)
HSET(0,0)
   WAITMS(50)
   EXECUTE("dBL.bat")
   WAIT(2)
END_SUB
 

SUB(skryp, $_txt_)
TFREADARR("brlist.txt", $arr)
WAITMS(50)
FOR($a=0,$a<ARRSIZE($arr))
WAITMS(50)
   $arr[$a] = STRCONCAT("$$1-100", $arr[$a])
   WAITMS(50)
END_CYC
WAITMS(50)
TFWRITEARR($_txt_, $arr)
WAITMS(50)
UNDEFINE($arr)
END_SUB
 
 
SUB(bkS)
LOGWRITE("btosc")
WNDBUMP($hwnd1)
WAITMS(500)
HSET(0,0)
  WAITMS(50)
   KEYDOWN(#WIN)
   WAITMS(50)
   KEYPRESS(#UP)
   WAITMS(50)
   KEYUP(#WIN)
WAITMS(500)
RCLICK(199,161)
WAITMS(50)
KEYPRESS(#DOWN)
WAITMS(50)
KEYPRESS(#DOWN)
WAITMS(50)
KEYPRESS(#DOWN)
WAITMS(50)
KEYPRESS(#RIGHT)
WAITMS(50)
KEYPRESS(#DOWN)
WAITMS(50)
KEYPRESS(#ENTER) 
   WAITMS(500)
   KEYDOWN(#WIN)
   WAITMS(50)
   KEYPRESS(#DOWN)
   WAITMS(50)
   KEYUP(#WIN)
   WAITMS(50)
   HSET($hwnd1,1)
   WAITMS(50)
   LCLICK(26,464)
WAITMS(50)
END_SUB
 
 
SUB(o500)
 LOGWRITE("FORM_500")
 EXECUTE("s499.bat")
WAITMS(50)
   EXECUTE("500.txt")
   WAIT(3)
   $hwnd7 = wndfind("500.txt — Блокнот")
   WAITMS(50)
   
   WNDBUMP($hwnd7)
   
   WAITMS(50)
   HSET($hwnd7,1)
   WAITMS(50)
   LCLICK(360,140)
   WAITMS(50)
   HSET(0,0) //
 
   KEYDOWN(#WIN)
   WAITMS(50)
   KEYPRESS(#UP)
   WAITMS(50)
   KEYUP(#WIN)
   WAITMS(50)

   V()
   WAITMS(50)
   G()
WAITMS(50)
A()
WAITMS(50)

TOCLIP(9999)
   WAITMS(50)
V()
WAITMS(50)
   KEYPRESS(#ENTER)
WAITMS(50)
KEYPRESS(#ESC)
WAITMS(50)
   
   C()
   WAITMS(50)

   KEYPRESS(#ESC)
WAITMS(50)
   S()
   WAITMS(50)
HSET($hwnd7,1)
   WAITMS(50)
   SENDMESSAGE($hwnd7,0x0010,0,0)
   WAITMS(50)
HSET(0,0)
WAITMS(50)
LOGWRITE(FROMCLIP())
END_SUB
 
SUB(WORK)
WAITMS(50)
start1() 
WAITMS(50)
checkp() 
WAITMS(50)
promooo()
WAITMS(50)
putinprice()
WAITMS(50)
totscu()   
WAITMS(50)
hii("100")
WAITMS(50)
sct() 
WAITMS(50)
s1to5()   
WAITMS(50)
waitfin() 
WAITMS(50)
addtobl()
WAITMS(50)
EXECUTE("dFriW.bat")
WAITMS(50)
addtobl()
WAITMS(50)
EXECUTE("nircmd.exe", "clipboard readfile brandlist.txt")
WAITMS(50)
cNBL()   
WAITMS(50)
skryp("100.txt")
WAITMS(50)
EXECUTE("rRi.bat")
WAIT(2)
bkS()     
WAITMS(50)
////////////////////////////////////////////
start1()   
WAITMS(50)
checkp() 
WAITMS(50)
promooo()
WAITMS(50)
putinprice()   
WAITMS(50)
totscu()     
WAITMS(50)
hii("300")
WAITMS(50)
s1to5()   // тут
WAITMS(50)
waitfin() 
WAITMS(50)
addtobl()
EXECUTE("dFriR.bat")
WAITMS(50)
addtobl()
WAITMS(50)
EXECUTE("nircmd.exe", "clipboard readfile brandlist.txt")  // ПРОБЛЕМЫ С ЭТОЙ ТОЧКИ. в cNBL не передается значение скопированного текста из файла. В буфере остается значение взятое из  s1to5
WAITMS(50)
cNBL() // соответственно сюда вставляется уже инфомусор, и все на перекосяк
WAITMS(50)
skryp("499.txt")
WAITMS(50)
o500()
WAITMS(50)
EXECUTE("rWi.bat")
WAITMS(50)
bkS()
WAITMS(50)
END_SUB
/////////////////////////////////////////

HSET($hwnd1,1)
WAITMS(50)
WNDBUMP($hwnd1)
WAITMS(50)
 
start()

WORK()


WAITMS(50)
HSET(0,0)
   WAITMS(50)
   $ftst = FROMCLIP ()
   IF($ftst < 1)
   WAITMS(50)
      WORK()
   ELSE
      WAITMS(50)
      LOGWRITE("DONE")
   END_IF


HALT
Title: Re: Товарищи - суть в том... (срочное)
Post by: Атеист on May 14, 2017, 09:17:23 PM
Однозначно собака зарыта в другом месте.

Синтаксические ошибки где то есть в коде. Например: "SUB(" встречается 23 раза в этом скрипте, а "END_SUB" всего 22 раза. Где то не закрыта подпрограмма. Это видно сразу по тому, как скрипт в редакторе перекашивается, если на волшебную палочку нажать (вверху на панели) "Расставить отступы" .
Title: Re: Товарищи - суть в том... (срочное)
Post by: Loginow on May 14, 2017, 09:57:53 PM
Однозначно собака зарыта в другом месте.

Синтаксические ошибки где то есть в коде. Например: "SUB(" встречается 23 раза в этом скрипте, а "END_SUB" всего 22 раза. Где то не закрыта подпрограмма. Это видно сразу по тому, как скрипт в редакторе перекашивается, если на волшебную палочку нажать (вверху на панели) "Расставить отступы" .

Проверил, когда правил/копировал сюда случайно дернул в старт1 вроде, исправил. Это не то.
У меня бы скрипт со старта выдавал ошибку, а не доходил до конца.
В очередной раз перепроверил все, по частям/по отдельности - работает на 5+. Все копирования и вставки сами по себе (отдельно от общего скрипта) проверены и работают правильно. Почему у меня в целом скрипт выдает ошибку я не понимаю(((
Никаких сверх сложных действий или функций нет. Я в замешательстве((
Дорогие профи, помогите пожалуйста((