亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? untpub.pas

?? 是分布式糧庫程序,是采用Delphi實現的
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
    _bmpUnitLogoS.Free;
    _bmpUnitLogoL.Free;
    _icnUnitLogo.Free;
    _bmpTimeSoftLogoS.Free;
    _bmpTimeSoftLogoL.Free;
    _icnTimeSoftLogo.Free;
  except
    on E:exception do ErrorHandler(E,'PubEnd');
  end;

  //-- 釋放系統數據模塊
  Application.ProcessMessages;
  AddSysLog('釋放', ' ', ' ');            // 日志
end;

// ★★★
//---- 系統配置
// 讀取:
//   系統配置文件到全程變量.
procedure SysCfgRead;
var
  iniSys: TIniFile;
  slTmp: TStringList;
  iC: integer;
begin
  try
    iniSys := TIniFile.Create(_sAppPath+_sSysCfgFile);
    slTmp := TStringList.Create;
    try
      //-- 1. 系統配置文件到全程變量.
      // Database
      _sDatabase := iniSys.ReadString('數據庫', '設備', '');
//      _sServerName := iniSys.ReadString('數據庫', '服務器', '');
      _sDBSUserName := iniSys.ReadString('數據庫', '用戶', '');
      _sDBSPassword := iniSys.ReadString('數據庫', '口令', '');
      // 異常
      _bShowSysError := iniSys.ReadBool('系統', '顯示內部異常', true);
      // 編譯器附加代碼
      iniSys.ReadSection('過程參數', slTmp);
      for iC:=0 to slTmp.Count-1 do
        _sSQLParam := _sSQLParam+#13+
                      iniSys.ReadString('過程參數', slTmp[iC], '');
      iniSys.ReadSection('變量定義', slTmp);
      for iC:=0 to slTmp.Count-1 do
        _sSQLVar := _sSQLVar+#13+
                      iniSys.ReadString('變量定義', slTmp[iC], '');
      iniSys.ReadSection('初始化', slTmp);
      for iC:=0 to slTmp.Count-1 do
        _sSQLStart := _sSQLStart+#13+
                      iniSys.ReadString('初始化', slTmp[iC], '');
      iniSys.ReadSection('報表結束', slTmp);
      for iC:=0 to slTmp.Count-1 do
        _sSQLREnd := _sSQLREnd+#13+
                      iniSys.ReadString('報表結束', slTmp[iC], '');
      iniSys.ReadSection('政策結束', slTmp);
      for iC:=0 to slTmp.Count-1 do
        _sSQLPEnd := _sSQLPEnd+#13+
                      iniSys.ReadString('政策結束', slTmp[iC], '');
    except
      On E: Exception do ErrorHandler(E, 'SysCfgRead');
    end;
  finally
    iniSys.Free;
    slTmp.Free;
  end;
end;

// ★★★
//---- 系統注冊
// 輸入參數:
//     iType:0:普通用戶;1:管理員
// 返回值:
//     0:注冊成功;1:失敗





// ★★★
//---- 應用程序啟動窗口
// 顯示窗口


// 關閉窗口



// ★★★
//---- 系統日志
// 加入一條日志記錄
// 返回值:
//     0:成功
//     其他:錯誤號
function AddSysLog(const sType, sModule, sContent: string): integer;
begin
end;

// ★★★
//---- 打開 MDI 子窗口
// 輸入參數:
//     TfrmMDIChild:子窗體類名
//     frmMDIChild:子窗體實例變量
// 必要條件:
//     _frmMain 已初始化
procedure OpenMDIChild(TfrmMDIChild: TComponentClass; var frmMDIChild: TForm);
var
  iLoop: integer;
begin
  //-- 1. 查詢子窗體是否已經存在
  for iLoop:=_frmMain.MDIChildCount-1 downto 0 do
    if _frmMain.MDIChildren[iLoop]=frmMDIChild then
    begin
      frmMDIChild.Icon.Assign(_icnTimeSoftLogo);
      frmMDIChild.Show;         // 已經存在, 推到前面
      exit;                     // 退出
    end;

  //-- 2. 不存在則創建
  Application.CreateForm(TfrmMDIChild, frmMDIChild);
  frmMDIChild.Show;
end;

// ★★★
//---- 聯機業務幫助
// 輸入參數:
//     sTaxID: 稅種代碼 char(2) 取全局變量 _sTaxID
//     sBaseItemType: 基礎數據類別代碼 char(1)
//     sBaseItemID: 基礎數據指標代碼 char(16) 前四位有用
function ShowOnlineHelp(const sTaxID, sBaseItemType, sBaseItemID: string): integer;
var
  iH, iL: integer;
begin
  Result := 0;
  if _frmHint = nil then
    exit;
  try
    iH := StrToInt(sTaxID) shl 16 + StrToInt(sBaseItemType);
    iL := StrToInt(sBaseItemID);
    if not PostMessage(_frmHint.Handle, WM_HELP, iH, iL) then
      raise EHelpMsg.Create('請求聯機業務幫助失敗. 錯誤號='+IntToStr(GetLastError()));
  except
    on E:Exception do
    begin
      Result := 1;
      ErrorHandler(E, 'ShowOnlineHelp');
    end;
  end;
end;

// ★★★
//---- 聯機主窗口提示
// 輸入參數:
//     sHint: 提示信息
function ShowOnlineHint(const sHint: string): integer;
begin
  Result := 0;
  if _frmMain = nil then
    exit;
  try
    _sHint := sHint;
    if not PostMessage(_frmMain.Handle, WM_HINT, 0, 0) then
      raise EHintMsg.Create('請求聯機主窗口提示失敗. 錯誤號='+IntToStr(GetLastError()));
  except
    on E:Exception do
    begin
      Result := 1;
      ErrorHandler(E, 'ShowOnlineHint');
    end;
  end;
end;

//---- 進程指示
//-- 1. 由調用程序驅動的指示桿的編程接口
// 1.1. 初始化,創建窗口
// 輸入參數:
//     sFixedMsg: 固定的顯示信息
//     iMax: 指示桿的最大值
//     bCanCancel:是否允許用戶取消當前進程


// 1.2. 改變顯示,移動指示桿的位置
// 輸入參數:
//     sChangingMsg: 動態的顯示信息
//     iPosition: 指示桿的當前位置
// 返回值:
//     true:用戶未取消當前進程
//     false:用戶取消當前進程

// 1.3. 結束,關閉窗口


//-- 2. 自動移動指示桿的編程接口
// 2.1. 初始化,創建窗口
// 輸入參數:
//     sFixedMsg: 固定的顯示信息
//     bCanCancel:是否允許用戶取消當前進程


// 2.2. 改變顯示,移動指示桿的位置
// 輸入參數:
//     sChangingMsg: 動態的顯示信息
// 返回值:
//     true:用戶未取消當前進程
//     false:用戶取消當前進程


// 2.3. 結束,關閉窗口


//---- 自動設定窗體的寬度和高度
procedure SetWinSize(var frmShow: TForm; const poWhich: TPosition; const bDock: boolean);
var
  iCC, iMinW, iMinH, iMaxW, iMaxH: integer;
  ctrlTmp: TControl;
begin
  // 處理所有構件
  iMinW := 1000;
  iMinH := 1000;
  iMaxW := 0;
  iMaxH := 0;
  for iCC:=0 to frmShow.ControlCount-1 do
  begin
    ctrlTmp := frmShow.Controls[iCC];
    if ctrlTmp.Left < iMinW then
      iMinW := ctrlTmp.Left;
    if ctrlTmp.Top < iMinH then
      iMinH := ctrlTmp.Top;
    if ctrlTmp.Left + ctrlTmp.Width > iMaxW then
      iMaxW := ctrlTmp.Left + ctrlTmp.Width;
    if ctrlTmp.Top + ctrlTmp.Height > iMaxH then
      iMaxH := ctrlTmp.Top + ctrlTmp.Height;
  end;
  frmShow.Scaled := True;
  frmShow.Position := poWhich;
  if bDock then
    frmShow.Height := iMaxH + 6
  else
    frmShow.ClientHeight := iMaxH + 6;
  frmShow.Width := iMaxW + iMinW;
end;

//---- 顯示全局變量
procedure ShowGlobalAppVars;
begin
  ShowMessage(' 系統使用單位名稱 _sUnitName =           ' + _sUnitName + #13 +
              ' 系統使用單位類型 _sUnitType =           ' + _sUnitType + #13 + #13 +                       //
              ' 被審企業代碼 _iEnpID =                  ' + IntToStr(_iEnpID) + #13 +
              ' 被審企業名稱 _sEnpName =                ' + _sEnpName + #13 +
              ' 被審企業地址 _sEnpAddr =                ' + _sEnpAddr + #13 +
              ' 被審企業行業代碼 _sTradeID =            ' + _sTradeID + #13 +
              ' 被審企業行業名稱 _sTradeName =          ' + _sTradeName + #13 +
              ' 被審企業經濟類型代碼 _sEconType =       ' + _sEconType + #13 +
              ' 被審企業經濟類型名稱 _sEconName =       ' + _sEconName + #13 +
              ' 被審企業所得稅率 _dIncomeTaxRate =      ' + FloatToStr(_dIncomeTaxRate) + #13 +
              ' 被審企業城建稅率 _dCityTaxRate =        ' + FloatToStr(_dCityTaxRate) + #13 + #13 +
              ' 當前約定書號 _sContractID =             ' + _sContractID + #13 +
              ' 項目經理姓名 _sProjectMngName =         ' + _sProjectMngName +  #13 +
              ' 項目經理工號 _sProjectMngID =           ' + _sProjectMngID + #13 +
              ' 項目經理內部代碼 _iProjectMngID =       ' + IntToStr(_iProjectMngID) + #13 + #13 +
              ' 當前被審稅種內部號 _iTaxID =            ' + IntToStr(_iTaxID) + #13 +
              ' 當前被審稅種號 _sTaxID =                ' + _sTaxID + #13 +
              ' 代理稅種名稱 _sTaxName =                ' + _sTaxName + #13 +
              ' 代理內容 _sAgent =                      ' + _sAgent + #13 +
              ' 數據錄入方法 _iDataFrom =               ' + IntToStr(_iDataFrom) + #13 +
              ' 當前工作所使用的申報表代碼 _sRptID =    ' + _sRptID + #13 +
              ' 當前執行的總體工作計劃號 _sPlanID =     ' + _sPlanID + #13 +
              ' 當前計劃年度 _iPlanYear =               ' + IntToStr(_iPlanYear) + #13 +
              ' 當前個人工作計劃號 _iPerPlanID =        ' + IntToStr(_iPerPlanID) + #13 +
              ' 當前個人計劃所屬會計期間 _sAccSession = ' + _sAccSession + #13 + #13 +
              ' 操作員姓名 _sUserName =                 ' + _sUserName + #13 +
              ' 操作員工號 _sUserID =                   ' + _sUserID + #13 +
              ' 操作員內部代碼 _iUserID =               ' + IntToStr(_iUserID) + #13 +
              ' 操作員口令 _sPassWord =                 ' + _sPassWord + #13 +
              ' 操作員所在部門代碼 _iDptID =            ' + IntToStr(_iDptID) + #13 +
              ' 操作員所在部門名稱 _sDptName =          ' + _sDptName + #13 +
              ' 操作員權限 _sRight =                    ' + _sRight);

end;

procedure ShowGlobalSysVars;
begin
  ShowMessage(' 當前工作站名稱 _sMachineName =    ' + _sMachineName + #13 +
              ' 系統安裝目錄 _sAppPath =          ' + _sAppPath + #13 +
              ' 系統臨時目錄 _sAppTmpPath =       ' + _sAppTmpPath + #13 +
              ' 系統運行地點 _iRunSite =          ' + IntToStr(_iRunSite) + #13 +
              ' 提示窗口標題 _sAppTitle =         ' + _sAppTitle + #13 +
              ' 系統數據庫 _sDatabase =           ' + _sDatabase + #13 +
//              ' 數據庫服務器 _sServerName =       ' + _sServerName + #13 +
              ' 顯示邏輯錯誤信息 _bShowSysError = ' + IntToStr(integer(_bShowSysError)) + #13 + #13 +
              ' 過程參數 _sSQLParam =             ' + _sSQLParam + #13 + #13 +
              ' 變量定義 _sSQLVar =               ' + _sSQLVar + #13 + #13 +
              ' 初始化   _sSQLStart =             ' + _sSQLStart + #13 + #13 +
              ' 報表結束 _sSQLREnd =              ' + _sSQLREnd + #13 + #13 +
              ' 政策結束 _sSQLPEnd =              ' + _sSQLPEnd );
end;

// ★★★
// 將回車鍵轉換為TAB鍵
// 調用方式:將Form的KeyPreviw設為True,在KeyDown事件中加語句
//           ConvertKey(ActiveControl,HANDLE,Key,Shift);
procedure ConvertKey(ActiveControl:TWinControl ;HANDLE: HWND;var Key: Word;Shift: TShiftState);
begin
  if (ord(Key)=13) then
  begin
    if ((ActiveControl is TComboBox) ) then
    begin
      if SendMessage(ActiveControl.HANDLE,CB_GETDROPPEDSTATE ,0,0)=0 then
      begin
         if SendMessage(ActiveControl.HANDLE,CB_GETCURSEL,0,0)= CB_ERR then
           SendMessage(ActiveControl.HANDLE,CB_SETCURSEL,0,0);
         PostMessage(ActiveControl.HANDLE,CB_SHOWDROPDOWN,-1,0);
      end
      else
      begin
         PostMessage(HANDLE,WM_KEYDOWN,vk_TAB,0);
         Key :=0;
      end;
      exit;
    end;

    if ((ActiveControl is TCheckBox)) then
    begin
      PostMessage(HANDLE,WM_KEYDOWN,vk_TAB,0);
      Key := 0;         // 32
      exit;
    end;

    if ((ActiveControl is TEdit)
       or (ActiveControl is TMaskEdit)
       or (ActiveControl is TRadioButton)
       or (ActiveControl is TDBImage)
       or (ActiveControl is TDBComboBox)
       or (ActiveControl is TDBEdit)) then
    begin
      PostMessage(HANDLE,WM_KEYDOWN,vk_TAB,0);
      Key :=0;
    end;
  end;

  if (ord(Key)=9) then
  begin
    if (ActiveControl is TDbgrid) then
    begin
      PostMessage(HANDLE,WM_KEYDOWN,vk_TAB,0);
      Key :=0;
    end;
  end;
end;

// ★★★
// 錯誤處理程序,供異常處理調用
procedure ErrorHandler(expWhich:Exception; sProcedure:string);
var
  F1: TextFile;
  iNum,iLoop: integer;
  sEM: string;
begin
  try
    // 2. 記入錯誤日志
    _sErrorMsg := '計算機: '+_sMachineName+
                  '    發生日期: '+DateTimeToStr(Now)+#13+
                  '    錯誤程序: '+sProcedure+
                  '    錯誤信息: ';

    // 2.1. 判斷錯誤日志文件是否存在
    AssignFile(F1, _sErrorFile);
    if FileExists(_sErrorFile)=false then
    begin
      rewrite(F1); // 創建并打開
    end
    else
      append(F1);  // 打開并追加

    // 2.2. 判斷是否為BDE錯誤
    if (expWhich is EDBEngineError) then
    begin
      iNum:=(expWhich as EDBEngineError).ErrorCount;  // 取錯誤的總數
      // 循環取每個錯誤的號和信息
      for iLoop:=0 to iNum-1 do
      begin
        _iErrorCode := (expWhich as EDBEngineError).Errors[iLoop].Errorcode; //取錯誤號
        sEM := IntToStr(_iErrorCode) + '  ' +
               (expWhich as EDBEngineError).Errors[iLoop].message;          //取錯誤信息
        _sErrorMsg := _sErrorMsg+#13+'    '+sEM;
      end;
    end

    // 2.3. 非BDE錯誤處理
    else
    begin
      _iErrorCode:=1;    //非BDE錯誤則所有錯誤號都為'1'
      _sErrorMsg := _sErrorMsg + #13 + '    ' + expWhich.Message;
    end;

    // 2.4. 寫入日志
    Writeln(F1, _sErrorMsg);
    CloseFile(F1); // 關閉文件

    if _bShowSysError then
      Application.MessageBox(PChar(_sErrorMsg),
                             pchar(_sAppTitle),
                             mb_IconError+mb_ok);
  except
    Application.MessageBox('記錄系統錯誤時出錯.',
                           pchar(_sAppTitle),
                           mb_IconError+mb_ok);
  end;
end;

// ★★★
// 取錯誤號和錯誤信息

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲女人久久久久毛片| 亚洲chinese男男1069| 一片黄亚洲嫩模| 精品一区二区免费看| 色av一区二区| 久久午夜国产精品| 图片区小说区国产精品视频| eeuss国产一区二区三区| 91精品国产麻豆| 亚洲1区2区3区4区| 91麻豆国产在线观看| 国产欧美一区二区精品性色 | 国产乱人伦偷精品视频免下载 | 不卡的av电影| 2020国产精品自拍| 青娱乐精品视频| 欧美裸体一区二区三区| 亚洲精品国久久99热| 99热在这里有精品免费| 国产无遮挡一区二区三区毛片日本| 日韩电影免费在线| 欧美日韩五月天| 亚洲一级二级三级在线免费观看| 91捆绑美女网站| 最新不卡av在线| 波多野结衣欧美| 自拍av一区二区三区| 99精品久久免费看蜜臀剧情介绍| 国产精品久久久久久妇女6080| 国产99久久久国产精品潘金网站| 久久综合九色综合久久久精品综合| 青青草国产精品97视觉盛宴| 91麻豆精品久久久久蜜臀 | 亚洲第一福利视频在线| 一本到不卡精品视频在线观看| 中文欧美字幕免费| 成人的网站免费观看| 国产亚洲人成网站| 国产999精品久久久久久 | 欧美精品少妇一区二区三区| 亚洲一区二区在线播放相泽| 色94色欧美sute亚洲13| 亚洲福利电影网| 欧美二区在线观看| 精品无码三级在线观看视频| 久久新电视剧免费观看| 国产成人精品亚洲日本在线桃色| 久久精品视频网| 91麻豆精品在线观看| 亚洲成人激情综合网| 日韩一区二区免费在线电影| 精品综合免费视频观看| 日本一区二区三级电影在线观看| 成人h精品动漫一区二区三区| 最新欧美精品一区二区三区| 91福利在线导航| 久久99精品国产91久久来源| 国产午夜精品一区二区三区嫩草| 91亚洲男人天堂| 日本视频中文字幕一区二区三区| 久久伊99综合婷婷久久伊| 成人99免费视频| 午夜精品视频在线观看| 久久免费美女视频| 91福利在线观看| 激情久久五月天| 伊人色综合久久天天| 日韩午夜在线观看视频| 成人激情视频网站| 日韩成人精品在线| 中文字幕欧美日韩一区| 欧美丰满少妇xxxxx高潮对白| 国产乱子伦一区二区三区国色天香| 亚洲欧洲成人av每日更新| 91麻豆精品国产91久久久资源速度| 国产成人亚洲精品青草天美| 亚洲最大成人网4388xx| 久久嫩草精品久久久精品一| 欧美少妇bbb| 99久久99久久免费精品蜜臀| 美女一区二区在线观看| 亚洲欧美激情小说另类| 久久综合精品国产一区二区三区| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 日韩av电影免费观看高清完整版| 国产欧美日韩久久| 3751色影院一区二区三区| 99久免费精品视频在线观看| 精品一区二区在线观看| 亚洲国产一区视频| 亚洲天堂免费看| 国产欧美日韩亚州综合| 欧美成人猛片aaaaaaa| 欧美日韩精品一区二区天天拍小说| 成人涩涩免费视频| 国内不卡的二区三区中文字幕 | 欧美日韩aaaaaa| eeuss鲁一区二区三区| 国产麻豆视频精品| 美国十次综合导航| 亚洲成av人影院| 一区av在线播放| 亚洲人妖av一区二区| 国产精品国产自产拍高清av| 久久久国产综合精品女国产盗摄| 欧美成人video| 成人国产在线观看| 国产成人午夜高潮毛片| 国产麻豆午夜三级精品| 国产精品亚洲一区二区三区妖精| 蜜臀91精品一区二区三区| 丝袜亚洲另类欧美| 日韩影院免费视频| 日本人妖一区二区| 秋霞午夜av一区二区三区| 秋霞午夜av一区二区三区| 美女高潮久久久| 久久成人18免费观看| 免费看黄色91| 国产一区二区三区四区在线观看| 国产精品一区二区三区网站| 国模套图日韩精品一区二区| 精品一区二区三区蜜桃| 国产午夜三级一区二区三| 欧美精品一级二级三级| 51精品国自产在线| 日韩一区二区免费在线电影| 欧美sm美女调教| 国产日韩亚洲欧美综合| 国产精品久久毛片av大全日韩| 日本一区二区三区四区| 又紧又大又爽精品一区二区| 午夜一区二区三区在线观看| 日韩va亚洲va欧美va久久| 精品在线一区二区| 高清免费成人av| 色综合色狠狠综合色| 欧美无砖专区一中文字| 欧美电影免费观看高清完整版在线观看| 精品国产一区二区三区av性色| 国产午夜精品一区二区三区视频| 最新成人av在线| 日本aⅴ精品一区二区三区| 国产成+人+日韩+欧美+亚洲| 99国内精品久久| 日韩三级在线免费观看| 国产午夜精品一区二区三区四区| 亚洲美女在线国产| 免费一区二区视频| 成人精品免费看| 制服丝袜中文字幕亚洲| 国产日韩欧美一区二区三区乱码 | 国产精品少妇自拍| 亚洲女与黑人做爰| 精品亚洲aⅴ乱码一区二区三区| 成人污视频在线观看| 欧美日韩国产在线观看| wwwwww.欧美系列| 亚洲h精品动漫在线观看| 色婷婷久久99综合精品jk白丝| 欧美久久久久久蜜桃| 国产日韩欧美在线一区| 亚洲高清久久久| youjizz国产精品| 91精品在线麻豆| 亚洲三级电影网站| 经典三级视频一区| 欧美日韩国产不卡| 1024国产精品| 经典三级在线一区| 欧美精品日韩综合在线| 亚洲三级电影全部在线观看高清| 久久精品国产久精国产| 欧美色国产精品| 亚洲情趣在线观看| 国产成人精品www牛牛影视| 欧美三电影在线| 一区二区三区四区视频精品免费 | 亚洲一区二区黄色| 成人综合婷婷国产精品久久| 欧美大片在线观看| 亚洲国产精品一区二区久久 | 国产精品一区二区久激情瑜伽| 欧美精品日韩精品| 亚洲高清免费视频| 欧美视频日韩视频| 一区二区三区欧美| 色综合久久中文综合久久牛| 国产精品理论片在线观看| 国产伦理精品不卡| 久久精品综合网| 国产999精品久久久久久绿帽| 久久夜色精品一区| 国产99一区视频免费| 国产亚洲欧美一区在线观看| 国产一区二区三区综合| 亚洲精品一区二区三区蜜桃下载| 九色综合狠狠综合久久| 久久久久久久久久久久久久久99 |