comport1을 사용해 어떤 형식에 맞는 데이터를 보내면 ComDataPacket1을 memo1에 뿌려주는 프로그램을 작성하였습니다.
그런데 보낼데이터가 1개가 아니라, 5종류의 다른 데이터를 0.5초 간격으로 보내면 그것을 한줄씩 띄어서 5개의 응답메세지로 받고 싶습니다.
그냥 되는데로 하면 응답메세지가 따닥따닥 붙어있어서 알아보기 힘듭니다.
어떻게 해야할까요? 가르쳐주세요..ㅜㅜ
<!--CodeS-->
//-------------------보내는 데이터 입력 ----------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
// Port의 Open을 확인한후에 WriteStr을 이용하여 패킷을 전달
if ComPort1.Connected then begin
ComPort1.Write(FaultInfo,15);//FaultInfo와 비슷한 다른 배열이 5개 있습니다.
end;
end;
//-----------받은 데이터 처리 --------------------------------------------------
procedure TForm1.ComDataPacket1Packet(Sender: TObject; const Str: String);
var
str1 : string;
begin
ComDataPacket1.StartString := #$06; //받은데이터 ACK
ComDataPacket1.StopString := #$04; //받은데이터 EOT
ComPort1.Read(str1,39);
Memo1.Lines.Add('첫번째데이터 --> '+str);
end;
<!--CodeE-->
아마 TComPort 컴퍼넌트를 사용하시는것 같은데...
해당 컴포넌트에... 메세지를 종료해주는 설정이 있을겁니다..
RX의 종료인가.... 이궁... 진짜 기억이 안나네...
아니면... 메시지 라인 마지막에... #10 + #13
이렇게 하시면 될겁니다... 아마도...