⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 login.pas

📁 这是我在去年年底利用业余时间做的一个鞋塑企业的计件工资系统。由于本人技术有限
💻 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 + -