Следующий пример демонстрирует получение состояния управляющих регистров модема.

 

Пример:

Code:

procedure TForm1.Button1Click(Sender: TObject);

var

CommPort : string;

hCommFile : THandle;

ModemStat : DWord;

begin

CommPort := 'COM2';

 

{Открываем com-порт}

hCommFile := CreateFile(PChar(CommPort),

                         GENERIC_READ,

                         0,

                         nil,

                         OPEN_EXISTING,

                         FILE_ATTRIBUTE_NORMAL,

                         0);

if hCommFile = INVALID_HANDLE_VALUE then

begin

   ShowMessage('Unable to open '+ CommPort);

   exit;

end;

 

{Получаем состояние модема}

if GetCommModemStatus(hCommFile, ModemStat) <> false then begin

   if ModemStat and MS_CTS_ON <> 0 then

     ShowMessage('The CTS (clear-to-send) is on.');

   if ModemStat and MS_DSR_ON <> 0 then

     ShowMessage('The DSR (data-set-ready) is on.');

   if ModemStat and MS_RING_ON <> 0then

     ShowMessage('The ring indicator is on.');

   if ModemStat and MS_RLSD_ON <> 0 then

     ShowMessage('The RLSD (receive-line-signal-detect) is

on.');

end;

 

{Закрываем com-порт}

CloseHandle(hCommFile);

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить