📄 pfm_fdlogin.pas
字号:
unit pfm_fdlogin;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Db, DBTables, ADODB,unit_wxp, jpeg, ExtCtrls;
type
Tfm_fdlogin = class(TForm)
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
Query1: TADOQuery;
Panel1: TPanel;
ComboBox1: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Image1: TImage;
BBtnOk: TBitBtn;
BBtnCancel: TBitBtn;
Label4: TLabel;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure BBtnOkClick(Sender: TObject);
procedure BBtnCancelClick(Sender: TObject);
procedure Edit3Enter(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
procedure GetUserRight();
procedure AddOffice ();
public
{ Public declarations }
end;
var
fm_fdlogin: Tfm_fdlogin;
ifFirst:boolean;
implementation
{$R *.DFM}
procedure Tfm_fdlogin.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key<>#13 then exit;
if length(edit1.text)<4 then
begin
showmessage('用户帐号为4~8个字符');
exit;
end;
query1.Close;
query1.sql.clear;
query1.sql.add('select * from t_user where username='''+edit1.text+'''');
query1.open;
if not query1.Eof then
begin
mUsername:=edit1.text;
unit_wxp.UserName :=mUsername;
mUserpass:=query1.fieldbyname('userpass').asstring;
mpname:=query1.fieldbyname('pname').asstring;
mUserid:=query1.fieldbyname('userid').asstring;
edit2.text:=mPname;
edit3.setfocus;
label4.Caption:='用户名正确,请输入密码';
end
else
begin
label4.Caption:='用户名错误,请重新输入';
edit1.text:='';
end;
query1.Close;
end;
procedure Tfm_fdlogin.BBtnOkClick(Sender: TObject);
begin
if (edit3.text=mUserpass) and (length(mUserpass)>=4) then
begin
GetUserright();
modalresult:=mrOk;
end
else
begin
label4.Caption:='密码错误';
edit3.SelectAll;
end;
ADOQuery2.Active :=false;
end;
procedure Tfm_fdlogin.BBtnCancelClick(Sender: TObject);
begin
modalresult:=mrCancel;
end;
procedure Tfm_fdlogin.Edit3Enter(Sender: TObject);
begin
if length(edit1.text)<4 then
begin
edit1.SetFocus;
end;
end;
procedure Tfm_fdlogin.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key<>#13 then exit;
if (edit3.text=mUserpass) and (length(mUserpass)>=4) then
begin
GetUserright();
if ifFirst=true then
begin
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('insert into pub_z_register (办事处) values (''' + combobox1.Text +
''')');
ADOQuery1.ExecSQL ;
end;
unit_wxp.myOffice :=combobox1.Text ;
modalresult:=mrOk;
end
else
begin
label4.Caption:='密码错误';
edit3.SelectAll;
end;
end;
procedure Tfm_fdlogin.GetUserRight();
var
i:integer;
begin
query1.Active:=false;
query1.sql.clear;
query1.sql.add('select * from t_userright where userid='+muserid);
query1.active:=true;
mUserright.Clear;
while not query1.Eof do
begin
mUserright.Add(query1.fieldbyname('rightname').asstring+'='+
query1.fieldbyname('canuse').asstring);
query1.next;
end;
query1.active:=false;
{for i:=0 to mUserright.count-1 do
begin
showmessage(mUserright.strings[i]);
end;}
end;
//增加所有办事处
procedure Tfm_fdlogin.AddOffice ();
begin
with ADOQuery1 do
begin
Active :=false;
SQL.Clear ;
SQL.Add('select * from pub_z_register');
active:=true ;
if Bof and Eof then
begin
ifFirst:=true;
ADOQuery2.Active :=false;
ADOQuery2.SQL.Clear ;
ADOQuery2.SQL.Add('select * from pub_z_office');
AdoQuery2.Active :=true;
while not ADOQuery2.Eof do
begin
//showmessage(ADOQuery2.FieldValues['办事处名称'] );
combobox1.Items.Add(ADOQuery2.Fields.Fields[1].AsString );
ADOQuery2.Next ;
end;
combobox1.ItemIndex :=0;
ADOQuery2.Active :=false;
end
else
begin
ifFirst:=false;
ADOQuery2.Active :=false;
ADOQuery2.SQL.Clear ;
ADOQuery2.SQL.Add('select * from pub_z_register');
AdoQuery2.Active :=true;
combobox1.Items.Add(ADOQuery2.Fields.Fields[1].AsString );
combobox1.ItemIndex :=0;
ADOQuery2.Active :=false;
//combobox1.Style := csOwnerDrawFixed
unit_wxp.myOffice :=ADOQuery1.Fields.Fields[1].AsString ;
end;
end;
ADOQuery1.Active :=false;
end;
procedure Tfm_fdlogin.FormCreate(Sender: TObject);
begin
AddOffice;
end;
procedure Tfm_fdlogin.Edit1Exit(Sender: TObject);
begin
if Edit1.Text ='' then exit;
if length(edit1.text)<4 then
begin
showmessage('用户帐号为4~8个字符');
exit;
end;
query1.Close;
query1.sql.clear;
query1.sql.add('select * from t_user where username='''+edit1.text+'''');
query1.open;
if not query1.Eof then
begin
mUsername:=edit1.text;
unit_wxp.UserName :=mUsername;
mUserpass:=query1.fieldbyname('userpass').asstring;
mpname:=query1.fieldbyname('pname').asstring;
mUserid:=query1.fieldbyname('userid').asstring;
edit2.text:=mPname;
edit3.setfocus;
label4.Caption:='用户名正确,请输入密码';
end
else
begin
label4.Caption:='用户名错误,请重新输入';
edit1.text:='';
end;
query1.Close;
end;
procedure Tfm_fdlogin.FormShow(Sender: TObject);
var
interval:integer;
begin
interval:= image1.Height div 7 ;
combobox1.Top :=(image1.Height div 17)*5;
edit1.Top := combobox1.Top+interval;
edit2.Top := edit1.Top+interval;
edit3.Top := edit2.Top+interval;
edit1.SetFocus ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -