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:temptest.num');
end;
{讀取測試}
procedure TForm1.Button2Click(Sender: TObject);
var
IntArr: TIntArray;
n: Integer;
begin
FileToIntArr('c:temptest.num', IntArr);
for n in IntArr do ShowMessage(IntToStr(n));
end;
end.