Delphi 중류 사용 정보 (1) TMemory Stream (메모리 흐름) 으로 시작하기

1850 단어 Delphi
선언:
이른바'흐름'은 데이터나 메모리이다.
흐름 조작을 할 때 우리는 흐름 속의 데이터가 도대체 무엇인지 신경 쓸 필요가 없다.흐름의 크기와 현재의 바늘의 위치만 알면 된다.그래서 흐름은 두 가지 속성만 있다.
Size、Position.
대류 작업은 읽기와 쓰기에 불과하다.그래서 흐르는 가장 중요한 방법은 Read와 Write이다.
많은 컨트롤의 사용에서 주로 LoadFromStream을 사용합니다.쓰기 작업은 주로 SaveToStream 을 사용합니다.
예를 들어 (새 프로젝트를 만들고 두 개의 메모를 추가하고 두 개의 Button을 추가함)


unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;



type

  TForm1 = class(TForm)

    Memo1: TMemo;

    Memo2: TMemo;

    Button1: TButton;

    Button2: TButton;



    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure FormDestroy(Sender: TObject);

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



var

  mStream: TStream; {       }



procedure TForm1.FormCreate(Sender: TObject);

begin

  mStream := TMemoryStream.Create;

  {TStream     ,           ;               }



  Memo1.Lines.Text := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

  {  Memo1     }

end;





procedure TForm1.Button1Click(Sender: TObject);

begin

  Memo1.Lines.SaveToStream(mStream);       {  Memo1         }



  ShowMessage(IntToStr(mStream.Size));     {26,       }

  ShowMessage(IntToStr(mStream.Position)); {26,       }

end;





procedure TForm1.Button2Click(Sender: TObject);

begin

  mStream.Position := 4;               {          }

  Memo2.Lines.LoadFromStream(mStream); {         Memo2}



  {

       Memo2        : EFGHIJKLMNOPQRSTUVWXYZ

       Position   0, Memo2        : ABCDEFGHIJKLMNOPQRSTUVWXYZ

       Position    Size,        26, Memo2        .

  }



end;





procedure TForm1.FormDestroy(Sender: TObject);

begin

  mStream.Free; {    ,             }

end;



end.


 
   

좋은 웹페이지 즐겨찾기