如何写一个程序,启动时登录窗口在主窗口前,主窗口功能不能用,只有当登录成功后,主窗口方可用.还要判断其权限.在线等
解决方案 »
- 找到新工作,以后再不用搞数据库了,散分
- 关于C/S模式的一些疑惑???????????????????????????????????????????
- 100分求救:偶是一菜鸟,现在碰到一个有关字体的问题
- 工作了2个月,突然感到迷茫了~
- 求救:三方控件在98下不能用!
- ***********是男人的就进来看看,不知道不要紧!*********
- 有什么好的下载控件的网站吗?(提供者有分)
- 怎么读出paradox里的数据,把数据写进excel里?
- Rave Designer的启动失败?!
- 在线程中如何接收通过PostThreadMessage()发送的消息?
- 关于文件查找的一个小问题!
- 再问如何备份远程数据库到本地文件?
if 权限不合法 then Exit;
1: 在dpr中修改:
begin
if Login = true then
begin
application.initialize;
application.createform(...);
....
application.run;
end;
end;
2. 在主窗体的OnCreate事件中:
procedure TmainForm.Oncreate(....);
begin
if Not Login(...) then
Halt(1)
else
......
end;
3.将2中的Halt(1)该为Application.terminate,也行,只是有时窗口会闪一下.另外,权限问题,你可以自己设,登陆的是否赋值,在主窗口的oncreat事件中判断一下,在根据权限设置就行了
procedure ...
begin
frmLog := tfrmlog.create(application);
frmlog.showmodal;
if modalresult = true then
begin
//登录成功处理
end;
else
begin
//登录失败处理
end;
end;
然后如果登录窗口的返回值是true,即登录成功则主窗体打开
否则中止程序,或者写你的处理
在dpr中修改:建一个NewFormVar
Formlogin:tformlogin;
begin
Application.Initialize;
Formlogin:=Tformlogin.Create(nil);
Formlogin.ShowModal ;
if Formlogin.loginFlag=true then
Begin
Application.CreateForm(TFormmain, Formmain);
Application.CreateForm(TFormlogin, Formlogin);
Application.CreateForm(TDataModule1, DataModule1);
Application.Run;
end;
End.