Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Как узнать, есть ли в приёмном буфере RS232 данные?


Автор: Pakshin A. S. 4.11.2004, 21:40
При помощи функции ClearCommError можно узнать, сколько байт данных находится в буфере приёма (и буфере передачи) последовательного интерфейса. 


Код

procedure DataInBuffer(Handle: THandle;  
                       var InQueue, OutQueue: integer);  
var ComStat: TComStat;  
    e: integer;  
begin  
  if ClearCommError(Handle, e, @ComStat) then  
  begin  
    InQueue := ComStat.cbInQue;  
    OutQueue := ComStat.cbOutQue;  
  end  
  else  
  begin  
    InQueue := 0;  
    OutQueue := 0;  
  end;  
end;  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)