Q&A

  • [질문]Comport를 이용한 Serial통신에서 nul문자를 Hex로.....

델7 에서 Comport를 통한시리얼통신을 하려고 합니다. 

OnRxChar 로 받은 데이터를 Hex로 변환하는데 원하는 결과가 안나옵니다.

Nulㅣ이 그냥 걸러져버리는것 같은데 어떻게 해야할지.... 

(빨간색부분이 안나옴.)  좀 알려주십시요.


원래 나와야할 데이터  00 02 00 6F 48 74 C0 00 FF CC B8

실제 나오는 데이터     00 02  6F 48 74 C0 FF CC B8 


procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);

var

  Str: ansiString;

  i : integer;

begin

  ComPort.ReadStr(Str, Count);

  for i:=0 to length(Str) do

  begin

    if Integer(Str[i])=0 then memo1.Text := memo1.Text +  '00'

    else memo1.Text := memo1.Text + IntToHex(Integer(Str[i]),2);

  end;

end;



2  COMMENTS
  • Profile
    이정욱 2016.12.20 10:06
    캐릭터를 비교할 때,

    if (Str[i] = #0) then

    이렇게 해보세요.

    그리고 델파이는 스트링이 0부터 시작하지 않습니다. 1부터 시작하시면 됩니다.
  • Profile
    runner 2016.12.28 22:53

    감사합니다. ^^