贴出代码找问题 为什么不能定位到某条记录的数据!!!

skying1 2005-03-24 09:43:37
在下面的代码中的:
MainForm.StatusBar1.Panels[1].Text := '操作员:' + MainForm.auser.name;//为什么不能在状态栏显示用户名字,好象是没有定位到 那条记录 请高手指点。
在住窗口中 有用户的信息记录类型,

procedure TLoginForm.FormShow(Sender: TObject);
begin
Ftimes := 0; //记录密码输入次数为0
check := false;
User.SetFocus; //用户名选择获得焦点
PassWord.text := ''; //清空密码输入
user.DropDown; //为了方便用户选择,打开下拉列表
end;


unit TloginFormUnit;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, ExtCtrls;

type
TLoginForm = class(TForm)
btok: TBitBtn;
btno: TBitBtn;
password: TEdit;
Label2: TLabel;
Label1: TLabel;
user: TDBLookupComboBox;
Panel1: TPanel;
Panel2: TPanel;
procedure FormShow(Sender: TObject);
procedure btokClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure btnoClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
check: boolean; //检查密码输入是否正确
Ftimes: integer; //密码输入次数计数
{ Private declarations }
public
procedure iniapp(qx: int64); //项目初始化
{ Public declarations }
end;

var
LoginForm: TLoginForm;

implementation

uses Udm, Umain;

{$R *.dfm}

procedure TLoginForm.FormShow(Sender: TObject);
begin
Ftimes := 0; //记录密码输入次数为0
check := false;
User.SetFocus; //用户名选择获得焦点
PassWord.text := ''; //清空密码输入
user.DropDown; //为了方便用户选择,打开下拉列表
end;

procedure TLoginForm.btokClick(Sender: TObject);
var mm: string; qx: int64;
begin
Ftimes := Ftimes + 1; //每单击一次‘确定’按钮,密码输入次数加1
mm := trim(adodm.Tuser.Fieldbyname('密码').AsString); //取得该用户在数据库中的密码
qx := adodm.Tuser.FieldValues['用户权限']; //取得该用户在数据库中的操作权限
if (mm = trim(PassWord.text)) and (qx > 1000000000) then
begin

MainForm.auser.name := adodm.Tuser.FieldValues['操作员'];
MainForm.auser.qx := StrToint64(adodm.Tuser.FieldValues['用户权限']);
MainForm.auser.id := StrToInt64(adodm.Tuser.fieldvalues['用户编号']);
//记录用户的登陆时间和用户名
adodm.toper.Open;
adodm.toper.append;
adodm.toper.FieldByName('登录时间').AsDateTime := now;
adodm.toper.FieldByName('用户编号').AsVariant := MainForm.auser.id;
adodm.toper.Post;
adodm.toper.Last;
MainForm.operid := adodm.toper.FieldByName('操作员编号').AsVariant;
iniapp(qx); //初始化主窗体属性
end
else
if Ftimes < 3 then
if mm <> trim(PassWord.Text) then
begin
showmessage('密码不对,请重新录入!');
PassWord.SetFocus;
exit;
end else
begin
showmessage('你已经输入三次错误密码,请与管理员联系!');
User.SetFocus;
exit;
end
else
begin
showmessage('对不起,你没有通过口令认证!');
application.Terminate;
end;
end;

procedure TLoginForm.iniapp(qx: int64);
//项目初始化,对于不同的操作人员,赋予不同的操作权限
var i, j: integer;
begin
Application.CreateForm(TmainForm, MainForm);
for i := 0 to MainForm.MainMenu1.items.Count - 1 do
for j := 0 to MainForm.MainMenu1.Items[i].Count - 1 do
MainForm.MainMenu1.items[i].Items[j].Enabled := false;
MainForm.TSGLBT.Enabled := False;
MainForm.BXGLBT.Enabled := False;
MainForm.JFDJBT.Enabled := False;
MainForm.ZHZLBT.Enabled := False;
MainForm.BACKDATABT.Enabled := False;
//使所有的菜单为不可用
qx := qx xor 1234567890;
qx := qx shr 10;
for i := 0 to 6 do //共有7 种权限
if ((1 shl i) and qx) <> 0 then
case i of
0: begin
MainForm.TSGL.Enabled := True;
MainForm.BXGL.Enabled := True;
MainForm.TSGLBT.Enabled := True;
MainForm.BXGLBT.Enabled := True;
end;
1: begin
MainForm.TCGL.Enabled := True;
MainForm.WYJFGL.Enabled := True;
MainForm.YFKGL.Enabled := True;
MainForm.JFDJBT.Enabled := True;
end;
2: begin
MainForm.TSBB.Enabled := True;
MainForm.BXBB.Enabled := True;
end;
3: begin
MainForm.SFTJBB.Enabled := True;
MainForm.SFGL.Enabled := True;
end;
4: begin
MainForm.FXZLLR.Enabled := True;
MainForm.ZHZLLR.Enabled := True;
MainForm.TCCCWLR.Enabled := True;

end;
5: begin
MainForm.ZHZLBT.Enabled := True;
end;
6: begin
MainForm.UserManage.Enabled := True;
MainForm.BACKDATA.Enabled := True;
MainForm.BACKDATABT.Enabled := True;
end;

end;
MainForm.CHANGEPASSWORD.Enabled := true;
MainForm.ReLogin.Enabled := true;
MainForm.ExitMenu.Enabled := true;
MainForm.SystemHelp.Enabled := true;
MainForm.About.Enabled := true;

check := true;
MainForm.StatusBar1.Panels[1].Text := '操作员:' + MainForm.auser.name;//为什么不能在状态栏显示,好象是没有定位到 那条记录 请高手指点。
MainForm.StatusBar1.Panels[2].Text := '演示软件';
LoginForm.Free;
MainForm.ShowModal;
end;

procedure TLoginForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if not check then
btnoClick();
else canclose := true;
end;

procedure TLoginForm.btnoClick(Sender: TObject);
begin
Application.Terminate;
end;

procedure TLoginForm.FormCreate(Sender: TObject);
begin
//Application.CreateForm(TmainForm,MainForm);
end;

end.
...全文
33 点赞 收藏 回复
写回复
回复

还没有回复,快来抢沙发~

发动态
发帖子
数据库相关
创建于2007-08-02

1209

社区成员

8.8w+

社区内容

Delphi 数据库相关
社区公告
暂无公告