Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 799

•  TDictionary Custom Sort  6 799

•  Fast Watermark Sources  6 585

•  3D Designer  9 540

•  Sik Screen Capture  6 921

•  Patch Maker  7 373

•  Айболит (remote control)  7 307

•  ListBox Drag & Drop  6 173

•  Доска для игры Реверси  98 114

•  Графические эффекты  7 486

•  Рисование по маске  6 778

•  Перетаскивание изображений  5 630

•  Canvas Drawing  6 009

•  Рисование Луны  5 800

•  Поворот изображения  5 253

•  Рисование стержней  3 849

•  Paint on Shape  3 006

•  Генератор кроссвордов  3 958

•  Головоломка Paletto  3 140

•  Теорема Монжа об окружностях  3 971

•  Пазл Numbrix  2 622

•  Заборы и коммивояжеры  3 433

•  Игра HIP  2 350

•  Игра Go (Го)  2 264

•  Симулятор лифта  2 666

•  Программа укладки плитки  2 229

•  Генератор лабиринта  2 780

•  Проверка числового ввода  2 385

•  HEX View  2 723

•  Физический маятник  2 414

 
скрыть

Как определить состояние модема под Win32




Пришел Новый Русский в компьютерный магазин и спрашивает:
- Братан, кто у вас тут самый крутой? Процессор?
- Нет.
- А может это...
Материнская плата??
- Нет.
- Хммм... Блин... А кто же???
- Модем.
- Он наверно такой умный???
- Да нет.
- А чеее тогда?
- У него такие связи!


procedure TForm1.Button1Click(Sender: TObject);
var
  CommPort : string;
  hCommFile : THandle;
  ModemStat : DWord;
begin
  CommPort := 'COM2';

  {Open the comm port}
  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;

  {Get the Modem Status}
  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 <> 0 then
      ShowMessage('The ring indicator is on.');
    if ModemStat and MS_RLSD_ON <> 0 then
      ShowMessage('The RLSD (receive-line-signal-detect) is on.');
  end;

  {Close the comm port}
  CloseHandle(hCommFile);
end;