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.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Delphi 목마 자기 복제법 구현목마가 자기 복사를 실현하는 원리는 프로그램이 실행될 때 먼저 자신이 특정 디렉터리에 있는지 확인하고 그렇지 않으면 계속 실행하며 그렇지 않으면 특정 디렉터리에 복사한 다음에 새로운 프로그램을 실행하고 낡은 프로그램...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.