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

📄 login_frms.pas

📁 证券公司考试系统,三层架构,从题库自动产生试卷,全部主观题
💻 PAS
字号:
unit Login_Frms;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls,IniFiles, ComCtrls;

type
  TLogin_Frm = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Button1: TButton;
    Button2: TButton;
    Login_Psw_Edit: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Login_Name_Edit: TEdit;
    StatusBar: TStatusBar;
    procedure Login(Login_Name,Login_Psw:string;Var Errorid:string);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Login_Frm: TLogin_Frm;

implementation

uses Flash_Frm, Background_DataModules, Background_Main,
  Accounts_Manage_Frms;

{$R *.dfm}

procedure TLogin_Frm.FormShow(Sender: TObject);
var
  Configure_Sqlserver: TIniFile;
  Host_IP,Provider,Password,Persist_Security_Info,User_ID,Initial_Catalog,Data_Source:string;
  Connection_String:string;
begin
  With Flash_Form do
   begin
    Show;
    {延迟一段很短的时间}
    Application.ProcessMessages;
    Sleep(10);
   end;

{--------------------读出INI文件中数据库服务器的相关参数----------------------------------}
  Configure_Sqlserver := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Configure_Sqlserver.ini');
 with Configure_Sqlserver do
  begin
   Host_IP:=ReadString('Server', 'Host_IP',Host_IP);
   Provider:=ReadString('Sqlserver', 'Provider',Provider);
   Password:=ReadString('Sqlserver', 'Password',Password);
   Persist_Security_Info:=ReadString('Sqlserver', 'Persist Security Info',Persist_Security_Info);
   User_ID:=ReadString('Sqlserver', 'User ID',User_ID);
   Initial_Catalog:=ReadString('Sqlserver', 'Initial Catalog',Initial_Catalog);
   Data_Source:=ReadString('Sqlserver', 'Data Source',Data_Source);
   Connection_String:='Provider='+Provider+';Password='+Password+';Persist Security Info=';
   Connection_String:=Connection_String+Persist_Security_Info+';User ID='+User_ID+';Initial Catalog=';
   Connection_String:=Connection_String+Initial_Catalog+';Data Source='+Data_Source;
  end;
   Configure_Sqlserver.Free;

{--------------------读出INI文件中数据库服务器的相关参数----------------------------------}

 {------------------------------连接数据库--------------------------------------}
  Try
   With Background_DataModule Do
    begin
     //Background_Connection.ConnectionString:=Connection_String;
     Background_Connection.Connected:=True;
     Exam_Specialty_Table.open;
     Exam_Difficulty_Table.open;
     Exam_Name_Table.open;
     Sales_Department_Table.open;
    end;
  Except
   Showmessage('无法连接数据库,请检查您的配置文件!');
   close;
  end;
 {------------------------------连接数据库--------------------------------------}

 Flash_Form.Close;
end;

procedure TLogin_Frm.Login(Login_Name,Login_Psw:string;Var Errorid:string);
{Errorid为'0000'时表示登陆成功,'0001'表示不存在此用户,'0002'表示密码错误
 '0003'表示密码串非法,'0004'表示没有管理员权限}
Var
  Login_Psw_MiWen:String;
  Check:Boolean;
begin
 With Accounts_Manage_Frm do
  begin
   Validity_Check(Login_Psw,Check);  {检查密码串合法性}
   If Check=False
    then Errorid:='0003'
    else
     begin
      JiaMi(MiYao,Login_Psw,Login_Psw_MiWen);  {将明文转化成密文}
      With Background_DataModule do
       begin
        Login_Query.Close;
        Login_Query.Parameters.ParamByName('Login_Name').Value:=Login_Name_Edit.Text;
        Login_Query.Open;
        Login_Query.First;
        If Login_Query.Eof
         then Errorid:='0001'   {不存在此用户名称}
         else If Login_QueryLogin_Psw.Value<>Login_Psw_MiWen
                then Errorid:='0002'
                else If Login_QueryPurview.Value<>'A'
                       Then Errorid:='0004'
                       else Errorid:='0000';
       end;
     end;
  end;



end;

procedure TLogin_Frm.Button1Click(Sender: TObject);
Var
   Errorid:string;
begin
 Login(Login_Name_Edit.Text,Login_Psw_Edit.Text,Errorid);
 //Showmessage(Errorid);
 If Errorid='0001' then StatusBar.Panels.Items[0].Text:='不存在此用户名称';
 If Errorid='0002' then StatusBar.Panels.Items[0].Text:='密码错误';
 If Errorid='0003' then StatusBar.Panels.Items[0].Text:='密码串非法';
 If Errorid='0004' then StatusBar.Panels.Items[0].Text:='没有管理员权限';
 If Errorid='0000' then
   begin
    Main_Frm.show;
    Login_Frm.Hide;
   end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -