Unit1.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:2k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit Unit1;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls;
  6. type
  7.   TPersonRec = packed record
  8.     Name: string[40]; //姓名
  9.     BirthDay: TdateTime; //生日
  10.   end;
  11.   TForm1 = class(TForm)
  12.     btnOpenRead: TButton;
  13.     BtnWrite: TButton;
  14.     Memo1: TMemo;
  15.     procedure btnOpenReadClick(Sender: TObject);
  16.     procedure BtnWriteClick(Sender: TObject);
  17.   private
  18.     { Private declarations }
  19.   public
  20.     { Public declarations }
  21.   end;
  22. var
  23.   Form1: TForm1;
  24. implementation
  25. {$R *.dfm}
  26. procedure TForm1.btnOpenReadClick(Sender: TObject);
  27. var
  28.   PersonRec: TPersonRec;
  29.   DataFile: file of TPersonRec;
  30.   i: integer;
  31. begin
  32.   //关联文件
  33.   AssignFile(DataFile, 'PersonFile.dat');
  34.   if not FileExists('PersonFile.dat') then
  35.     raise Exception.Create('personFile.dat不存在');
  36.   //打开文件
  37.   Reset(DataFile);
  38.   Memo1.Lines.Clear;
  39.   try
  40.     i := 1;
  41.     while not Eof(DataFile) do
  42.     begin
  43.       //读到PersonRec记录中
  44.       Read(DataFile, PersonRec);
  45.       Memo1.Lines.Add('******第' + IntToStr(i) + '条记录********');
  46.       Memo1.Lines.Add('姓名: ' + PersonRec.Name);
  47.       Memo1.Lines.Add('生日: ' + DateToStr(PersonRec.BirthDay));
  48.       i := i + 1;
  49.     end;
  50.   finally
  51.     CloseFile(DataFile);
  52.   end;
  53. end;
  54. procedure TForm1.BtnWriteClick(Sender: TObject);
  55. var
  56.   PersonRec: TPersonRec;
  57.   DataFile: file of TPersonRec;
  58. begin
  59.   //关联文件
  60.   AssignFile(DataFile, 'PersonFile.dat');
  61.   //文件存在,就打开,否则创建
  62.   if FileExists('PersonFile.dat') then
  63.     Reset(DataFile)
  64.   else
  65.     Rewrite(DataFile);
  66.   PersonRec.Name := '陈鹏';
  67.   PersonRec.BirthDay := StrtoDate('1980-01-07');
  68.   //移动文件指针到文件尾部
  69.   Seek(DataFile, FileSize(DataFile));
  70.   try
  71.     //将PersonRec记录写入到文件中
  72.     Write(DataFile, PersonRec);
  73.   finally
  74.     CloseFile(DataFile);
  75.   end;
  76. end;
  77. end.