線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1272
推到 Plurk!
推到 Facebook!

聊天室的悄悄話功能

缺席
shenglin
一般會員


發表:12
回覆:6
積分:3
註冊:2004-05-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-24 17:46:27 IP:61.64.xxx.xxx 未訂閱
大家好:        小弟參考http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36597這篇,想要實作看看聊天室悄悄話的功能.        我在client和Server端各開一個CheckListBox想要顯示出線上的User,這樣Client端可決定他要傳給誰,Server端可決定踢誰.        下面是小弟的片段程式    //Srever端 //J開頭的Socket,表示內容是帳號 AnsiString buf; if (IsDelimiter("J",buf,1))//如果是使用者上線的話 {     buf.Delete(1,1);     CheckListBox1->Items->Add(buf); for (int u=0 ;uItems->Strings[u]; for (int i=0 ;iSocket->Connections[i]->SendText("U" L); } } } //Client端 //傳Socket的做法 AnsiString Name = LabeledEdit2->Text; //送出使用者名稱 ClientSocket1->Socket->SendText("J" Name); //收Socket的做法 if (IsDelimiter("U",buf,1)) { CheckListBox1->Items->Clear(); buf.Delete(1,1); CheckListBox1->Items->Add(buf); } 我的問題是想把Client收到更新過的user list是有Comma Text的Ansistring 放到Client的CheckListBox上面,可是出了問題! 謝謝指教 發表人 - shenglin 於 2004/06/24 17:49:54 發表人 - shenglin 於 2004/06/24 22:19:48 發表人 - shenglin 於 2004/06/24 22:23:50
shenglin
一般會員


發表:12
回覆:6
積分:3
註冊:2004-05-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-24 23:11:50 IP:61.64.xxx.xxx 未訂閱
大家好:        sorry佔用網路資源,我已經發現自己的錯誤了. 因為我每次要更新都先送出clear list的訊息,可是會跟傳送使用者名單混在一起.分開送出即可.修正如下.
 //Srever端
//J開頭的Socket,表示內容是帳號
AnsiString buf;
if (IsDelimiter("J",buf,1))//如果是使用者上線的話
{

for (int c=0;cSocket->Connections[c]->SendText("ListClr");  //告訴clientlist清單先清除
    }    buf.Delete(1,1);
CheckListBox1->Items->Add(buf);
for (int u=0 ;u{
AnsiString L=CheckListBox1->Items->Strings[u];
for (int i=0 ;i {
ServerSocket1->Socket->Connections[i]->SendText("U" L);
}
}
}    //Client端
//傳Socket的做法
AnsiString Name = LabeledEdit2->Text; //送出使用者名稱
ClientSocket1->Socket->SendText("J" Name);
//收Socket的做法
if (IsDelimiter("Listclr",buf,7))//先清除清單
  {
  CheckListBox1->Items->Clear();
  }
if (IsDelimiter("U",buf,1))//更新
{
//CheckListBox1->Items->Clear();
buf.Delete(1,1);
CheckListBox1->Items->Add(buf);
}    
附註:斷線的地方也要做一遍更新清單的動作,我寫的方法好像是笨笨的做法 謝謝指教
系統時間:2024-05-12 17:04:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!