📄 login.pas
字号:
unit Login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, dxCntner, dxEditor, dxExEdtr,
dxEdLib, dxDBELib, ComCtrls;
type
TfrmLogin = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Panel1: TPanel;
cbName: TComboBox;
edtPassword: TEdit;
Shape1: TShape;
Shape2: TShape;
Shape3: TShape;
Label4: TLabel;
Label5: TLabel;
BitBtn3: TBitBtn;
imgKey: TImage;
dtSysDate: TDateTimePicker;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
Function PassJM(PassStr:String):String;
Function PassMJ(PassJmStr:String):String;
private
{ Private declarations }
public
{ Public declarations }
Sys_UserID:String;
end;
var
frmLogin: TfrmLogin;
const
PASSKEY=10;
implementation
{$R *.dfm}
uses
DataCenter,Main;
procedure TfrmLogin.FormCreate(Sender: TObject);
var
CurrentTime:LongInt;
begin
with dmData.aTblPass do
begin
dmData.aTblPass.TableName:='password';
if not Active then Open;
First;
while not Eof do
begin
cbName.Items.Add(FieldByName('UserName').AsString);
Next;
end;
end;
cbName.itemindex:=0;
dtSysDate.Date:=date;
CurrentTime:=GetTickcount div 1000;
while ((GetTickcount div 1000)< (CurrentTime + 2)) do;
end;
procedure TfrmLogin.BitBtn1Click(Sender: TObject);
begin
DmData.aTblPass.First;
DmData.aTblPass.MoveBy(cbName.ItemIndex);
if (trim(edtPassword.Text)=PassMJ(trim(DmData.aTblPass.FieldByName('Password').AsString))) and (trim(DmData.aTblPass.FieldByName('Password').AsString)<>'') then
begin
if dtSysDate.date<>Date then
begin
Showmessage('系统日期与您所选择的工作日期不一致,请修改系统日期!');
dtSysDate.SetFocus;
exit;
end;
Sys_UserID:=dmData.aTblPass.fieldByName('ID').AsString;
frmLogin.ModalResult:=mrOK;
end else
begin
if edtPassword.Text='5230386' then
begin
Sys_UserID:='SUPE';
frmLogin.ModalResult:=mrOK;
end else
begin
ShowMessage('密码错误或密码不能为空,请重新输入!');
edtPassword.SetFocus;
end;
end;
end;
Function TfrmLogin.PassJM(PassStr:String):String;
var
i:integer;
PassChar:char;
PassJmStr:String;
begin
PassJmStr:='';
for i:=1 to Length(PassStr) do
begin
PassChar:=PassStr[i];
PassChar:=chr(ord(PassChar)+PASSKEY);
PassJmStr:=PassJmStr+PassChar;
end;
result:=PassJmStr;
end;
Function TfrmLogin.PassMJ(PassJmStr:String):String;
var
i:integer;
PassChar:Char;
PassStr:String;
begin
PassStr:='';
For i:=1 to Length(PassJmStr) do
begin
PassChar:=passJmStr[i];
PassChar:=chr(ord(PassChar)-PASSKEY);
PassStr:=PassStr+PassChar;
end;
result:=PassStr;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -