unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,persrec, ComCtrls;type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Label4: TLabel;
Edit2: TEdit;
Label5: TLabel;
Edit3: TEdit;
Label6: TLabel;
Label7: TLabel;
Edit4: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
DateTimePicker1: TDateTimePicker;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender:TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
personrec:Tpersonrec;
recordstream:Trecordstream;
procedure showcurrentrecord;
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
if fileexists(filename) then // 在此报错!!!!!!!!!!!!!
recordstream:=Trecordstream.Create(filename,fmopenreadwrite)
else
recordstream:=Trecordstream.Create(filename,fmcreate);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
recordstream.free
end;procedure TForm1.ShowCurrentRecord;
begin
recordstream.readrec(personrec);
with personrec do
begin
edit1.Text:=name;
edit2.Text:=id;
edit3.Text:=sex;
datetimepicker1.Date:=birthday;
edit4.Text:=intostr(age);
end;
label1.Caption:=inttostr(recordstream.currec);
label2.Caption:=inttostr(recordstream.numrecs);
end;procedure TForm1.FormShow(Sender:TObject);
begin
if recordstream.numrecs<>0then
showcurrentrecord;
end;procedure TForm1.Button4Click(Sender: TObject);
begin
with personrec do
begin
name:=edit1.Text;
id:=edit2.Text;
sex:=edit3.Text;
birthday:=datetimepicker1.Date;
age:=strtoint(edit4.Text);
end;
recordstream.appendrec(personrec);
showcurrentrecord;
end;procedure TForm1.Button5Click(Sender: TObject);
begin
with personrec do
begin
name:=edit1.Text;
id:=edit2.Text;
sex:=edit3.Text;
birthday:=datetimepicker1.Date;
age:=strtoint(edit4.Text);
end;
recordstream.writerec(personrec);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if recordstream.numrecs<>0 then
begin
recordstream.first;
showcurrentrecord;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
if recordstream.numrecs<>0 then
begin
recordstream.nextrec;
showcurrentrecord;
end;
end;procedure TForm1.Button7Click(Sender: TObject);
begin
if recordstream.numrecs<>0 then
begin
recordstream.last;
showcurrentrecord;
end;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
if recordstream.numrecs<>0 then
begin
recordstream.previousrec;
showcurrentrecord;
end;
end;procedure TForm1.Button6Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
end;end.错误信息:[错误] Unit1.pas(58): Undeclared identifier: 'filename'我认为应该不是函数问题,是不是没有指明“filename”的路径,还是其他什么原因,请高手指点。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,persrec, ComCtrls;type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Label4: TLabel;
Edit2: TEdit;
Label5: TLabel;
Edit3: TEdit;
Label6: TLabel;
Label7: TLabel;
Edit4: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
DateTimePicker1: TDateTimePicker;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender:TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
personrec:Tpersonrec;
recordstream:Trecordstream;
procedure showcurrentrecord;
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
if fileexists(filename) then // 在此报错!!!!!!!!!!!!!
recordstream:=Trecordstream.Create(filename,fmopenreadwrite)
else
recordstream:=Trecordstream.Create(filename,fmcreate);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
recordstream.free
end;procedure TForm1.ShowCurrentRecord;
begin
recordstream.readrec(personrec);
with personrec do
begin
edit1.Text:=name;
edit2.Text:=id;
edit3.Text:=sex;
datetimepicker1.Date:=birthday;
edit4.Text:=intostr(age);
end;
label1.Caption:=inttostr(recordstream.currec);
label2.Caption:=inttostr(recordstream.numrecs);
end;procedure TForm1.FormShow(Sender:TObject);
begin
if recordstream.numrecs<>0then
showcurrentrecord;
end;procedure TForm1.Button4Click(Sender: TObject);
begin
with personrec do
begin
name:=edit1.Text;
id:=edit2.Text;
sex:=edit3.Text;
birthday:=datetimepicker1.Date;
age:=strtoint(edit4.Text);
end;
recordstream.appendrec(personrec);
showcurrentrecord;
end;procedure TForm1.Button5Click(Sender: TObject);
begin
with personrec do
begin
name:=edit1.Text;
id:=edit2.Text;
sex:=edit3.Text;
birthday:=datetimepicker1.Date;
age:=strtoint(edit4.Text);
end;
recordstream.writerec(personrec);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if recordstream.numrecs<>0 then
begin
recordstream.first;
showcurrentrecord;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
if recordstream.numrecs<>0 then
begin
recordstream.nextrec;
showcurrentrecord;
end;
end;procedure TForm1.Button7Click(Sender: TObject);
begin
if recordstream.numrecs<>0 then
begin
recordstream.last;
showcurrentrecord;
end;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
if recordstream.numrecs<>0 then
begin
recordstream.previousrec;
showcurrentrecord;
end;
end;procedure TForm1.Button6Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
end;end.错误信息:[错误] Unit1.pas(58): Undeclared identifier: 'filename'我认为应该不是函数问题,是不是没有指明“filename”的路径,还是其他什么原因,请高手指点。
解决方案 »
- dbgrideh与dbnavigator通过同一个datasource相连,在dbgrideh已加入一行的情况下,点dbnavigator的+号按钮,为什么是
- Delphi写DLL给Asp.net(C#)用
- 如何用PING测试一个网段的IP的情况
- WAP浏览器
- 请问:在数据的插入,修改等操作,怎么判断数据的正确性
- 有关动态菜单的问题
- D6 编译器的一个问题
- 高分奉送:做邮件接收程序时,如何根据邮件信息来判断那个邮件是我没有下载过的?????
- 十岁,二十岁,三十岁的男人
- API 函数WSAWaitForMultipleEvents在哪个.PAS文件中声明
- 如何利用动态连接库(dll)进行读写.ini文件的操作
- 今儿过年,散分同乐,恭喜发财,财运滚滚
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
...
end;var
Form1: TForm1;
filename: string; //这里增加一个声明implementation
...
注意创建Tform1的实例前,应该先设置filename的值
无语了失声痛哭了