📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
Label6: TLabel;
Edit6: TEdit;
Label7: TLabel;
Edit7: TEdit;
Label8: TLabel;
Edit8: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
type
Student= record //定询存放学生信息的记录型
No:String[10];
Name: string[10];
Age:integer;
Sex:String[2];
English:Real;
Math:Real;
Chinese:Real;
Physics:Real;
Aver:Real;
end;
StudentFile = file of Student; //定义记录文件类型
var
VFStudent:StudentFile; //定义文件类型变量
Stu:Student; //定义记录型变量
CurRecNo:Integer; //该变量用来记录当前记录号
{$R *.dfm}
Procedure EditClear(); //清除各文本框中的内容
begin
Form1.Edit1.text:='';
Form1.Edit2.text:='';
Form1.Edit3.text:='';
Form1.Edit4.text:='';
Form1.Edit5.text:='';
Form1.Edit6.text:='';
Form1.Edit7.text:='';
Form1.Edit8.text:='';
end;
Procedure EditReadOnly(); //使各文本框只能读
begin
Form1.Edit1.ReadOnly:=True;
Form1.Edit2.ReadOnly:=True;
Form1.Edit3.ReadOnly:=True;
Form1.Edit4.ReadOnly:=True;
Form1.Edit5.ReadOnly:=True;
Form1.Edit6.ReadOnly:=True;
Form1.Edit7.ReadOnly:=True;
Form1.Edit8.ReadOnly:=True;
end;
Procedure EditReadWrite(); //使各文本框可读可写
begin
Form1.Edit1.ReadOnly:=False;
Form1.Edit2.ReadOnly:=False;
Form1.Edit3.ReadOnly:=False;
Form1.Edit4.ReadOnly:=False;
Form1.Edit5.ReadOnly:=False;
Form1.Edit6.ReadOnly:=False;
Form1.Edit7.ReadOnly:=False;
Form1.Edit8.ReadOnly:=False;
end;
procedure DispRecord(StuRec:Student); //把记录型变量StuRec各分量的值显示出来
begin
Form1.Edit1.Text :=StuRec.No ;
Form1.Edit2.Text :=StuRec.Name;
Form1.Edit3.Text :=inttostr(StuRec.Age) ;
Form1.Edit4.Text :=StuRec.Sex;
Form1.Edit5.Text :=floattostr(StuRec.English ) ;
Form1.Edit6.Text :=floattostr(StuRec.Math) ;
Form1.Edit7.Text :=floattostr(StuRec.Chinese) ;
Form1.Edit8.Text :=floattostr(StuRec.Physics) ;
end;
procedure SetRecord(Var StuRec:Student); //把编辑框中的内容存放到记录型变量StuRec中
begin
StuRec.No :=Form1.Edit1.Text ;
StuRec.Name:=Form1.Edit2.Text ;
StuRec.Age:=strtoint(Form1.Edit3.Text) ;
StuRec.Sex:=Form1.Edit4.Text ;
StuRec.English:= strtofloat(Form1.Edit5.Text) ;
StuRec.Math:=Strtofloat(Form1.Edit6.Text) ;
StuRec.Chinese:=Strtofloat(Form1.Edit7.Text) ;
StuRec.Physics:=Strtofloat(Form1.Edit8.Text) ;
end;
procedure TForm1.FormCreate(Sender: TObject);
Var
CurDir:String;
StuFilename:String;
M:integer;
begin
getdir(0,CurDir);
StuFileName:=CurDir+'\Student.dat';
AssignFile(VFStudent,StuFileName);
If NOT FileExists(StuFileName) then
ReWrite(VFStudent)
Else
Reset(VFStudent);
If Eof(VFStudent) then
EditClear
else
begin
M:=filesize(VFStudent); //得到记录数
if m=0 then //如果文件为空
EditClear //清除编辑框
else
begin
seek(VFStudent,M-1); //定位到最后一条记录
Read(VFStudent,stu);//读取最后一条记录
DispRecord(stu); //显示该记录的值
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Enabled :=False; //使录入按钮不可用
Button2.Enabled :=True; //使确定按钮可用
Button3.Enabled:=True; //使取消按钮可用
EditClear; //清除编辑框的内容
EditReadWrite();//使编辑框可读可写
end;
procedure TForm1.Button2Click(Sender: TObject);
var
M:integer;
begin
Button1.Enabled :=True; //使录入按钮可用
Button2.Enabled :=False; //使确定按钮不可用
Button3.Enabled:=False; //使取消按钮不可用
EditReadOnly;//使编辑框只读;
M:=filesize(VFStudent); //求得记录数
seek(VFStudent,M); //定位到文件尾
SetRecord(stu); //把输入的数据写得记录变量中去
Write(VFStudent,stu); //把记录写到文件中去
end;
procedure TForm1.Button3Click(Sender: TObject);
Var
M:integer;
begin
Button1.Enabled :=True; //使录入按钮可用
Button2.Enabled :=False; //使确定按钮不可用
Button3.Enabled:=False; //使取消按钮不可用
EditReadOnly;//使编辑框只读;
M:=filesize(VFStudent); //得到记录数
if m=0 then //如果文件为空
EditClear //清除编辑框
else
begin
seek(VFStudent,M-1); //定位到最后一条记录
Read(VFStudent,stu);//读取最后一条记录
DispRecord(stu); //显示该记录的值
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
CloseFile(VFStudent);//关闭文件
Application.Terminate ;//程序结束
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -