Delphi - база знаний


Как узнать, есть ли в приёмном буфере RS232 данные?


Как узнать, есть ли в приёмном буфере RS232 данные?



При помощи функции 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

Взято с Исходников.ru



Начало  Назад  Вперед