procedure TForm1.Button1Click(Sender: TObject);var
  TempStream : TMemoryStream;
begin
  TempStream := TMemoryStream.Create;  ListBox1.Items.SaveToStream(TempStream);  // write list box contents to the 
                                            // stream
  TempStream.Position := 0;      // reset to the beginning of the stream
  RichEdit1.Lines.LoadFromStream( TempStream); // load stream contents into memorich 
                                               // edit control  TempStream.Free;end;

解决方案 »

  1.   

    Delphi下的demo目录中的udp中就用的了,你看看吧
      

  2.   

         to cszhz(丑小鸭):
         这位大虾好象是从TmemoryStream的帮助文档抄来的吧!
       谢谢phosphor
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      MyStream: TMemoryStream;
      TmpStr: String;
    Begin
      NMUDP1.ReportLevel := Status_Basic;
      NMUDP1.RemoteHost := Edit1.Text;
      NMUDP1.RemotePort := StrToInt(Edit2.Text);
      TmpStr := Edit3.Text;
      MyStream := TMemoryStream.Create;
      try
        MyStream.Write(TmpStr[1], Length(Edit3.Text));
        NMUDP1.SendStream(MyStream);
      finally
        MyStream.Free;
      end;
    end;to phosphor:
    上面这段代码是我从delphi目录下demos\fastnet\udp拷来的,问一下为什么用:
                MyStream.Write(TmpStr[1], Length(Edit3.Text));
    而不用:
                MyStream.Write(TmpStr, Length(Edit3.Text));
    我问它是具体怎么write的?哪位大虾回答,给高分。
      

  4.   

    MyStream.Write(TmpStr[1], Length(Edit3.Text));等效于
    MyStream.Write(PChar(TmpStr)^,Length(Edit3.Text));TmpStr[1]实际是一个指针,指向串起始地址.