📄 ulogin.pas
字号:
unit ulogin;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Db, DBTables, Mask,DBCtrls, ExtCtrls, ADODB,Registry,
ComCtrls, DBGridEh;
type
Tfrmlogin = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Image1: TImage;
ADOQpass: TADOQuery;
ADOQusers: TADOQuery;
Panel2: TPanel;
Label2: TLabel;
Label5: TLabel;
Label4: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
Label6: TLabel;
DateTimePicker1: TDateTimePicker;
Label1: TLabel;
Label3: TLabel;
Edit1: TMaskEdit;
ADOQztcode: TADOQuery;
DSztcode: TDataSource;
DBLookupComboBox2: TDBLookupComboBox;
ADOQztyear: TADOQuery;
DSztyear: TDataSource;
Edit2: TEdit;
DBLookupComboBox3: TDBLookupComboBox;
DSuser: TDataSource;
ADOQright: TADOQuery;
ADOQztright: TADOQuery;
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure DBLookupComboBox1CloseUp(Sender: TObject);
procedure DBLookupComboBox2CloseUp(Sender: TObject);
procedure DBLookupComboBox3CloseUp(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure setright;
{ Private declarations }
public
{ Public declarations }
end;
var
frmlogin: Tfrmlogin;
implementation
uses Umain,U_DM,udata, SYS_DataModal, DatabaseSet, UDataVar;
{$R *.DFM}
procedure Tfrmlogin.BitBtn2Click(Sender: TObject);
begin
frmlogin.Close ;
//application.Terminate ; ADOConnection,ADOCon1
end;
procedure Tfrmlogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ADOQusers.close; ADOQpass.close;
ADOQright.close; ADOQztcode.close;
ADOQztyear.close;
//DM1.ADOCon1.Close;
frmlogin:= nil;
action := cafree;
end;
procedure Tfrmlogin.FormShow(Sender: TObject);
begin
//Connectdatabaseuser;
DateTimePicker1.DateTime :=date;
DBLookupComboBox1.SetFocus ;
ADOQztcode.Close;
ADOQztcode.open;
end;
procedure Tfrmlogin.BitBtn1Click(Sender: TObject);
begin
if DBLookupComboBox3.Text = '' then
begin
Application.MessageBox('请选择用户!','错误',16);
exit;
end;
if not Userstate then
begin
Application.MessageBox('该用户已被禁用!','错误',16);
exit;
end;
if edit1.text = userpassword then
begin
Connectdatabaseuser;
try
Dm.ADOConnection.Connected:=true;
except
Application.MessageBox('数据库连接失败','连接数据库',16);
screen.cursor := 0;
exit;
end;
//frmlogin.close;
frmmain.StatusBar1.Panels[0].Text :=' 就绪';
frmmain.StatusBar1.Panels[2].Text :=' 操作员: '+UserName;
frmmain.StatusBar1.Panels[3].Text :=' 销售管理';
frmmain.StatusBar1.Panels[4].Text :=' 日期: '+datetostr(date);
setright;
frmmain.N3.Enabled :=false; frmmain.N4.Enabled :=true;
frmmain.N17.Enabled :=true; frmmain.N21.Enabled :=true;
frmmain.N10.Enabled:=true; frmmain.N11.Enabled :=true;
frmmain.N20.Enabled:=true; frmmain.N26.Enabled:=true;
frmmain.n41.Enabled :=true;
frmmain.N27.Enabled:=true;
frmmain.Outlook1.Enabled:=true;
frmlogin.close;
sdate:=DateToStr(DateTimePicker1.date);
end
else
begin
Application.MessageBox('密码错误 请重新输入!','错误',16);
edit1.text:='';
edit1.SetFocus ;
exit;
end;
end;
procedure Tfrmlogin.setright; // 设置权限
var
i,j,k:integer;
ss:string;
begin
if userrole = '帐套管理员' then
begin
for i:=0 to frmmain.MainMenu1.Items.Count - 1 do
begin
frmmain.MainMenu1.Items[i].Enabled :=true;
for j := 0 to frmmain.MainMenu1.Items[i].Count - 1 do
begin
frmmain.MainMenu1.Items[i].Items[j].Enabled:=true;
end;
end;
end
else
begin
with ADOQright do
begin
close;
parameters[0].Value :=userid;
parameters[1].Value :=DBLookupComboBox1.Text ;
parameters[2].Value :=Mcode; //各模块编码
open;
while not EOF do
begin
for i:=0 to frmmain.MainMenu1.Items.Count - 1 do
begin
if frmmain.MainMenu1.Items[i].Tag = 1 then
begin
frmmain.MainMenu1.Items[i].Enabled :=true;
for j := 0 to frmmain.MainMenu1.Items[i].Count - 1 do
begin
if (frmmain.MainMenu1.Items[i].Items[j].Tag = 1) and
(Fieldbyname('Tag').asboolean) then
begin
frmmain.MainMenu1.Items[i].Items[j].Enabled:=true;
ADOQright.next;
end
else if not frmmain.MainMenu1.Items[i].Items[j].IsLine then
begin
frmmain.MainMenu1.Items[i].Items[j].Enabled:=false;
ADOQright.next;
end;
end;
end;
end;
end;
end;
end;
end;
procedure Tfrmlogin.DBLookupComboBox1CloseUp(Sender: TObject);
begin
ADOQusers.Close;
Edit1.text:=''; Edit2.text:='';
with ADOQztyear do
begin
close;
parameters[0].Value :=DBLookupComboBox1.Text ;
open;
end;
end;
procedure Tfrmlogin.DBLookupComboBox2CloseUp(Sender: TObject);
begin
Edit2.text:= ADOQztyear.fieldbyname('ztname').asstring;
Udataname:=ADOQztyear.fieldbyname('dataname').asstring;
udatauser:=ADOQztyear.fieldbyname('datauser').asstring;
udatapass:=ADOQztyear.fieldbyname('dpassword').asstring;
udataserver:=ADOQztyear.fieldbyname('dserver').asstring;
with ADOQusers do
begin
close;
parameters[0].Value := DBLookupComboBox1.text;
open;
end;
end;
procedure Tfrmlogin.DBLookupComboBox3CloseUp(Sender: TObject);
begin
with ADOQpass do
begin
close;
parameters[0].Value := ADOQusers.fieldbyname('userid').asstring;
open;
Userid:=Fieldbyname('userid').asstring;
Username:=Fieldbyname('username').asstring;
UserpassWord:=Fieldbyname('Userpass').asstring;
Userstate:=Fieldbyname('userstate').asboolean;
end;
with ADOQztright do
begin
close;
parameters[0].Value := DBLookupComboBox1.text;
parameters[1].Value := Userid;
open;
userrole:=Fieldbyname('userrole').asstring;
end;
end;
procedure Tfrmlogin.FormCreate(Sender: TObject);
begin
{if not ConSuccess then
frmDataBaseSet.showModal;}
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -