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;
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;
这位大虾好象是从TmemoryStream的帮助文档抄来的吧!
谢谢phosphor
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的?哪位大虾回答,给高分。
MyStream.Write(PChar(TmpStr)^,Length(Edit3.Text));TmpStr[1]实际是一个指针,指向串起始地址.