关于MemoryStream的有关问题,
关于MemoryStream的问题,在线等!
假设窗口上有 Edit1 , Edit2
Edit1.text := 'abcdefg ' ;
我想把Edit1.text的内容读到MemoryStream中,然后再把MemoryStream中的内容写到Edit2中,怎么做!
procedure TForm1.Button1Click(Sender: TObject);
var
MyStream : TMemoryStream ;
str : PChar ;
begin
str := PChar(Trim(Edit1.Text)) ; //读Edit1的内容
MyStream := TMemoryStream.Create ;
MyStream.WriteBuffer(PChar(str)^,Length(str)); //读到MemoryStream中
MyStream.ReadBuffer(buf^,Length(str)-1) ;
Edit2.Text := Char(buf) ;
MyStream.Free ;
end;
上面的代码不行,怎么改?
谢谢哥哥姐姐了
^_^
------解决方案--------------------
這麼做.你少了句MyStream.Position := 0 ;
var
MyStream : TMemoryStream ;
str : PChar ;
buf: string ;
l :Integer ;
begin
str := PChar(Trim(Edit1.Text)) ;
MyStream := TMemoryStream.Create ;
l := strlen(str) ;
MyStream.WriteBuffer(PChar(str)^, l);
setlength(buf, l) ;
MyStream.Position := 0 ;
MyStream.ReadBuffer( buf[1] , l ) ;
Edit2.Text := buf ;
MyStream.Free ;
假设窗口上有 Edit1 , Edit2
Edit1.text := 'abcdefg ' ;
我想把Edit1.text的内容读到MemoryStream中,然后再把MemoryStream中的内容写到Edit2中,怎么做!
procedure TForm1.Button1Click(Sender: TObject);
var
MyStream : TMemoryStream ;
str : PChar ;
begin
str := PChar(Trim(Edit1.Text)) ; //读Edit1的内容
MyStream := TMemoryStream.Create ;
MyStream.WriteBuffer(PChar(str)^,Length(str)); //读到MemoryStream中
MyStream.ReadBuffer(buf^,Length(str)-1) ;
Edit2.Text := Char(buf) ;
MyStream.Free ;
end;
上面的代码不行,怎么改?
谢谢哥哥姐姐了
^_^
------解决方案--------------------
這麼做.你少了句MyStream.Position := 0 ;
var
MyStream : TMemoryStream ;
str : PChar ;
buf: string ;
l :Integer ;
begin
str := PChar(Trim(Edit1.Text)) ;
MyStream := TMemoryStream.Create ;
l := strlen(str) ;
MyStream.WriteBuffer(PChar(str)^, l);
setlength(buf, l) ;
MyStream.Position := 0 ;
MyStream.ReadBuffer( buf[1] , l ) ;
Edit2.Text := buf ;
MyStream.Free ;