先说明一下情况:
比如要传送memo里的文本,长度大于255,
于是用一个数组来存放:array [0..1000] of char
那么如何将memo.text存入array [0..1000] of char呢?自己是这样想的:先将memo.text存入memorystream,再由memorystream存入array [0..1000] of char,
但是怎样将memorystream存入array [0..1000] of char呢?自己又不懂了。晕,好笨啊,又要高手指点了,感觉不尽。

解决方案 »

  1.   

    都一样啊
    TStream对象有Read/ReadBuffer两个用于读数据的过程,直接读不就完了
      

  2.   


    var
      Buffer : array of Pansichar; 
      fs :  TfileStream;fs := Tfilestream.create('c:\1.dat',fsOpenReadWRITE);
    fs.position := 0;
    getMem(buffer,fs.size);
    fs.Writebuffer(buffer,buffer.size); 小文件这样
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      ac:array[0..1000] of char;
    begin
      //将Memo1里的文本存入字符串数组
      Move(PChar(Memo1.Text)^,ac,1000);
    end;
      

  4.   

    MemoryStream.Read(...

    MoveMemory(...
      

  5.   

    通过MemoryStream将Memo里的文本写入字符串数组里
    procedure TForm1.Button1Click(Sender: TObject);
    var
      MS:TMemoryStream;
      ac:array[0..1000] of char;
      iCount:Integer;
    begin
      MS:=TMemoryStream.Create;
      try
        Memo1.Lines.SaveToStream(MS);
        FillChar(ac,1000,#0);
        iCount:=1000;
        if MS.Size<1000 then
          iCount:=MS.Size;
        Move(PChar(MS.Memory)^,ac,iCount);
        Memo2.Text:=ac;
      finally
        MS.Free;
      end;
    end;