Суть проблемы такова: сделано устройство (секундомер) которое подключено к СОМ порту и передает байты в виде 254 15 0 15 25 всего 5 байт, написав такой код:
Код:
Procedure TCommThread.QueryPort;
Var
MyBuff:Array[1..5] Of Char;
ByteReaded:Cardinal;
Str:String;
Status:DWord;
Begin
If Not GetCommModemStatus(hPort,Status) Then
Begin
SysErrorMessage(GetLastError);
fmMain.btnStop.Click;
Exit;
End;
FillChar(MyBuff,SizeOf(MyBuff),#0);
If Not ReadFile(hPort,MyBuff,SizeOf(MyBuff),ByteReaded,Nil) Then
Begin
SysErrorMessage(GetLastError);
fmMain.btnStop.Click;
Exit;
End;
If ByteReaded>0 Then
Begin {ByteReaded>0}
ReciveBytes:=ReciveBytes+ByteReaded;
fmMain.Memo1.Text:=MyBuff; //вот здесь я получаю символы
Admin: Читаем правила форума!
я получаю иероглифы, наверное символы ANSI
мне нужно получить именно байты, распознать их
254 - начало передачи
15 - номер порта (от 1 до 8)
0 15 25 время мин сек мсек
помогите плиз.