|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.05.2009, 06:52 | #1 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 112
|
Срабатывание датчика по таймеру
Пишу программу для модуля подключенного к компу, все в моей программе работает, осталось обработать информацию с датчиков подключенных к модулю. ТАКИМ ОБРАЗОМ, ЧТОБЫ ПО ТАЙМЕРУ ПРОГРАММА ОПРАШИВАЛА ПОРТЫ ОТ МОДУЛЯ, НАПРИМЕР ЕСЛИ СРАБОТАЛ ДАТЧИК, ТО КАРТИНКА В ПРОГРАММЕ МЕНЯЛАСЬ.
ПОДСКАЖИТЕ ПОЖАЛУЙСТА, МОЙ КОД НЕ РАБОТАЕТ. procedure FNTimeCallBack(uTimerID, uMessage: UINT;dwUser, dw1, dw2: DWORD);stdcall; begin CRbyte := 13; // HEX 0x0D LFbyte := 10; // HEX 0x0A buffer:= '$KE,RD,18,1' + Char(CRbyte) + Char(LFbyte); WriteFile(CommHandle, PChar(buffer)^, Length(buffer), NumberWritten, nil); Form2.Image19.Visible:=true; Form2.Image20.Visible:=false; end; |
23.05.2009, 07:57 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
А ваша процедура procedure FNTimeCallBack к какой форме привязана?
Если вы ее внесете в текст Unit2 и поставите procedure Form2.FNTimeCallBack то все будет работать... При условии, конечно, что в Image19 и Image20 предварительно загружены какие-то изображения....\ Последний раз редактировалось mihali4; 23.05.2009 в 08:00. |
24.05.2009, 13:17 | #3 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 112
|
Я пробовал, не получается, может быть какую-нибудь другую процедуру посоветуете?
Или подскажите процедуру для КНОПОЧКИ НА МОДУЛЕ, чтобы при её нажатии, в программе отображалось, что она нажата. Пользуйтесь кнопкой "Правка"! Последний раз редактировалось mihali4; 24.05.2009 в 22:45. Причина: Объединение постов |
24.05.2009, 16:02 | #4 | |
Форумчанин
Регистрация: 25.04.2008
Сообщений: 277
|
Цитата:
Ди и еще...По моему в вашей процедуре вы не опрашиваете ком порт а пытаетесь чето в него записать...Что противоречит вашим желаниям...Если вы хотите опросить датчик то нада использовать ReadFile а не WriteFile...
it is a good day to die
Последний раз редактировалось Zloy_Doomer; 24.05.2009 в 16:04. |
|
24.05.2009, 17:16 | #5 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 112
|
С портом все нормально, эту часть я сделал. А вот процедуру на кнопку с модуля не могу, пробовал, не получается
Код:
Последний раз редактировалось Stilet; 25.05.2009 в 13:14. |
24.05.2009, 21:11 | #6 |
Форумчанин
Регистрация: 25.04.2008
Сообщений: 277
|
Непанятно зачем присваивать переменной buffer какое то значение, в нее ведь будет считано то значение которое примется с устройства...Ну да лдно, в принципе вы идете по верному пути, после того как считали то что пришло с девайса проверяем на наличие нужного нам содержимого...Если да то делаем то то если нет другое...
it is a good day to die
|
25.05.2009, 05:28 | #7 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 112
|
Подскажите какая процедура для кнопки на модуле, чтобы кнопка реагировала
Расшифруйте эту строку, это случайно не процедура для нажатия кнопки на модуле? (StrLComp(BinBuf, PChar(Buffer), Length(Buffer)) = 1) Еще раз - есть кнопка "Правка" ! Последний раз редактировалось mihali4; 25.05.2009 в 11:58. Причина: Объединение постов |
25.05.2009, 09:38 | #8 | |
Форумчанин
Регистрация: 25.04.2008
Сообщений: 277
|
Цитата:
А нащет StrlComp: Функция StrlComp. Сравнивает строки. Заголовок: Function StrlComp(Strl, Str2: PChar): PChar; . Функция сравнивает строки, игнорируя возможную разницу в высоте букв. Возвращает такой же результат, как и StrComp. Замечу, что функция правильно работает лишь с латиницей. Для кириллицы ее нужно модифицировать или Функция StrLComp. Сравнивает строки. Заголовок: Function StrLComp(Dest, Source: PChar; MaxLen: Word): PChar; В отличие от StrComp сравнивает не более MaxLen символов строк. Возвращаемый результат такой же, как и у StrComp.
it is a good day to die
Последний раз редактировалось Zloy_Doomer; 25.05.2009 в 09:44. |
|
26.05.2009, 16:32 | #9 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 112
|
Кто-нибудь подскажите команду, очень надо
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
заполнить файл целыми числами из отрезка [—100; 100] с помощью датчика случайных чисел. | ALEX-7-7-7 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 05.04.2009 14:51 |
COM, TThread, обращение по таймеру | Антон Ю.Б. | Общие вопросы Delphi | 2 | 17.02.2009 09:23 |
Автосохранения по таймеру | ScreN | Общие вопросы Delphi | 13 | 09.01.2009 18:49 |
Нечто подобное таймеру | Артэс | Общие вопросы C/C++ | 8 | 11.02.2008 19:19 |
Вызов функции по таймеру | Lexicss | Общие вопросы Delphi | 4 | 30.05.2007 22:47 |