科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用Delphi编写局域网中的聊天程序

用Delphi编写局域网中的聊天程序

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Internet盛行的今天,网上聊天已成为一种时尚。同时,各单位已建成了自己的局域网;能否在局域网上实现聊天呢?可以,网上到处都有这种工具。当然,我们可以拥有自己版权的聊天工具......

作者:Sliver 来源:yesky 2007年11月1日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
procedure TForm1.NMUDP1DataReceived(Sender: TComponent;

    NumberBytes: Integer; FromIP: String; Port: Integer);

    var

     MyStream: TMemoryStream;

     TmpStr: String;

    begin

      MyStream := TMemoryStream.Create;

      try

      NMUDP1.ReadStream(MyStream);

      SetLength(TmpStr,NumberBytes);

      MyStream.Read(TmpStr[1],NumberBytes);

      Memo1.Lines.Add(TmpStr); file://显示对话的内容.

      finally

      MyStream.Free;

     end;

    end;

   procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

   var

    MyStream: TMemoryStream;

    TmpStr: String;

    i:integer;

   Begin

    if (key=#13) and (Edit1.Text<>'') then file://如果所说的内容不为空,且最后一个按键为"Enter",则发送。

     begin

      NMUDP1.ReportLevel := Status_Basic;

      NMUDP1.RemotePort :=8888;

      if ListBox1.Items[ListBox1.ItemIndex]=ComputerName then

        Edit1.Text:=ComputerName+'自言自语道:'+Edit1.Text

      else

        Edit1.Text:=ComputerName+'对'+ListBox1.Items[listbox1.itemindex]+'说:'+Edit1.Text;

        TmpStr :=Edit1.text;

        MyStream := TMemoryStream.Create;

        try

         MyStream.Write(TmpStr[1], Length(Edit1.Text));

         if ListBox1.ItemIndex=0 then

          begin

           for i:=1 to ListBox1.Items.Count-1 do

            begin

             NMUDP1.RemoteHost :=ListBox1.Items[i];

             NMUDP1.SendStream(MyStream);

            end;

          end

          else

           begin

            NMUDP1.RemoteHost :=ListBox1.Items[ListBox1.itemindex];

            NMUDP1.SendStream(MyStream);

           end;

           finally

           MyStream.Free;

           end;

           Edit1.Text:='';

           edit1.SetFocus;

          end else

           Edit1.SetFocus;

          end;

    procedure TForm1.Button1Click(Sender: TObject);

    var

     InputString:String;

     begin file://增加网友,输入的可以是IP地址或计算机名称。

     InputString:=InputBox('增加人员', 'IP地址或计算机名', '');

     if Inputstring<>'' then ListBox1.Items.Add(Inputstring);

      ListBox1.ItemIndex:=0;

     end;

  procedure TForm1.Button2Click(Sender: TObject);

   begin file://删除当前选中的网友,但"大家"不能被删除.

    if ListBox1.ItemIndex<>0 then ListBox1.Items.Delete(ListBox1.ItemIndex);

   end;

  end.


  这样,一个简单的聊天工具就做好了,只要双方同时运行本程序,且将对方的计算机名称或IP地址加入到网友中即可实现实时聊天了,一个属于自己版权的聊天程序,就这样编写成功了。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章