Основной раздел > Общие вопросы
Типовые алгоритмы, вводные статьи (Новички, читайте!)
Johnny:
В данной теме предлагается размещать примеры простейших алгоритмов для конкретных задач. Тема призвана облегчить освоение программы новичками
Содержание:
- Поиск пикселя определенного цвета и щелчок по нему мышью
- Запуск блокнота и запись в нем произвольного текста
- WinAPI, работа с окнами через PostMessage
- Привязка к окну (+ красивое рисование в Paint)
- Написание подпрограммы для вычисления даты
- Выполнение действия в разные промежутки времени
- Пример использования функций работы с txt файлами
- Сортировка массива
- Распознавание чисел Распознавание текста
- Развернуть окно на весь экран
- Простое создание снимков c цветокоррекцией COLORMODE
- Ближайшая к заданным координатам/центру картинка/пиксель
- /New/ ШИКАРНЫЙ симулятор человеческого движения мыши 'WindMouse'
Johnny:
Поиск пикселя определенного цвета и щелчок по нему мышью
Использованные инструкции (ознакомьтесь с ними в справке по языку):
* getscreen
* if_pixel_in .. end_if
* print
* lclick
* else
* halt
Приведенный ниже код ищет на экране пиксель красного цвета, начиная с левого верхнего угла. Как только пиксель будет найден, поиск окончится. В данном примере обрабатываются как успешный поиск, так и неуспешный.
--- Code: (clickermann) ---// помещение текущего снимка экрана в буфер программы
// это необходимо для работы всех графических функций и процедур
getscreen
// --- конструкция поиска пикселя в буфере экрана ---
// координаты 0, 0, $_xmax, $_ymax описывают прямоугольную область, в которой будет осуществлен поиск. при этом $_xmax и $_ymax содержат максимально возможные значения для текущего разрешения экрана. 255 это код цвета, он соответствует красному. код цвета можно узнать в редакторе, наведя курсор на нужного цвета пиксель
// сама инструкция поиска if_pixel_in по сути представляет собой условие, то есть выполнение кода, который описан внутри условия, зависит от результата проверки самого условия (если пиксель найден) с учетом всех вышеописанных параметров.
if_pixel_in(0, 0, $_xmax, $_ymax, 255)
// если пиксель заданного цвета найден, его координаты будут помещены в системные переменные $_return1 и $_return2. можно их распечатать в лог ...
print("Цвет обнаружен в координатах: ", $_return1, ,":", $_return2)
// ... а можно сразу кликнуть по нему левой кнопкой мыши
lclick($_return1, $_return2)
else // блок else (вместе с кодом) не обязателен, но он обеспечивает обработку ситуации, когда условие вернуло отрицательный результат
// если ничего не найдено, выводим сообщение
print("ничего не найдено")
end_if // конец условия
halt // остановка скрипта, обеспечивает однократное выполнение
--- End code ---
Сергей:
Запуск блокнота и запись в нем произвольного текста.
Данный скрипт запускает блокнот и 5 раз записывает в него строку "The quick brown fox jumps over the lazy dog."
--- Code: (javascript) ---#name "Запись в блокнот"//Имя нашего скрипта
EXECUTE("notepad.exe")//Запускаем программу notepad.exe. Команда EXECUTE равносильна окну "Выполнить" в Виндовс (Win+R).
WNDSTATE(WNDFIND("Блокнот"), 1)//Разворачиваем окно в заголовке которого есть строка "Блокнот". 1 - означает развернуть, 0 - свернуть.
WAITMS(500)//Ждем чтобы блокнот окончательно запустился. 500 мс достаточно
FOR($i, $i < 5)//Начало цикла. Цифра 5 означает что цикл повторится 5 раз
KEYSTRING("The quick brown fox jumps over the lazy dog.", 20)//Вводим текст. 20 означает задержку в 20 мс между вводом каждой буквы
KEYPRESS(#ENTER)//Нажимаем Enter чтобы перевести строку. #ENTER - код клавиши Enter
END_CYC//Заканчиваем цикл
HALT//Останавливаем скрипт
--- End code ---
Коды всех клавиш можно посмотреть в help.chm, в разделе "Коды клавиш".
Обратите внимание, что у вас должна быть включена английская раскладка в окне кликермана и в окне блокнота.
Используемые команды:
* EXECUTE - Выполнение программ
* WNDSTATE - Сворачивание/разворачивание окна
* WNDFIND - Нахождение окна по заголовку
* WAITMS - Остановка скрипта на заданное кол-во миллисекунд
* FOR - Цикл
* KEYSTRING - Печать текста
* KEYPRESS - Нажатие клавиш
* HALT - Остановка программы
Oraven:
--- Quote from: Сергей on October 26, 2012, 04:53:11 PM ---Данный скрипт запускает блокнот и 5 раз записывает в него строку "The quick brown fox jumps over the lazy dog."
--- End quote ---
Заметь, что должна быть включена английская раскладка.
ЦИТРИН:
--- Quote from: Oraven on October 26, 2012, 05:30:14 PM ---Заметь, что должна быть включена английская раскладка.
--- End quote ---
Нельзя ли процедуру переключения раскладки поручить самой программе, или хотя бы дать понять пользователю , что у него раскладка не та?
Это я к чему?
Попробовал воспользоваться примером .
НО!
В моей ноуте никакие команды ( в языковой панели) по изменению раскладки так и не смогли "убедить" стандартный блокнот писать по английски. Хотя вручную все делаю исправно.
Если переключено на русский то получаю пустой лист с 5 точками
Если переключаю на англ , то печатается текст, но русскими буквами.
Navigation
[0] Message Index
[#] Next page
Go to full version