摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi网络编程
◎→ 本类最新
远程程序运行状态的简单监控
在IE上增添一个按钮
在Delphi中实现ASP编程
在Delphi程序中应用IE浏览器控件
在DELPHI程序中拨号上网
用Delphi编写ASP的ActiveX服务器
用Delphi编写CGI程序返回图象
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
屏蔽“任务管理器”
Delphi开发旅游景点微机售票系统
Delphi开发旅游景点微机售票系统
Delphi编写后台监控软件
实战Delphi数据网格色彩特效
可以下载整个目录的简单实现
Delphi下汉字输入法的编程及使用

开发一个基于DCOM的局域网聊天室(三)(2)


日期:2008-10-20 22:09:15    来源:
   
 ·Delphi开发旅游景点微机售票系统(2) ·解密局域网内ADSL路由器密码
 ·迅雷联盟带流量和数据聊天
开发一个基于DCOM的局域网聊天室(三)

//请对比上篇文章的同名实现

procedure TClientMainForm.Timer1Timer(Sender: TObject);

var

TempStrings:TStrings;

i:integer;

ToStartPos,ToEndPos:integer;

FromWho,ToWho,TempName:string;

begin

try

if ChatServer.Server.ReadReady(RoomID)=1 then

begin

TempStrings:=TStringList.Create;

SetOleStrings(TempStrings,ChatServer.Server.ReadFrom(RoomID));

if FReadStartPos>19 then

if (FClearBufferTag=0-ChatServer.Server.TestClearBufferTag(RoomID)) then

begin

FReadStartPos:=0;

FClearBufferTag:=ChatServer.Server.TestClearBufferTag(RoomID);

end;

for i:=FReadStartPos to TempStrings.Count-1 do

begin

if RightStr(TempStrings[i],11)='SecretSpeak' then

//可以看到实现悄悄话无非是在说话内容的最后加了一个特殊的标示SecretSpeak

begin

//这一段程序从字符串中解析出说话的对象

ToStartPos:=pos(' 悄悄的对 ',TempStrings[i]);

FromWho:=Copy(TempStrings[i],1,ToStartPos-1);//谁说的

ToStartPos:=ToStartPos+10;

ToEndPos:=pos(' 说:',TempStrings[i]);

ToWho:=Copy(TempStrings[i],ToStartPos,ToEndPos-ToStartPos);//说给谁

////////////////////////////////////////////////////////////////////////////////////////////////////

if (ToWho='所有人') or (ToWho=UserName) or (FromWho=UserName) then

//是自己说的,或自己应该看到的,或是说给所有人的悄悄话都有权看到

begin

Memo1.Lines.Add(Copy(TempStrings[i],1,length(TempStrings[i])-11));

Memo1.Lines.Add('');

end;

end

else //不该看到的内容

begin

Memo1.Lines.Add(TempStrings[i]);

Memo1.Lines.Add('');

end;

end;

FReadStartPos:=TempStrings.Count;

end;

//刷新在线人员列表

Listbox1.Clear;

SetOleStrings(ListBox1.Items,ChatServer.Server.RoomUserList(RoomID));

//刷新说话对象列表

TempName:=SpeakToCBx.Text;

SpeakToCBx.Clear;

SpeakToCBx.Items.Assign(ListBox1.Items);

SpeakToCBx.Items.Insert(0,'所有人');

for i:=0 to SpeakToCBx.Items.Count-1 do

begin

if SpeakToCBx.Items[i]=TempName then Break;

end;

if i>SpeakToCBx.Items.Count-1 then i:=0;

SpeakToCBx.ItemIndex:=i;

//////////////////////////////////////////////////////////////////

except //异常处理<

 [1]

Delphi开发旅游景点微机售票系统(1)

局域网组建实习

软件界面添加QQ互动状态聊天

--->QQ聊天记录偷看器 1.2┊操作简单支持所有QQ、TM版本┊简体中文绿色特别版
--->QQ聊天记录查看器 V5.3┊无需密码查看QQ聊天记录┊简体中文绿色特别版
--->LanExplorer_局域网搜索软件
--->超级缩霸 V1.00┊中国人开发的功能强大压缩、解压缩软件┊简体中文绿色特别版
--->Archivarius 3000 V3.88┊可搜索局域网和计算机上的程序┊多国语言绿色特别版
Tags:  开发 局域网 聊天
{$enumber$}
芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们