|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.04.2015, 13:03 | #21 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,574
|
Просто уточнение, что во внутреннем представлении цвет хранится в формате BGR, а не RGB. Это надо бы уже знать.
E-Mail: arigato.freelance@gmail.com
|
02.04.2015, 14:20 | #22 |
Пользователь
Регистрация: 21.01.2015
Сообщений: 37
|
Как заставить всё это дело работать 1 раз, и ждать другого цвета? А то получается таймер с интервалом сканит пиксель и в зависимости от цвета выполняет заданные действия. Как сделать, чтобы нашел цвет - сделал дело и успокоился пока не поймал другой цвет. А то выходит он хватает тот же цвет и опять дублирует заданные действия.
Код HTML:
procedure TForm1.Button1Click(Sender: TObject); begin tmr2.interval:=5*1000; tmr2.Enabled:= True; end; procedure TForm1.tmr2Timer(Sender: TObject); var DC: HDC; Color: Cardinal; begin DC :=GetDC(0); Color := GetPixel(DC, 484, 395); ReleaseDC(0,DC); if Color=343806 then begin SetCursorPos(480, 450); mouse_event(MOUSEEVENTF_LEFTDOWN,48 0,450,0,0); mouse_event(MOUSEEVENTF_LEFTUP,480, 450,0,0); Sleep(2000); SetCursorPos(770, 450); mouse_event(MOUSEEVENTF_LEFTDOWN,77 0,450,0,0); mouse_event(MOUSEEVENTF_LEFTUP,770, 450,0,0); end; if Color=381259 then begin SetCursorPos(580, 450); mouse_event(MOUSEEVENTF_LEFTDOWN,58 0,450,0,0); mouse_event(MOUSEEVENTF_LEFTUP,580, 450,0,0); Sleep(2000); SetCursorPos(870, 450); mouse_event(MOUSEEVENTF_LEFTDOWN,87 0,450,0,0); mouse_event(MOUSEEVENTF_LEFTUP,870, 450,0,0); end; if Color=9830400 then begin SetCursorPos(380, 450); mouse_event(MOUSEEVENTF_LEFTDOWN,38 0,450,0,0); mouse_event(MOUSEEVENTF_LEFTUP,380, 450,0,0); Sleep(2000); SetCursorPos(670, 450); mouse_event(MOUSEEVENTF_LEFTDOWN,67 0,450,0,0); mouse_event(MOUSEEVENTF_LEFTUP,670, 450,0,0); end; |
02.04.2015, 14:24 | #23 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Поймал цвет - запомни, в таймере проверяй - совпадает или нет, изменился - новые действия и опять запомнил
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
02.04.2015, 14:26 | #24 |
Пользователь
Регистрация: 21.01.2015
Сообщений: 37
|
|
02.04.2015, 14:31 | #25 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Код:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
02.04.2015, 14:40 | #26 |
Пользователь
Регистрация: 21.01.2015
Сообщений: 37
|
А как сравнивать? Точнее как заставить ожидать пока не смениться память таймера.
Последний раз редактировалось adkomissarov; 02.04.2015 в 14:42. |
02.04.2015, 15:01 | #27 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
после ReleaseDC(0,DC);
Код:
Код:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
02.04.2015, 15:08 | #28 |
Пользователь
Регистрация: 21.01.2015
Сообщений: 37
|
Спасибо огромное! Еще бы что значит -1 понять и вообще супер)
Последний раз редактировалось adkomissarov; 02.04.2015 в 15:11. |
02.04.2015, 15:35 | #29 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,878
|
|
02.04.2015, 15:46 | #30 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменение цвета определенной строки в richedit | qwas777 | Общие вопросы Delphi | 3 | 28.01.2013 13:55 |
Как сделать скриншот определенной части экрана? | JonMagon | Помощь студентам | 11 | 13.05.2011 09:45 |
выбор определенной области с таблицы | сергей7 | Microsoft Office Excel | 5 | 07.03.2011 21:35 |
AutoIt Подсчет кол-ва пикселей определенного цвета в определенной области активного окна | z3xix13 | Помощь студентам | 0 | 02.10.2010 14:27 |
Чтение области экрана | АлМазСофт | Помощь студентам | 5 | 28.01.2010 12:52 |