------------
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
buf : array[0..1024] of byte;
str, str2, str3 : AnsiString;
tmpStr : String;
cnt, i : Integer;
begin
cnt := comport.InputCount;
comport.Read(buf, cnt);
str :='';
str2 := '';
for i := 0 to cnt - 1 do begin
str := str + intToHex(byte(buf[i]), 2);
str2 := str2 + AnsiChar(Buf[i]);
end;
Memo.Lines.Add('Hex : ' + str);
end;
-------------
시리얼 통신을 사용하여 메시지가 들어오면 그 메시지에서 전화번호만 추출할려고 합니다.
str 을 출력해 보면
CD 0E AF 81 0B 30 37 30 37 34 39 39 34 32 30 30
이런식으로 값이 들어 옵니다.
CD 0E AF 81 0B 이 값을 기준으로 전화 번호가 들어오고 있다고 인식을 하게 만들고 싶습니다.
그런 후 전화번호 앞마다 붙어 있는 3을 제거 하는게 최종 목표 입니다.
어떻게 하면 되나요..
델파이 초보라서 문의 드립니다.
CD 0E AF 81 0B 30 37 30 37 34 39 39 34 32 30 30
|