怎样实现用户登录
我想做一个系统,要通过用户登录来判断用户是否合法,后根据权限进入相应窗口。
可就是不知道该怎样做,请个为高手帮帮忙,最好能给一个实例。
问题点数:20、回复次数:3Top
1 楼hellolongbin(一个人(自从扩充话题改版,再也不去灌水乐园了))回复于 2005-11-10 16:17:13 得分 0
第一关就过不去,我怀疑你这个“系统”能不能运行起来……
关于登陆窗体的话题讨论的太多太多了,去搜一下以前的贴子吧
发贴准则:
发帖咨询问题前,建议你搜索,看是不是已经有人解决了这个问题。
全文搜索 高级搜索 搜索建议
发表问题前,建议搜索已有问题:http://search.csdn.net/
Top
2 楼oliver007(憨豆先生)回复于 2005-11-10 16:58:18 得分 0
我搜了,没找到,以前用asp时,整个过程都可以用代码编写来完成,可在delphi里就好象不一样,比如:在asp里用ADO连接数据库,DELPHI里也是用ADO,但在asp里我可以通过调用方法来执行编写的sql和进行一些操作,可在DELPHI里好象它们被封装在了控件里,不知道要怎么应用它们,希望各位DELPHI高手能赐教.Top
3 楼yanhuizen(星河谷)回复于 2005-11-10 17:03:37 得分 20
用模式窗体做
procedure TfrmLogin.Button2Click(Sender: TObject);
begin
ModalResult:=mrCancel;
end;
procedure TfrmLogin.Button1Click(Sender: TObject);
var
sUserName,sPWD:string;
begin
if times<=0 then
if Messagebox(handle,'你已尝试三次不成功了!请查证密码无误再试'+#13+#13+'程序退出','警告!',MB_OK+MB_ICONINFORMATION)=mrOK then
application.Terminate;
if (wwDBLcbUser.Text<>'') then
begin
times:=times-1;
sUserName:=dmClient.dsetUser.fieldByName('fName').AsString;
sPWD:=dmClient.dsetUser.fieldByName('fPWD').AsString;
if edtPWD.Text=sPWD then
begin
{ TODO : 设置全局变量信息 }
G_iUserID:=dmClient.dsetUser.fieldByName('fID').AsInteger;
G_sUserCode:=dmClient.dsetUser.fieldByName('fCode').AsString;
G_sUserName:=sUserName;
G_bAdmin:=dmClient.dsetUser.FieldByName('fFlag').AsBoolean;
G_SPWD:=sPWD;
{ TODO : 主窗体状态栏 }
frmMain.RzStatusPane3.Caption:='登陆用户: '+G_sUserName;
{ TODO : 取得权限集 }
if Not G_bAdmin then
With dmClient.spUserRight do
begin
parameters.ParamValues['@UserID']:=G_iUserID;
if Active then Requery else Open;
end;
ModalResult:=mrOk;
end
else
showmessage('密码验证失败,请输入正确的密码!');
edtPWD.Text:='';
edtPWD.SetFocus;
end
else
begin
showmessage('请先选择用户登陆!');
wwDBLcbUser.SetFocus;
end;
end;Top




