globals.pas

来自「考勤管理是企业内部管理的重要环节和基础」· PAS 代码 · 共 92 行

PAS
92
字号
unit Globals;
interface
uses windows, DBTables, BDE, Sysutils;
//  public

resourcestring
    sCorpName='利利时装厂';

function myGetCurrentDirectory():String;
function fDbiQExec(hTmpDb: hDBIDB; TblName, SQL: string): Longint;
procedure QuickCopyTable(T:TTable;DestTblName:string;OverWrite:Boolean);
const
  eKeyViol = 9729;
  eRequiredFieldMissing = 9732;
  eForeignKey = 9733;
  eDetailsExist = 9734;
var
   AccSetselected:Boolean;
   QuitApp, GetText:Boolean;
   OldDir, WorkDir, CorpName : string;
   calling,CoolBar2Height,Popup:Byte;
   ratepaying:single;
   InOutStoreID, BalStoreID, OutStoreID, InStoreID, LossStoreID, BackStoreID, InPMakeID, InPStoreID, RQStoreID,
   Accredit, glUserID, SaleStoreID,SQStoreID,StorageID: integer;
   UserQty, Ullage:Double;

implementation

function myGetCurrentDirectory(): String;
var
   nBufferLength : Longword; // size, in characters, of directory buffer
   lpBuffer 	 : PChar; // address of buffer for current directory
begin
   nBufferLength := MAX_PATH + 1;
   GetMem( lpBuffer, nBufferLength );
   try
     if GetCurrentDirectory( nBufferLength, lpBuffer ) > 0 then
        Result := lpBuffer;
   finally
     FreeMem( lpBuffer );
   end; // try
end;

function fDbiQExec(hTmpDb: hDBIDB; TblName, SQL: string): Longint;
var
  hStmt: hDBIStmt;
  hQryCur, hNewCur: hDBICur;
  iRecCount: LongInt;
begin
  hQryCur := nil;
  hNewCur := nil;
  hStmt := nil;
  try
    Check(DbiQAlloc(hTmpDb, qrylangSQL, hStmt));
    Check(DbiQPrepare(hStmt, PChar(SQL)));
    Check(DbiQExec(hStmt, @hQryCur));
    Check(DbiQInstantiateAnswer(hStmt, hQryCur, PChar(TblName), szPARADOX,
      True, @hNewCur));
    Check(DbiGetRecordCount(hNewCur, iRecCount));
    Result := iRecCount;
  finally
    if (hStmt <> nil) then
      Check(DbiQFree(hStmt));
    if (hNewCur <> nil) then
      Check(DbiCloseCursor(hNewCur));
  end;
end;

procedure QuickCopyTable(T:TTable;DestTblName:string;Overwrite:Boolean);
var
  DBType:DBINAME;
  WasOpen:Boolean;
  NumCopied:Word;
begin
  WasOpen:=T.Active;
  if not WasOpen then t.Open;
  Check(DbiGetProp(hDBIObj(T.Handle),drvDRIVERTYPE,@DBType,SizeOf(DBINAME),NumCopied));
  Check(DbiCopyTable(T.DBHandle,OverWrite,PChar(T.TableName),DBType,PChar(DestTblName)));
  T.Active:=WasOpen;
end;

Begin
    DateSeparator := '-';
    LongDateFormat := 'yyyy-mm-dd';
    AccSetselected:=False;
    QuitApp:=False;
    Calling:=0;
    glUserID:=0;
    WorkDir:='d:\Clili\data\default';
    OldDir:=myGetCurrentDirectory();
end.

⌨️ 快捷键说明

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