데이타를 주고 받고 하는 프로그램을 작성하는 중에
받을 시에..
항상 8바이트씩 끊어서 받는지 모르겠어요...
이문제를 해결할려면 어케하는지 알려주세요...
만약.. "11223344556677889900" 이란 데이타를 보내경우
1번째 --> 1122334455667788
2번째 --> 9900
이렇게 받아지거든요..8바이트씩 나눠서 받아진거든요...
보내는 바이트는 다 받아지는데...전 전체 스트링을 한꺼번에 받고 싶거든요..
OnRxChar 이벤트를 쓰면 이렇게 된답니다..
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var str,s:string;
i:integer;
d:string;
begin
comport1.ReadStr(s,count);
memo1.lines.add(s);
end;
해결부탁드립니다.
어떤 방법이 있을까 고생하다가...timer 를 써서 해결했는데요...
이런거에서 조금 고쳐보세요...^^
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var str,s:string;
i:integer;
d:string;
str : string; //전역변수(?)로 설정...
begin
timer1.enable := false;
comport1.ReadStr(s,count);
str := str + s;
timer1.true;
end;
타이머 작동시...
begin
memo1.lines.add(str);
timer1.enable := false;
end;