Помогите пожалуйста. Я не совсем ещё разбираюсь в Delphi, "не разбираюсь совсем" тоже подходит. Уверен, что Синтаксис, процедура, параметры и Люцифер синонимы. Но очень пытаюсь разубедиться.
Как определить пустой буфер или там есть данные. Собственно на ком порте заглушка с соединёнными RX-TX. То есть, то что выдал, сразу попадает в буфер назад. На компе запущен монитор ,которым это дело контролируется . Остальные сигналы никак не используются , не участвуют и не предполагается использовать. На трёх проводах будет висеть контроллер , сливающий и принимающий в час по чайной ложке .
Вот эээ... "код" Delphi.
Код:
var
hFile :THandle;
ByteWritten : cardinal;
temp :string; // это будет отправляться
namefile:Pchar; // имя файла
COMStat: TCOMStat; // переменная для определения данных в буфере
xn: THandle;
myBuff:string[11];
begin
temp:='Hello World!'; // строка для записи в файл
namefile:='COM3'; // Имя файла для создания
hFile:= CreateFile(namefile,GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE,nil,CREATE_ALWAYS,0,0); // Открывается порт
WriteFile(hFile, temp[1], Length(temp),ByteWritten, nil); // пишется строка в порт
ClearCommError(hFile,xn,@COMStat); //получаем состояние COM в StatCOM
xn:=COMStat.cbInQue; // в cblnQue должно вроде быть количество байтов в буфере
ShowMessage(IntTostr(xn)) ; // показывается сколько ж там - фигсдва... НОЛЬ
ReadFile(hFile,MyBuff,SizeOf(MyBuff),ByteReaded,Nil); // А ТУТ ПРЕЛЬСТИВО ВЫЯСНЯЕТСЯ - ЧТО ВСЯ СТРОКА ТАМ ЛЕЖИТ.
CloseHandle(hFile); // ипец
end.