您现在的位置:首页 >> 基础算法 >> window基础 >> 内容

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

时间:2011/9/3 15:34:16 点击:

  核心提示:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,...
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, 'integer.num');
end;

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

end.

作者:万一 来源:转载
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 盒子文章(www.2ccc.com) © 2024 版权所有 All Rights Reserved.
  • 沪ICP备05001939号