Показать сообщение отдельно
  #1  
Старый 09.08.2011, 21:11
Аватар для Graf33rus
Graf33rus Graf33rus вне форума
Прохожий
 
Регистрация: 25.03.2009
Сообщения: 10
Репутация: 10
По умолчанию Кракозябры в терминале, как избавиться?

Всем доброго вечара!
Хочу написать програмку для чтения информации с ком порта, пробовал писать через winapi, так же пробовал через компонент(BComPort), результат везде одниковый, хотя в hyper терминале и терминале Bray отображаеться все корректно...

вот кусок кода отвечающий за чтение
Код:
procedure TForm1.Button4Click(Sender: TObject);
Var
  RCBuf:PChar;        //Буфер данных для приема
  nToRead:Cardinal;   //Число байт для чтения
  nRead:Cardinal;     //Число прочитанных байт
  ComStat:TComStat;   //состояние порта
  Errs:Dword;
  i:integer;
  tmpDec,tmpHex:string;
begin
  ClearCommError(POrt,Errs,@ComStat);       //считываем состояние порта
  nToRead:=ComStat.cbInQue;                 //считываем число байт для чтения из структуры
  nToReadLabel.Caption:=IntToStr(nToRead);  //выводим на форму число байт для чтения
  ReadFile(Port,RCBuf^,nToRead,nRead,nil);  //считываем данные
  nReadLabel.Caption:=IntToStr(nRead);      //выводим на форму число прочитанных байт
  RichEdit1.Lines.Add( RCBuf);
  RcDataLabel.Caption:=RCBuf;
end;


http://imagepost.ru/?v=texpqnvoenetu...fampmxwkmu.JPG
Ответить с цитированием