本文整理自网络,侵删。
unit frmMain;
interface
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
// 测试数据 TPerson = record Name: string; Age: Integer; end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);var FileStream: TFileStream;
var Person: TPerson;begin try FileStream := TFileStream.Create('Person.txt', fmCreate); // 构造结构体数据 Person.Name := '萧蔷'; Person.Age := 20; // 写出数据 FileStream.Write(Person, sizeof(Person));
finally
FreeAndNil(FileStream); end;end;
procedure TForm1.Button2Click(Sender: TObject);var FileStream: TFileStream;
var Person: TPerson;begin try FileStream := TFileStream.Create('Person.txt', fmOpenRead); // 设置文件指针的位置 FileStream.Position := 0;
// 无法直接读取结构体 // Self.Memo1.Lines.LoadFromFile('E:\Demo\Person.txt'); // Self.Memo1.Lines.LoadFromStream(FileStream);
// 遍历流中的数据(字节) while FileStream.Position < FileStream.Size do begin
FileStream.Read(Person, sizeof(Person));
Self.Memo1.Lines.Add(Person.Name + ',' + Person.Age.ToString); end; finally FreeAndNil(FileStream); end;end;
procedure TForm1.Button3Click(Sender: TObject);var FileStream: TFileStream;begin try FileStream := TFileStream.Create('Memo.txt', fmCreate);
with Self.Memo1 do begin Lines.Add('Hello'); Lines.Add('World'); Lines.Add('期待B站粉丝过万'); end;
FileStream.WriteComponent(Self.Memo1);
finally FreeAndNil(FileStream); end;end;
procedure TForm1.Button4Click(Sender: TObject);var FileStream: TFileStream;begin try FileStream := TFileStream.Create('Memo.txt', fmOpenRead); FileStream.ReadComponent(Self.Memo1); finally FreeAndNil(FileStream); end;
end;
procedure TForm1.Button5Click(Sender: TObject);var FileStream: TFileStream;begin Self.Memo1.Lines.LoadFromFile('demo.txt'); // FileStream := TFileStream.Create('E:\Demo\demo.txt', fmOpenRead); // Self.Memo1.Lines.LoadFromStream(FileStream, TEncoding.utf8); // FreeAndNil(FileStream);end;
end.
相关阅读 >>
Delphi 使用google translate实现tts
更多相关阅读请进入《Delphi》频道 >>