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

📄 mycommon.pas

📁 有需要的同仁载回去慢慢研究
💻 PAS
字号:
unit mycommon;

interface

uses
  Windows,Classes,DBTables,SysUtils,Forms,Controls;

var
  Database1:TDatabase;
  UserName,MyPermission: String;     //登录用户名,用户权限
  pusernAme,ppassword:string;        //连接SQL Server的用户名和口令,请和数据库系统管理员联系
  MyGsBm:Array of String;                 //当前登录用户可管理的部门编号,数组
  MyGsNo:TStrings;                        //当前登录用户可管理的部门名称
  function Encrypt(const S: String): String;   //用于对字符串加密
  procedure CheckServer;                    //用于判断数据库连接
  function CheckUser: Boolean;           //用于判断用户登录

implementation

uses server, UserLogIn;

const
key :array[1..15] of word=(35,87,97,110,103,64,88,117,101,95,98,105,110,103,33);

function Encrypt(const S: String): String;
var
   j,k,tmp :word;
   tmpstr :string;
begin
   k :=1;
   for j:=1 to Length(s) do
   begin
      tmp:=Ord(s[j]) xor key[k];
      tmpstr:=tmpstr+InttoHex(tmp,2);
      k:=k+1;
      if k>Length(key) then k:=1;
   end;
   Result :=tmpstr;
end;

procedure CheckServer;
var
  aliasParams: TStringList;
  server: String;
  serverName: String;
  isRetry:boolean;
begin
  pusername:='sa';
  ppassword:='sapass';
  //SQL Server
  Database1:=TDatabase.Create(Application);
  with Database1 do
  begin
    AliasName:='GSGL';
    DatabaseName:='TestDb';
    LoginPrompt:=False;
    Params.Clear;
    Params.add('USER NAME='+pusername);
    Params.add('PASSWORD='+ppassword);
  end;
  while true do
  begin
    try
      Database1.Open;
      break;
    except
      FrmServer:= TFrmServer.Create(Application);
      if FrmServer.ShowModal=mrOk then
      begin
        if Session.IsAlias('GSGL') then
        begin
          Session.DeleteAlias('GSGL');
          Session.SaveConfigFile;
        end;
        aliasParams:=TStringList.create;
        aliasParams.clear;
        aliasParams.add('database name=工时管理');
        aliasParams.add('server name='+FrmServer.Edit1.Text);
        Session.AddAlias ('GSGL','MSSQL',aliasParams);
        Session.SaveConfigFile;
        FrmServer.Release;
      end
      else
        break;
    end;
  end;
end;

function CheckUser: Boolean;
var
  QryTemp:TQuery;
  i:integer;
begin
  if not userlogin.GetUser(UserName,MyPermission) then
  begin
    result:=False;
    exit;
  end;
  QryTemp:=TQuery.Create(Application);
  QryTemp.DatabaseName:='TestDb';
  with QryTemp do
  begin
    SQL.Clear;
    SQL.Add('SELECT 部门编号,部门名称');
    SQL.Add('FROM 部门信息');
    SQL.Add('Where 工时汇报员工号 like '+''''+'%'+username+'%'+'''');
    Open;
    MyGsNo := TStringList.Create;
    SetLength(MyGsBm,RecordCount);
    i := 0;
    while (not Eof) do
    begin
      MyGsBm[i] := FieldByName('部门编号').AsString;
      MyGsNo.Add(FieldByName('部门名称').AsString+'('+MyGsBm[i]+')');
      Next;
      i := i+1;
    end;
    Close;
  end;
  result:=True;
end;

end.

⌨️ 快捷键说明

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