您的位置:首页 > 其它

把 Integer 数组保存到文件、并读取

2009-04-14 20:40 351 查看
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

type
TIntArray = array of Integer;

{把 Integer 数组写入文件的函数}
function IntArrToFile(ns: TIntArray; FileName: string): Boolean;
var
IntFile: file of Integer;
n: Integer;
begin
try
AssignFile(IntFile, FileName);
if FileExists(FileName) then Reset(IntFile) else Rewrite(IntFile);
Seek(IntFile, FileSize(IntFile));
for n in ns do Write(IntFile, n);
Result := True;
finally
CloseFile(IntFile);
end;
end;

{读取的函数}
function FileToIntArr(FileName: string; var ns: TIntArray): Integer;
var
IntFile: file of Integer;
begin
if not FileExists(FileName) then Exit(0);
AssignFile(IntFile, FileName);
Reset(IntFile);

while not Eof(IntFile) do
begin
SetLength(ns, Length(ns)+1);
Read(IntFile, ns[High(ns)]);
end;

CloseFile(IntFile);
Result := Length(ns);
end;

{写入测试}
procedure TForm1.Button1Click(Sender: TObject);
var
IntArr: TIntArray;
begin
SetLength(IntArr, 3);
IntArr[0] := 111;
IntArr[1] := 222;
IntArr[2] := 333;

IntArrToFile(IntArr, 'c:\temp\test.num');
end;

{读取测试}
procedure TForm1.Button2Click(Sender: TObject);
var
IntArr: TIntArray;
n: Integer;
begin
FileToIntArr('c:\temp\test.num', IntArr);
for n in IntArr do ShowMessage(IntToStr(n));
end;

end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: