书上的一个例子,但无法运行,郁闷!拜托各位给看看
unit main;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls;type
TMainForm = class(TForm)
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
passwordin:boolean;
function password(s1:string;s2:string):boolean;
public
{ Public declarations }
// function password(s1:string;s2:string):boolean;
end;var
MainForm: TMainForm;implementationuses Unit1;{$R *.dfm}
function tmainform.password(s1:string;s2:string):boolean;
var
myfile:file;
rt:boolean;
numread:Integer;
buf1,buf2:string[30];
username:string;
begin
rt:= false;
assignfile(myfile,'system.ini');
reset(myfile,1); //打开系统配置文件
repeat
blockread(myfile,buf1,12,numread); //读用户名
blockread(myfile,buf2,12,numread); //读密码
if(s1= buf1) and(s2= buf2) then //判断是否正确
begin
username:= s1; //给用户名赋值
username:= s2;
result:= true; //置返回值
exit;
end;
until(numread= 0);
closefile(myfile); //关闭文件
passwordin:= rt;
end;procedure TMainForm.FormActivate(Sender: TObject);
var
times,rn:Integer;
s1,s2:string[200];
begin
times:=1;
if login = false then //login变量控制系统登录窗口是否显示
begin
login:= true;
repeat
rn:=PasswordDlg.showmodal; //显示系统登录窗口
if rn = mrok then //检验返回值
begin
s1:= PasswordDlg.ComboBox1.Text; //读取用户名
s2:= PasswordDlg.Password.Text; //读取密码
if Password(s1,s2) then //比较密码(自定义函数)
times:=200
else
begin
times:=times+1;
if times>3 then
close
else
messagedlg('你输入的密码有误,请重新输入!',mtwarning,[mbok],0);
end;
end
else {rn = mrcancel}
begin
times:= 100;
close;
end;
until(times>3);
if PasswordDlg.ComboBox1.Text ='system' then //以下不同用户可见不同的页
mainform.UpdateActions; //激活系统
PageControl1.activepage:= tabsheet1;
end;
if PasswordDlg.ComboBox1.Text= 'renshi' then
begin
mainform.UpdateActions; //激活系统
PageControl1.activepage:= tabsheet1;
tabsheet3.TabVisible:= false;
tabsheet4.TabVisible:= false;
end
else if PasswordDlg.ComboBox1.Text= 'caiwu' then
begin
mainform.UpdateActions; //激活系统
PageControl1.activepage:= tabsheet3;
tabsheet1.TabVisible:= false;
tabsheet2.TabVisible:= false;
end
else if PasswordDlg.ComboBox1.Text= 'guest' then
begin
mainform.UpdateActions; //激活系统
PageControl1.activepage:= tabsheet1;
tabsheet3.TabVisible:= false;
tabsheet4.TabVisible:= false;
tabsheet5.TabVisible:= false;
tabsheet6.TabVisible:= false;
end;
end;end.
提示错误:
[Warning] main.pas(63): Return value of function 'TMainForm.password' might be undefined
[Error] main.pas(71): Undeclared identifier: 'login'
[Fatal Error] kaoqin.dpr(6): Could not compile used unit 'main.pas'
unit main;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls;type
TMainForm = class(TForm)
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
passwordin:boolean;
function password(s1:string;s2:string):boolean;
public
{ Public declarations }
// function password(s1:string;s2:string):boolean;
end;var
MainForm: TMainForm;implementationuses Unit1;{$R *.dfm}
function tmainform.password(s1:string;s2:string):boolean;
var
myfile:file;
rt:boolean;
numread:Integer;
buf1,buf2:string[30];
username:string;
begin
rt:= false;
assignfile(myfile,'system.ini');
reset(myfile,1); //打开系统配置文件
repeat
blockread(myfile,buf1,12,numread); //读用户名
blockread(myfile,buf2,12,numread); //读密码
if(s1= buf1) and(s2= buf2) then //判断是否正确
begin
username:= s1; //给用户名赋值
username:= s2;
result:= true; //置返回值
exit;
end;
until(numread= 0);
closefile(myfile); //关闭文件
passwordin:= rt;
end;procedure TMainForm.FormActivate(Sender: TObject);
var
times,rn:Integer;
s1,s2:string[200];
begin
times:=1;
if login = false then //login变量控制系统登录窗口是否显示
begin
login:= true;
repeat
rn:=PasswordDlg.showmodal; //显示系统登录窗口
if rn = mrok then //检验返回值
begin
s1:= PasswordDlg.ComboBox1.Text; //读取用户名
s2:= PasswordDlg.Password.Text; //读取密码
if Password(s1,s2) then //比较密码(自定义函数)
times:=200
else
begin
times:=times+1;
if times>3 then
close
else
messagedlg('你输入的密码有误,请重新输入!',mtwarning,[mbok],0);
end;
end
else {rn = mrcancel}
begin
times:= 100;
close;
end;
until(times>3);
if PasswordDlg.ComboBox1.Text ='system' then //以下不同用户可见不同的页
mainform.UpdateActions; //激活系统
PageControl1.activepage:= tabsheet1;
end;
if PasswordDlg.ComboBox1.Text= 'renshi' then
begin
mainform.UpdateActions; //激活系统
PageControl1.activepage:= tabsheet1;
tabsheet3.TabVisible:= false;
tabsheet4.TabVisible:= false;
end
else if PasswordDlg.ComboBox1.Text= 'caiwu' then
begin
mainform.UpdateActions; //激活系统
PageControl1.activepage:= tabsheet3;
tabsheet1.TabVisible:= false;
tabsheet2.TabVisible:= false;
end
else if PasswordDlg.ComboBox1.Text= 'guest' then
begin
mainform.UpdateActions; //激活系统
PageControl1.activepage:= tabsheet1;
tabsheet3.TabVisible:= false;
tabsheet4.TabVisible:= false;
tabsheet5.TabVisible:= false;
tabsheet6.TabVisible:= false;
end;
end;end.
提示错误:
[Warning] main.pas(63): Return value of function 'TMainForm.password' might be undefined
[Error] main.pas(71): Undeclared identifier: 'login'
[Fatal Error] kaoqin.dpr(6): Could not compile used unit 'main.pas'
解决方案 »
- 一个串口通讯的问题,求解
- 断点调试问题
- 我想用报表形式打印listview中的内容,我用的打印组件是fastreport?请问怎么把listview中的内容直接输入fastreport打印?
- form1给form2中的stringGrid传值得问题
- 有关客户端连接服务器的问题,困扰我好久了,希望高手帮下忙快死人了,叫甲方逼死了快.
- 请教:忍者的英文怎么拼写?谢谢
- 怎样判别StringGrid1 的么个单元格被选种,在线等待!
- 如何實現在報表中把一個表的數據橫排
- 大富翁怎么上不去了?
- 为什么ActiveForm在网业中不显示
- 求助:WorkBooks[2].close很慢
- 三层 xp sp2 怎么打开 211 端口
login : boolean;
2、就是login没有定义 这个变量从哪里来的