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

DELPHI新手求救!!!救人哦!有關server端接收的問題...

尚未結案
brad
一般會員


發表:4
回覆:6
積分:2
註冊:2005-03-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-14 15:57:37 IP:211.72.xxx.xxx 未訂閱
各位大大,我在寫一個server端接收的程式,假設client端一直傳送'0'過來,我在server端這收下後,我該怎樣去做接收的動作,然後,每四個0為一組,顯示在memo上面呢?不太會寫,這樣子雖然有接收到,但memo顯示出來的並不是4個0一組排列下去,請求各位協助,拜託!!!!!! 程式碼如下: const packetlen = 2048; ... procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var buffer : array[1..packetlen] of char; i : integer; temp : string; begin socket.ReceiveBuf(buffer,length(buffer)); for i := 1 to 4 do begin temp := ''; temp := temp buffer[i]; if i = 4 then begin memo1.Lines.Add(buffer); end; end; end; 希望結果: 0000 0000 0000 0000 0000 0000 0000 ... ...一直顯示下去
chris_shieh
高階會員


發表:46
回覆:308
積分:240
註冊:2004-04-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-14 23:33:58 IP:218.167.xxx.xxx 未訂閱
var
  strBuf:String; //全域變數, 儲存目前未滿4個字元的string    const
  packetlen = 2048;
...
procedure TForm1.Create(Sender: TObject);
begin
  strBuf:=''; //初始化
end;    procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
  buffer : array[1..packetlen] of char;
  i : integer;
begin
  socket.ReceiveBuf(buffer,length(buffer));  
  for i := 1 to Length(buffer) do //將收到的buffer處理完
  begin
    strBuf := strBuf   buffer[i]; //一次將一個字元加入
    if Length(strBuf)=4 then //滿4個字時印出並清空
    begin
      memo1.Lines.Add(strBuf);
      strBuf:=''; 
    end;
  end;
end;
@瞭解越多.懂得越少@
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-26 13:50:58 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-12 2:38:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!