本人做了一個串口接收資料的上位機,接收的資料在Memo里顯示,已經設定Memo2->Lines->Add(S);但是資料還是有的連接在一起不能分行,特來詢問一下論壇的各位,個人懷疑是處理的時間太長,發送的時間過快,發送的波特率是500000,。
把接收程式貼一下(串口的控制元件用的是SPCOMM),使用的是傳遞訊息的方法來接收
void __fastcall TForm1::OnShowProgress(TMessage &Msg)
{
if(nbyte>0)
{
AnsiString S,T;
for(int i=0;i<nbyte;i++)
{
T=IntToHex(Buf[i],2);
if(T.Length()>2) T=T.SubString(7,2);
S=S+T+" ";
}
Memo2->Lines->Add(S);
}
}
void __fastcall TForm1::Comm1ReceiveData(TObject *Sender, Pointer Buffer,
WORD BufferLength)
{
nbyte=BufferLength;
Move(Buffer,Buf,BufferLength);
PostMessage(Handle, WM_SHOW_PROGRESS, NULL, NULL);
}
uj5u.com熱心網友回復:
分行要你資料里有\r\n符號才行的。你在S里自己加入\r\nuj5u.com熱心網友回復:
在Memo空間中這么寫:Memo2->Lines->Add(S + "\r\n");
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/90187.html
標籤:基礎類
上一篇:格式化3
下一篇:想請問一下3層if嵌套的等價形式
