看书上的例子,但是有地方看不懂。
procedure Tmainform.FormActivate(Sender: TObject);
var
times,rn:integer;
s1,s2:string[200];
username,userpass:string[200];
myfile:file;
rt:boolean;
numread:integer;
buf1,buf2:string[200];
result:boolean;
begin
times:=1;
if login=false then //说用来控制登陆窗口是否显示
begin
login:=true;
repeat
rn:=passwordDlg.ShowModal;
if rn=mrok then
begin
s1:=passwordDlg.ComboBox1.Text;
s2:=passwordDlg.Edit2.Text;
begin
rt:=false;
result:=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;
userpass:=s2;
result:=true;
exit;
end;
until(numread=0);
closefile(myfile);
// password:=rt;
end;
if result=true 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
begin
mainform.UpdateActions;
pagecontrol1.ActivePage:=tabsheet1;
end
else 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;
end.
说用login变量来控制登陆窗口是否显示,怎么做到的?书上没有写login定义
procedure Tmainform.FormActivate(Sender: TObject);
var
times,rn:integer;
s1,s2:string[200];
username,userpass:string[200];
myfile:file;
rt:boolean;
numread:integer;
buf1,buf2:string[200];
result:boolean;
begin
times:=1;
if login=false then //说用来控制登陆窗口是否显示
begin
login:=true;
repeat
rn:=passwordDlg.ShowModal;
if rn=mrok then
begin
s1:=passwordDlg.ComboBox1.Text;
s2:=passwordDlg.Edit2.Text;
begin
rt:=false;
result:=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;
userpass:=s2;
result:=true;
exit;
end;
until(numread=0);
closefile(myfile);
// password:=rt;
end;
if result=true 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
begin
mainform.UpdateActions;
pagecontrol1.ActivePage:=tabsheet1;
end
else 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;
end.
说用login变量来控制登陆窗口是否显示,怎么做到的?书上没有写login定义
你可以按住Ctrl然后点击Login,就会显示在哪里定义的了!
不好意思,我刚接触
就是了