Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Как мне проверить наличие сигнала CTS, в COM   Найти похожие ветки 

 
Dmitriy_G ©   (2004-01-19 09:13) [0]

HCom:=CreateFile(PChar(ComboBox1.Text),GE
...
EscapeCommFunction(HCom,SETRTS); // Установил RTS
Как теперь проверить наличие CTS


 
Evgeny V ©   (2004-01-19 14:18) [1]

GetCommModemStatus, или по WaitCommEvent


 
Dmitriy_G ©   (2004-01-19 15:52) [2]

По подробнее пожалуйста, и не отправляйте меня к Хелпу, был я там.
WaitCommEvent(HCоm,EV_CTS, тут что писать?);


 
jack128 ©   (2004-01-19 16:21) [3]

Можно вопрос? А как ты узнал, что означают первые два параметра? И почему не воспользовался тем же способом, для определния смысла 3 - его параметра?


 
Dmitriy_G ©   (2004-01-19 18:23) [4]

Хелп посмотрел, но так как и в Делфи и в языке буржуйском я ноль, то результат смотри выше


 
jack128 ©   (2004-01-19 19:00) [5]

Вот как перевел хелп по этой функции X - Translator PLATINUM.

Функция WaitCommEvent ждет случай, чтобы произойти для указанного устройства связи. Набор событий, которые проверены этой функцией, содержится в случае маска, связанная с маркером(дескриптором) устройства.

BOOL WaitCommEvent (

   ОБРАБОТАЙТЕ hFile,   // Маркер(дескриптор) устройства связи
   LPDWORD lpEvtMask,   // Адрес переменной для случая, который произошел  
   LPOVERLAPPED lpOverlapped,   // Адрес перекрытой структуры
 );  


Параметры

hFile

Идентифицирует устройство связи. Функция CreateFile возвращает этот маркер(дескриптор).

lpEvtMask

Указывает на переменную на 32 бита, которая получает маску, указывающую тип случая, который произошел. Если ошибка происходит, значение - ноль; иначе, это - одно из следующих значений:

Значение   Значение
EV_BREAK   Перерыв был обнаружен на вводе.
EV_CTS   CTS (clear-to-send) сигнал измененное(замененное) государство(состояние).
EV_DSR   DSR (готовый данными-набором) сигнал измененное(замененное) государство(состояние).
EV_ERR   Ошибка состояния линии произошла. Ошибки Состояния линии - CE_FRAME, CE_OVERRUN, и CE_RXPARITY.
EV_RING   Кольцевой индикатор был обнаружен.
EV_RLSD   RLSD (получать-линия-сигнал-поиск) сигнал измененное(замененное) государство(состояние).
EV_RXCHAR   Символ был получен и помещен во входном буфере.
EV_RXFLAG   Символ случая был получен и помещен во входном буфере. Символ случая определен в структуре DCB устройства, которая применяется на последовательный порт, используя функцию SetCommState.
EV_TXEMPTY   Последний(прошлый) символ в буфере вывода был послан.


lpOverlapped

Указывает на структуру OVERLAPPED. Эта структура требовалась бы, если hFile был открыт с FILE_FLAG_OVERLAPPED.
Если hFile был открыт с FILE_FLAG_OVERLAPPED, lpOverlapped параметр не должен быть НУЛЕВОЙ(ПУСТОЙ). Это должно указать на правильную(допустимую) структуру OVERLAPPED. Если hFile был открыт с FILE_FLAG_OVERLAPPED, и lpOverlapped НУЛЕВОЙ(ПУСТОЙ), функция может неправильно сообщать, что операция закончена.
Если hFile был открыт с FILE_FLAG_OVERLAPPED, и lpOverlapped - не НУЛЕВОЙ(ПУСТОЙ), WaitCommEvent выполнен как перекрытая операция. В этом случае(регистре), структура OVERLAPPED должна содержать маркер(дескриптор) к объекту(цели) случая ручного сброса (созданный, используя функцию CreateEvent).

Если маркер(дескриптор) hFile не был открыт с FILE_FLAG_OVERLAPPED, WaitCommEvent не возвращается, пока одно из указанных событий или ошибки не происходит.



Значения Возвращения

Если функция преуспевает, значение возвращения отличное от нуля.
Если функция терпит неудачу, значение возвращения - ноль. Чтобы получить расширенную(продленную) информацию ошибки, вызовите(назовите) GetLastError.

Замечания

Функция WaitCommEvent контролирует набор событий для указанного ресурса связи. Чтобы устанавливать и сделать запрос маски текущего события ресурса связи, используйте функции SetCommMask и GetCommMask.
Если перекрытая операция не может быть закончена немедленно, функция возвращается ЛОЖНЫЙ, и функция GetLastError возвращает ERROR_IO_PENDING, указывая, что операция выполняет на заднем плане. Когда это случается, система устанавливает hEvent члена структуры OVERLAPPED к не - сообщенное государство(состояние) прежде WaitCommEvent возвращения, и затем это устанавливало это на сообщенное государство(состояние), когда одно из указанных событий или ошибки происходит. Процесс запроса может использовать одну из ждущихся функций, чтобы определить государство(состояние) объекта(цели) случая и затем использовать функцию GetOverlappedResult, чтобы определить результаты операции WaitCommEvent. GetOverlappedResult сообщает об успехе или отказе(неудаче) операции, и переменная, указанная lpEvtMask параметром установлена, чтобы указать случай, который произошел.

Если процесс пытается изменять(заменять) маску случая маркера(дескриптора) устройства, используя функцию SetCommMask, в то время как перекрытая операция WaitCommEvent происходит, WaitCommEvent возвращения немедленно. Переменная, указанная lpEvtMask параметром установлена на ноль.

См. Также

CreateFile, DCB, GetCommMask, GetOverlappedResult, ПЕРЕКРЫТЫЙ, SetCommMask, SetCommState


 
Dmitriy_G ©   (2004-01-20 06:48) [6]

Я на делфи пишу отсилы месяц, вообще-то  я ПИКи программирую. А тут задача соединить ПИК, ко Кому с компутером, вот я и парюсь.
Интуитивно понятный интерфейс вояю, в Досе я давно написал, но блин прогресс.
Так что я нифига не понимаю, Делфи для меня темный лес.


 
Dmitriy_G ©   (2004-01-20 06:48) [7]

Я на делфи пишу отсилы месяц, вообще-то  я ПИКи программирую. А тут задача соединить ПИК, ко Кому с компутером, вот я и парюсь.
Интуитивно понятный интерфейс вояю, в Досе я давно написал, но блин прогресс.
Так что я нифига не понимаю, Делфи для меня темный лес.
И вообще GetCommModemStatus похоже по лучше будет в моем случае.



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
14-1078398784
LaidBack
2004-03-04 14:13
2004.04.04
Ушла...


3-1078377703
Rauf
2004-03-04 08:21
2004.04.04
Помогите с SQL запросом в ADO


8-1070016737
X-Disa
2003-11-28 13:52
2004.04.04
Размер картинки


1-1079197532
Александр1
2004-03-13 20:05
2004.04.04
MSExcel.dcu


3-1078339764
Volodya_
2004-03-03 21:49
2004.04.04
refresh adoQuery