delphi TMemoryStream 和TStringStream 转换

 1 procedure TFormTestRichText.btn1Click(Sender: TObject);
 2 begin
 3   //cxrchdt1.Lines.SaveToFile('d:\test.txt');
 4   mStream := TMemoryStream.Create;
 5   cxrchdt1.Lines.SaveToStream(mStream);
 6   ShowMessage(IntToStr(mStream.Size));
 7 end;
 8 
 9 procedure TFormTestRichText.btn2Click(Sender: TObject);
10 var
11   c: Char;
12   s1, s2: string;
13   vMemoryStream: TMemoryStream;
14 begin
15  //cxrchdt1.Lines.LoadFromFile('d:\test.txt');
16   cxrchdt1.Lines.LoadFromStream(mStream);
17 
18   s1 := '';
19   mStream.Position := 0;                       {指针到开始}
20   while mStream.Position < mStream.Size do          {循环读出}
21   begin
22     mStream.Read(c, 1);                         {每读出一个字节, 指针会自动移到新的位置}
23     s1 := s1 + c + '';                   {用文本记录}
24    // s2 := s2 + IntToHex(Byte(c),2) + ' '; {用两位数的十六进制记录}
25   end;
26 
27   vMemoryStream := TStringStream.create(s1);
28   cxrchdt1.Lines.LoadFromStream(vMemoryStream);
29 end;