全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:900
推到 Plurk!
推到 Facebook!

TCP/IP ReadString 長度問題

缺席
juneo
高階會員


發表:103
回覆:190
積分:118
註冊:2004-05-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-30 15:32:14 IP:211.20.xxx.xxx 未訂閱
請問下面程式中的x:=Client1.ReadString(12);  如何偵測buff裡面的資料長度,然後帶入Client1.ReadString(12); 把12固定長度改成buff的長度,因為長度會在 8-30之間變化     
// Client1: TIdTCPClient; //****TCP/IP元件
procedure TForm1.Timer1Timer(Sender: TObject);
var
  x,y:string;
begin
   //@0000F50000
      y:='@' Edit1.Text Chr(13);
      Client1.Write(y);    //寫入字串
   Client1.ReadFromStack(False,1,False); //判斷是否有回應資料如果沒有則不讀取傳回數值
   While Client1.InputBuffer.Size>0 do
    Begin
      x:=Client1.ReadString(12); //讀取tcp/ip傳回的數值
      Memo1.Lines.Add(x);        End;
end;
 
分享比獲得更快樂--Juneo
juneo
高階會員


發表:103
回覆:190
積分:118
註冊:2004-05-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-31 11:24:16 IP:211.75.xxx.xxx 未訂閱
解決了 最後使用
 
    k:=Client1.ReadLn(#13); // ReadLn(#13) 讀取到 #13(0D)就把資料分開
    i:=Length(k); //偵測資料長度
    j:=IntToStr(i);
    Memo3.Lines.Add(j);
    Memo2.Lines.Add(k); 
分享比獲得更快樂--Juneo
系統時間:2024-05-14 11:42:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!