D7wmleixiaofu/检验主程序/logon.pas
DESKTOP-E401PHE\Administrator c446a0860f ~
2025-04-30 16:04:42 +08:00

320 lines
7.8 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit logon;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, MovePanel,ADODB, DB, ComCtrls,
ToolWin;
type
TFormLogon = class(TForm)
Timer1: TTimer;
MovePanel1: TMovePanel;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
ToolBar1: TToolBar;
BtnOk: TToolButton;
BtnQuit: TToolButton;
ToolButton12: TToolButton;
ToolBar2: TToolBar;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton19: TToolButton;
ToolButton20: TToolButton;
ToolButton21: TToolButton;
ToolButton25: TToolButton;
ToolBar3: TToolBar;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
ToolButton18: TToolButton;
ADQ_Tmp: TADOQuery;
ToolButton22: TToolButton;
ToolButton24: TToolButton;
Edit1: TComboBox;
ToolButton1: TToolButton;
ToolButton23: TToolButton;
procedure btnoClick(Sender: TObject);
procedure Form(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormShow(Sender: TObject);
procedure BtnOkClick(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure Timer1Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BtnQuitClick(Sender: TObject);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure ToolButton13Click(Sender: TObject);
procedure ToolButton23Click(Sender: TObject);
procedure ComboBox1Exit(Sender: TObject);
procedure ToolButton12Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormLogon: TFormLogon;
implementation
uses
Spmain,AES,ElAES,U_upPassword;
{$R *.dfm}
procedure TFormLogon.FormCreate(Sender: TObject);
begin
Edit1.Text := '';
end;
procedure TFormLogon.FormShow(Sender: TObject);
begin
with ADQ_Tmp do
begin
Close;
sql.Clear;
SQL.Add('select distinct A.UserID from SY_Purview A ');
SQL.Add('inner join SY_User B on B.UserID=A.UserID ');
sql.Add('where A.ModuleSubId=''99'' ');
Open;
end;
Edit1.Items.Clear;
with ADQ_Tmp do
begin
First;
while not Eof do
begin
Edit1.Items.Add(Trim(fieldbyname('UserId').AsString));
Next;
end;
end;
Edit1.SetFocus;
end;
procedure TFormLogon.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := CaFree;
end;
procedure TFormLogon.Form(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 13 then
begin
PostMessage(Handle,WM_KEYDOWN,VK_TAB,0);
Key := 0;
end;
end;
procedure TFormLogon.btnoClick(Sender: TObject);
begin
application.Terminate;
end;
procedure TFormLogon.BtnOkClick(Sender: TObject);
type
TMyFunc = function(App:Tapplication; FormH:hwnd; FormID:integer;
Language: integer; WinStyle:integer;
GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar;
Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar;
Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar;
Parameters9:PChar;Parameters10:PChar;DataBaseStr:PChar):hwnd;stdcall;
var
Tf: TMyFunc;
Tp: TFarProc;
Th:Thandle;
newh:hwnd;
bm,mm,mz,mm2:string;
begin
if (Edit1.Text='') then
begin
Application.MessageBox('<27>ʺ<EFBFBD>û<EFBFBD><C3BB>¼<EFBFBD><C2BC>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>롣', '<27><>Ϣ<EFBFBD><CFA2>ʾ', MB_OK or MB_ICONinformation);
Edit1.SetFocus;
exit;
end;
with ADQ_Tmp do
begin
sql.Clear;
sql.add('SELECT userid,username,password FROM SY_User WHERE userid='+''''+trim(Edit1.Text)+'''');
Open;
IF not ADQ_Tmp.IsEmpty then
begin
bm:=Fields[0].AsString;
mz:=Fields[1].AsString;
mm:=Trim(Fields[2].AsString);
if Trim(mm)<>'' then
mm2:=Trim(DecryptString(Trim(mm),'ljb^0122!@#*&^%$',kb128))
else
mm2:='';
end
else
begin
Application.MessageBox(<>д<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>','<27><>ʾ',0);
Exit;
end;
close;
end;
if (mm2=trim(edit2.text)) and (bm<>'') then
begin
FormMain.StatusBar1.Panels[1].Text:='<27><><EFBFBD><EFBFBD>Ա:'+mz;
FormMain.StatusBar1.Panels[2].Text:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾';
User_Name:=trim(mz);
User_Id:=trim(bm);
// fuserName:=trim(ADOQueryTmp.fieldbyname('userName').AsString);
Th := LoadLibrary('FileUpdate.dll');
if Th > 0 then
begin
try
Tp := GetProcAddress(Th, 'GetDllForm');
if Tp <> nil then
begin
Tf := TMyFunc(Tp);
newh:=Tf(Application,0,2,0,0,
PChar(User_Id),
PChar(User_Name),PChar(''),PChar(''),PChar(''),PChar(''),'','','','','','','','',PChar(ConDateBaseString));
end
else
begin
//ShowMessage('<27><>ӡִ<D3A1>д<EFBFBD><D0B4><EFBFBD>');
end;
finally
FreeLibrary(Th);
end;
end
else
begin
ShowMessage('<27>Ҳ<EFBFBD><D2B2><EFBFBD>FileUpdate.dll');
end;
FormLogon.close;
FormMain.Show;
end
else
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>Ϣ<EFBFBD><CFA2>ʾ', MB_OK or MB_ICONinformation);
{FormLogon.close;
FormMain.Show;}
end;
procedure TFormLogon.FormKeyPress(Sender: TObject; var Key: Char);
begin
{key:=UpCase(key);
if (Key in ['''']) then
Key := #0;
if FormLogon.Visible then
begin
if key=#13 then
begin
key:=#0;
FormLogon.perform(WM_NEXTDLGCTL,0,0);
end;
end;}
end;
procedure TFormLogon.Timer1Timer(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
end;
procedure TFormLogon.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if User_ID='' then application.Terminate;
end;
procedure TFormLogon.BtnQuitClick(Sender: TObject);
begin
application.Terminate;
end;
procedure TFormLogon.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_Return then
BtnokClick(sender);
end;
procedure TFormLogon.FormActivate(Sender: TObject);
begin
Edit1.SetFocus;
end;
procedure TFormLogon.Edit1Exit(Sender: TObject);
begin
edit1.Text :=upperCase(trim(edit1.text))
end;
procedure TFormLogon.ToolButton13Click(Sender: TObject);
begin
Edit2.Text:=Trim(Edit2.Text)+Trim(TToolButton(Sender).Caption);
Edit2.SelectAll;
end;
procedure TFormLogon.ToolButton23Click(Sender: TObject);
begin
if Length(Trim(Edit2.Text))=0 then Exit;
Edit2.Text:=Copy(Trim(Edit2.Text),1,Length(Trim(Edit2.Text))-1);
Edit2.SelectAll;
end;
procedure TFormLogon.ComboBox1Exit(Sender: TObject);
begin
edit1.Text :=upperCase(trim(edit1.text))
end;
procedure TFormLogon.ToolButton12Click(Sender: TObject);
begin
if Trim(Edit1.Text)='' then
begin
Application.MessageBox('<27>ʺŲ<CABA><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
try
frmupPassword:=TfrmupPassword.Create(Application);
with frmupPassword do
begin
fuserID:=Trim(Self.Edit1.Text);
if ShowModal=1 then
begin
end;
end;
finally
frmupPassword.Free;
end;
end;
procedure TFormLogon.ToolButton1Click(Sender: TObject);
begin
if Length(Trim(Edit2.Text))=0 then Exit;
Edit2.Text:=Copy(Trim(Edit2.Text),1,Length(Trim(Edit2.Text))-1);
Edit2.SelectAll;
end;
end.