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

📄 maind.~pas

📁 针对商品与仓库存储商品等信息的管理及维护的管理软件。它能够辅助仓库管理人员对供应商信息、商品基本信息以及商品入库、出库、库存信息查询等进行控制管理
💻 ~PAS
字号:
unit maind;

interface

uses
  SysUtils,Windows, Classes, DB, DBTables,forms,registry;

type
  TMainDFrm = class(TDataModule)
    Database1: TDatabase;
    dsArcinfo: TDataSource;
    dbUser: TDataSource;
    query1: TQuery;
    Uquery1: TUpdateSQL;
    qutil: TQuery;
    dbutil: TDataSource;
    dbhistory: TDataSource;
    Qgrant: TQuery;
    tbhistory: TTable;
    Uqutil: TUpdateSQL;
    Qclass: TQuery;
    UQclass: TUpdateSQL;
    dbclass: TDataSource;
    query1uID: TStringField;
    query1uUser: TStringField;
    query1Passwd: TStringField;
    query1CreateD: TStringField;
   function CheckPermission(uid,fid:string):boolean;
   function CheckUser(uID,uPasswd:string)  :boolean;
   Function FeedUuser(uID :String):String;
   Function CheckUserID(UserID:String):boolean;
   Function CheckRight(UserID,funct:String):String;
   Function FeedfuID(funct:String):string;
  Function ChecktbID(tb,tbID,ID:string):boolean;
  Function CheckexistID(tb,tbID,ID:string):boolean;
    procedure DataModuleCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainDFrm: TMainDFrm;

implementation
uses UTIL;
{$R *.dfm}

{ TMainDFrm }

function TMainDFrm.CheckexistID(tb, tbID, ID: string): boolean;
var
 q1:TQuery;

  begin
    q1 := TQuery.Create(application.Owner);
  try
      q1.DatabaseName := 'main';
      q1.SQL.Clear;
      q1.SQL.Add('select '+ tbID+' from  '+tb);
      q1.SQL.Add('where  '+tbID+ '='''+ID+'''' );
      q1.Close;
      q1.Open;
      if  not q1.Eof then Result:= true
      else begin
      MessageBox(0,'此号不存在!,请在学籍管理录入','退出',mb_ICONWarning+mb_OK);
      Result := False;
      end;
  finally
    q1.Free;
  end;

end;

function TMainDFrm.CheckPermission(uid, fid: string): boolean;
var
 q1:TQuery;
begin
  q1    := Tquery.Create(Application.owner);
try
  q1.DatabaseName := 'main';
  q1.SQL.Clear;
  q1.SQL.Add('SELECT * FROM bgrant ' );
  q1.SQL.Add('where ');
  q1.SQL.Add('uID = '''+ uid+'''');
  q1.SQL.Add('AND fID = '''+ fid+'''');
  try
    q1.Close;
    q1.Open;
  except
    MessageBox(0,'无法打开权限表,请与管理员联系!','退出',mb_ICONWarning+mb_OK);
    Result := False;
  end;
    if q1.Eof = false then Result :=q1.FieldByName('gright').AsBoolean
    else Result := False;
finally
  q1.Free;
  end;
if Result = False then
MessageBox(0,'很抱歉,目前您没有权限进行此项操作!请与管理员联系!!',
'退出',mb_ICONWarning+mb_OK);
end;

function TMainDFrm.CheckRight(UserID,funct: String):String;
var QCheck:TQuery;
begin
  QCheck := TQuery.Create(Application.Owner);
  QCheck.databasename := 'main';
  QCheck.SQL.Clear;
  QCheck.SQL.Add('SELECT bgrant.fID FROM bgrant,funt');
  QCheck.SQL.Add('WHERE bgrant.fID=funt.fID AND bgrant.uID='''+UserID+'''');
  QCheck.SQL.add('AND funt.fName='''+funct+'''');
  try
    QCheck.Close;
    QCheck.Open;
    if  QCheck.Eof  then Result := ''
    else Result := QCheck.Fields.Fields[0].AsString;
  finally
    QCheck.Free;
  end;

end;

function TMainDFrm.ChecktbID(tb, tbID, ID: string): boolean;
 var q1:TQuery;
  begin
    q1 := TQuery.Create(Application.Owner);
  try
      q1.DatabaseName := 'main';
      q1.SQL.Clear;
      q1.SQL.Add('select '+ tbID+' from  '+tb);
      q1.SQL.Add('where  '+tbID+ '='''+ID+'''' );
      q1.Close;
      q1.Open;
      if  q1.Eof then Result:= false
      else begin
      if tbID<>'bName' then
      application.MessageBox('此号已经重复!','退出',mb_ICONWarning+mb_OK);
      Result := True;
      end;
  finally
    q1.Free;
  end;

end;

function TMainDFrm.CheckUser(uID, uPasswd: string): boolean;
var
// q2:TQuery;
str2:string;
 begin
//  q2    := Tquery.Create(Application.Owner);
  try
//  uPasswd :=  Encrypt(uPasswd,56789,13579,1);
  Qgrant.DatabaseName := 'main';
  Qgrant.SQL.Clear;
  Qgrant.SQL.Add('SELECT * FROM userinfo ' );
  Qgrant.SQL.Add('where ');
  Qgrant.SQL.Add('uID = '''+ uID+'''');
//  q2.SQL.Add('AND Passwd = '''+uPasswd+'''');
  Qgrant.Close;
  Qgrant.Open;
  str2 := QGrant.FieldByName('Passwd').AsString;
  str2 := Decrypt(str2,1357,2,1);
  if Qgrant.Eof = True then Result := False
  else
 if uPasswd = str2 then
    Result := True
  else
   Result := False;
  finally
//  q2.Free;
  end;


end;

function TMainDFrm.CheckUserID(UserID: String): boolean;
var QCheck:TQuery;
begin
  QCheck := TQuery.Create(application.Owner);
  QCheck.databasename := 'main';
  QCheck.SQL.Clear;
  QCheck.SQL.Add('SELECT * FROM Userinfo ');
  QCheck.SQL.Add('WHERE uID='''+UserID+'''');
  try
    QCheck.Close;
    QCheck.Open;
    if  QCheck.Eof  then Result := false
    else begin
    Result := True;
    Application.MessageBox('此用户已存在','退出',mb_ICONInformation+mb_OK);
    end;
  finally
    QCheck.Free;
  end;
end;

function TMainDFrm.FeedfuID(funct: String): string;
var Q1:TQuery;
begin
  q1    := Tquery.Create(Application.Owner);
try
  Result := '';
  q1.DatabaseName := 'main';
  q1.SQL.Clear;
  q1.SQL.Add('SELECT fid FROM funt ' );
  q1.SQL.Add('where ');
  q1.SQL.Add('fID = '''+ funct+'''');
    q1.Close;
    q1.Open;
    if q1.Eof = false then Result :=q1.Fields.Fields[0].AsString
    else Result := '';
finally
  q1.Free;
  end;

end;

function TMainDFrm.FeedUuser(uID: String): String;
var Q1:TQuery;
begin
  q1    := Tquery.Create(Application.Owner);
try
  q1.DatabaseName := 'main';
  q1.SQL.Clear;
  q1.SQL.Add('SELECT uUser FROM Userinfo ' );
  q1.SQL.Add('where ');
  q1.SQL.Add('uID = '''+ uid+'''');
  try
    q1.Close;
    q1.Open;
    Result := Q1.Fields[0].AsString;
  except
//    MessageBox(0,'无法打开全限表','退出',mb_ICONInformation+mb_OK);
    Result := '';
  end;
    if q1.Eof = false then Result :=q1.FieldByName('uUser').AsString
    else Result := '';
finally
  q1.Free;
  end;
end;

procedure TMainDFrm.DataModuleCreate(Sender: TObject);
var
 FileName:string;
 reg:Tregistry;
 dbname:string;
 sysdir:array[0..255] of char;
begin
   FileName := ExtractFilePath
    (Application.ExeName)+'INI\set.ini';
  dbname := INI_Load_str2(FileName,'DATABASE','NAME','ACCESS');
 if dbName = 'SQL' then
 database1.AliasName := 'mydata'
 else begin
 database1.AliasName := 'msdata';
 reg      := TRegistry.Create;
// if reg.KeyExists('\Software\ODBC\ODBC.INI\'+dbname)= false then
 try
   dbname := 'msdata';
   fileName := ExtractFilepath(Application.ExeName)+
           'data.mdb';
   reg.RootKey := HKEY_CURRENT_USER;
   if reg.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources',True) then
      Reg.WriteString(dbname,'Microsoft Access Driver (*.mdb)');
   if reg.OpenKey('\Software\ODBC\ODBC.INI\'+dbname,true) then
    begin
      GetSystemDirectory(sysdir,255);
      reg.WriteString('Driver',sysdir+'\odbcjt32.dll');
      reg.WriteString('DBQ',filename);
      reg.WriteInteger('DriverID',64);
      reg.WriteString('FIL','MS Access');
      reg.WriteInteger('SafeTransations',0);
      reg.WriteString('UID','');
     end;
      if reg.OpenKey('\software\ODBC\ODBC.INI\'+dbname+'\Engines\Jet',true) then
         begin
          reg.WriteString('ImplicitCommitSync','');
          reg.WriteInteger('MaxBufferSize',32768);
          reg.WriteInteger('PageTimeout',5);
          reg.WriteInteger('Threads',3);
          reg.WriteString('UserCommitSync','Yes');

          end;
       finally
       reg.CloseKey;
         reg.Free;
       end;
    end;
   try
     database1.Connected := true;
   except
    application.MessageBox('连接数据库失败,请设置好数据库再运行!',
                    '连接失败!',mb_ICONinformation+mb_OK);
    application.Terminate;
   end;
end;

end.

⌨️ 快捷键说明

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