Тема: помогите
Показать сообщение отдельно
  #1  
Старый 17.04.2010, 23:08
booster booster вне форума
Прохожий
 
Регистрация: 17.04.2010
Сообщения: 1
Репутация: 10
По умолчанию помогите

Суть проблемы такова: сделано устройство (секундомер) которое подключено к СОМ порту и передает байты в виде 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 время мин сек мсек

помогите плиз.
Ответить с цитированием