您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 开发专栏 > DELPHI开发 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

用Delphi编写局域网中的聊天程序
2001-03-05· ·Sliver··yesky

上一页  1 2 3 4  下一页


    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地址加入到网友中即可实现实时聊天了,一个属于自己版权的聊天程序,就这样编写成功了。

上一页  1 2 3 4  下一页

■ 相关内容
 用Delphi 显示122种图形特效
 用VB编写接近实际的抽奖程序
 实战Delphi数据网格色彩特效
 金蝶捷报频传 “波导”相中K/3
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!