求DELPHI7下一小型简单的聊天程序. .............如题. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 转贴!!!unit msgdem;interfaceuses Windows, SysUtils, Classes, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, NMMSG, ScktComp, ComCtrls, Psock; // NMMSG为控件当加入TNMMSG、TNMMSGSERV后Delphi自动加入type TForm1 = class(TForm) Panel1: TPanel; Memo1: TMemo; Edit1: TEdit; NMMsg1: TNMMsg; NMMSGServ1: TNMMSGServ; Label1: TLabel; Edit2: TEdit; Label2: TLabel; Edit3: TEdit; StatusBar1: TStatusBar; Label3: TLabel; procedure Panel1Resize(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure NMMSGServ1MSG(Sender: TComponent; const sFrom, sMsg: String); procedure NMMsg1MessageSent(Sender: TObject); procedure NMMsg1Connect(Sender: TObject); procedure NMMsg1ConnectionFailed(Sender: TObject); procedure NMMsg1Disconnect(Sender: TObject); procedure NMMsg1HostResolved(Sender: TComponent); procedure NMMsg1Status(Sender: TComponent; Status: String); procedure NMMsg1InvalidHost(var handled: Boolean); procedure NMMSGServ1ClientContact(Sender: TObject); procedure NMMSGServ1Status(Sender: TComponent; Status: String); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Panel1Resize(Sender: TObject);begin Edit1.Left := 8; Edit1.Width := Panel1.Width - 16; Label1.Left := 8; Edit2.Left := 67;end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin If Key = #13 then Begin NMMsg1.Host := Edit3.Text; NMMsg1.FromName := Edit2.Text; NMMsg1.PostIt(Edit1.Text); Edit1.Text:=''; End;end;//当服务器接受到消息时触发OnMSG事件,作如下处理procedure TForm1.NMMSGServ1MSG(Sender: TComponent; const sFrom, sMsg: String);begin Memo1.Lines.Add(sFrom+'::'+sMsg); //显示到来的消息 end;procedure TForm1.NMMsg1MessageSent(Sender: TObject);begin StatusBar1.SimpleText:='Message sent!';end;procedure TForm1.NMMsg1Connect(Sender: TObject);begin StatusBar1.SimpleText := 'Connected';end;procedure TForm1.NMMsg1ConnectionFailed(Sender: TObject);begin ShowMessage('Connection Failed');end;procedure TForm1.NMMsg1Disconnect(Sender: TObject);begin StatusBar1.SimpleText := 'Disconnected';end;procedure TForm1.NMMsg1HostResolved(Sender: TComponent);begin StatusBar1.SimpleText := 'Host Resolved';end;procedure TForm1.NMMsg1Status(Sender: TComponent; Status: String);begin If StatusBar1 <> nil then StatusBar1.SimpleText := status;end;procedure TForm1.NMMsg1InvalidHost(var handled: Boolean);var TmpStr: String;begin If InputQuery('Invalid Host!', 'Specify a new host:', TmpStr) then Begin NMMsg1.Host := TmpStr; Handled := TRUE; End;end;procedure TForm1.NMMSGServ1ClientContact(Sender: TObject);//当有客户机连接到本服务器时作如下处理begin NMMsgServ1.ReportLevel := Status_Basic; //控制OnStatus事件和Status属性汇报的细节量为基本信息量 NMMsgServ1.TimeOut := 90000; //超时设置为90秒 StatusBar1.SimpleText := 'Client connected';end;procedure TForm1.NMMSGServ1Status(Sender: TComponent; Status: String);begin If StatusBar1 <> nil then StatusBar1.SimpleText := status;end;end. 搜索一下关于Socket的贴子。就可以解决你的要求 收了呀。.但是很难找到...boytomato(深爱一人叫颖的女孩!) 哥哥..我马上去试试. 结果是...TNMMSG、TNMMSGSERV控件找不到呀//,...HUHU~~~~~~~~...哪儿能找到啊> 看DEMO吧,有CHAT程序的。-还有就是INDY组件,DEMO下有个目录,告诉你哪有它的DEMO下载,很好用的,完全满足需要。 说了半天是没人帮上...失望..对CSDN太失望了.!!1~~结帖吧.. delphi 2007 和delphi 7哪个好用? delphi中两个页面调用问题. 那里有用DELPHI开发的单机板游戏的代码下载 让程序怎么要延时几秒后再执行程序 谁还有古老的borland pascal呢?想下一个! 怪事,是哪里问题?高手是小菜一碟? 在DELPHI中如何使用SQL SERVER的存储函数? 有关于maskedit的问题。 2个表结构字段类型不同连接的问题? 如何调用VXD文件? 我的quickrep空间不能用了,这个是什么原因,把delphi卸载重装还是不行,在线等,急 各位,请教如何取得任意程序窗口的焦点?
Windows, SysUtils, Classes, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, NMMSG, ScktComp, ComCtrls, Psock;
// NMMSG为控件当加入TNMMSG、TNMMSGSERV后Delphi自动加入
type
TForm1 = class(TForm)
Panel1: TPanel;
Memo1: TMemo;
Edit1: TEdit;
NMMsg1: TNMMsg;
NMMSGServ1: TNMMSGServ;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
Edit3: TEdit;
StatusBar1: TStatusBar;
Label3: TLabel;
procedure Panel1Resize(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure NMMSGServ1MSG(Sender: TComponent; const sFrom, sMsg: String);
procedure NMMsg1MessageSent(Sender: TObject);
procedure NMMsg1Connect(Sender: TObject);
procedure NMMsg1ConnectionFailed(Sender: TObject);
procedure NMMsg1Disconnect(Sender: TObject);
procedure NMMsg1HostResolved(Sender: TComponent);
procedure NMMsg1Status(Sender: TComponent; Status: String);
procedure NMMsg1InvalidHost(var handled: Boolean);
procedure NMMSGServ1ClientContact(Sender: TObject);
procedure NMMSGServ1Status(Sender: TComponent; Status: String);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Panel1Resize(Sender: TObject);
begin
Edit1.Left := 8;
Edit1.Width := Panel1.Width - 16;
Label1.Left := 8;
Edit2.Left := 67;
end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If Key = #13 then
Begin
NMMsg1.Host := Edit3.Text;
NMMsg1.FromName := Edit2.Text;
NMMsg1.PostIt(Edit1.Text);
Edit1.Text:='';
End;
end;//当服务器接受到消息时触发OnMSG事件,作如下处理
procedure TForm1.NMMSGServ1MSG(Sender: TComponent; const sFrom,
sMsg: String);
begin
Memo1.Lines.Add(sFrom+'::'+sMsg); //显示到来的消息
end;procedure TForm1.NMMsg1MessageSent(Sender: TObject);
begin
StatusBar1.SimpleText:='Message sent!';
end;procedure TForm1.NMMsg1Connect(Sender: TObject);
begin
StatusBar1.SimpleText := 'Connected';
end;procedure TForm1.NMMsg1ConnectionFailed(Sender: TObject);
begin
ShowMessage('Connection Failed');
end;procedure TForm1.NMMsg1Disconnect(Sender: TObject);
begin
StatusBar1.SimpleText := 'Disconnected';
end;procedure TForm1.NMMsg1HostResolved(Sender: TComponent);
begin
StatusBar1.SimpleText := 'Host Resolved';
end;procedure TForm1.NMMsg1Status(Sender: TComponent; Status: String);
begin
If StatusBar1 <> nil then
StatusBar1.SimpleText := status;
end;procedure TForm1.NMMsg1InvalidHost(var handled: Boolean);
var
TmpStr: String;
begin
If InputQuery('Invalid Host!', 'Specify a new host:', TmpStr) then
Begin
NMMsg1.Host := TmpStr;
Handled := TRUE;
End;
end;procedure TForm1.NMMSGServ1ClientContact(Sender: TObject);
//当有客户机连接到本服务器时作如下处理
begin
NMMsgServ1.ReportLevel := Status_Basic; //控制OnStatus事件和Status属性汇报的细节量为基本信息量
NMMsgServ1.TimeOut := 90000; //超时设置为90秒
StatusBar1.SimpleText := 'Client connected';
end;procedure TForm1.NMMSGServ1Status(Sender: TComponent; Status: String);
begin
If StatusBar1 <> nil then
StatusBar1.SimpleText := status;
end;end.
boytomato(深爱一人叫颖的女孩!) 哥哥..我马上去试试.
TNMMSG、TNMMSGSERV控件找不到呀//,...
HUHU~~~~~~~~...
哪儿能找到啊>
-
还有就是INDY组件,
DEMO下有个目录,告诉你哪有它的DEMO下载,
很好用的,完全满足需要。
失望..
对CSDN太失望了.!!1~~
结帖吧..