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

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

?? utility.bas

?? 金算盤軟件代碼
?? BAS
?? 第 1 頁 / 共 4 頁
字號:
Attribute VB_Name = "Utility"
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'  公用代碼
'  作者:黃濤
'  日期:1998.02.21
'
'  LoadMRU              從系統注冊表中加載最近打開文件到mnuFileMenu數組
'  SaveMRU              把mnuFileMenu數組中最近打開文件存儲到系統注冊表
'  UpdateMRU            根據打開文件strFileName,調整MRU
'
'  LoadFormSetting      從系統注冊表中加載窗體位置、大小
'  SaveFormSetting      把窗體位置、大小存儲到系統注冊表中。
'
'  LoadFormResPicture   加載窗體內控件的圖片資源
'  UnLoadFormResPicture 卸載窗體內控件的圖片資源
'
'  GetFormResPicture    得到窗體內控件的圖片資源
'  RemoveFormResPicture 刪除窗體內控件的圖片資源
'
'  GetListRecordSet     得到列表的記錄集資源
'  RemoveListRecordSet  刪除列表的記錄集資源
'  ClearListRecordSet   清除列表的記錄集資源
'  ListRecordSetType    列表的記錄集資源類型(枚舉)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Option Explicit
Public Const OPAQUE = 2
Public Enum ListRecordSetType                             '帶'*'表示局部記錄集資源
     lrtCustomer = 1             '單位
     lrtDepartment               '部門
     lrtEmployee                 '職員
     lrtClass1                   '統計
     lrtCurrencys                '全幣種                  *
     lrtTerm                     '付款條件
     lrtAccount                  '科目
     lrtItem                     '商品
     lrtJob                      '工程表
     lrtPosition                 '貨位
     
     lrtRemark                   '摘要
     lrtCustom1                  '自定義項目1
     lrtCustom2                  '自定義項目2
     lrtCustom3                  '自定義項目3
     lrtCustom4                  '自定義項目4
     lrtCustom5                  '自定義項目5
     lrtClass2                   '項目
     lrtRate                     '匯率                    *
     lrtVoucherType              '憑證類型
     lrtCustom0                  '自定義項目0
     
     lrtTemplate                 '單據模板                *
     lrtAccountType              '科目類型                *
     lrtInvRecAccount            '應收/應付科目           *
     lrtCustomerAddress          '單位發貨地址            *
     lrtCustomerBank             '單位開戶銀行            *
     lrtBusinessAddress          '企業地址
     lrtBusinessBank             '企業開戶銀行
     lrtItemUnit                 '商品單位                *
     lrtTax                      '稅率                    *
     lrtTransVoucher             '轉帳憑證                *
     
     lrtPaymentMethod            '付款方式                *

End Enum
Declare Function SetWindowContextHelpId Lib "user32" (ByVal hwnd As Long, ByVal dw As Long) As Long
Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Declare Function ValidateRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Public Declare Function ValidateRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long) As Long
Public Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT, ByVal bErase As Long) As Long
Public Declare Function InvalidateRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bErase As Long) As Long
Public Declare Function UpdateWindow Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function DefWindowProc Lib "user32" Alias "DefWindowProcA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

'Declare Function UpdateColors Lib "gdi32" (ByVal hdc As Long) As Long
Private arrResPicture() As Object                '圖片資源數組
Private arrResPictureID() As Long                '圖片資源ID數組
Private arrResPictureCount() As Integer          '圖片資源加載個數數組
Private arrResPictureType() As Integer           '圖片資源類型

Private arrListRecSet() As rdoResultset             '列表的記錄集資源數組
Private arrListRecSetType() As ListRecordSetType '列表的記錄集資源類型數組
Private arrListRecSetCount() As Integer          '列表的記錄集資源使用個數數組

'改變控件Tag屬性
'參數:strTag 需要改變的Tag,strRep 替換的字符串,intSect 要替換的段號
Public Function ChangeTag(ByVal strTag As String, strRep As String, intSect As Integer, Optional strSep As String = "/", Optional SecondSep As String = "") As String
   Dim strTemp As String
   Dim intSepNum As Integer
   Dim strLeft As String
   Dim strRight As String
   Dim intCount As Integer
   
   If SecondSep = "" Then
        intSepNum = strCount(strTag, strSep) + 1
   Else
        intSepNum = strCount(strTag, SecondSep) + 2
   End If
   
   For intCount = 1 To intSect - 1
        If SecondSep = "" Then
            If strLeft = "" Then
               strLeft = GetNoXString(strTag, intCount, strSep)
            Else
               strLeft = strLeft & strSep & GetNoXString(strTag, intCount, strSep)
            End If
        Else
            If intCount = 1 Then
               strLeft = GetNoXString(strTag, intCount, strSep)
            Else
               If strLeft = "" Then
                   strLeft = GetNoXString(GetNoXString(strTag, 2, strSep), intCount - 1, SecondSep)
               Else
                   strLeft = strLeft & IIf(intCount < 3, strSep, SecondSep) & GetNoXString(GetNoXString(strTag, 2, strSep), intCount - 1, SecondSep)
               End If
            End If
        End If
   Next intCount
   
   For intCount = intSect + 1 To intSepNum
        If SecondSep = "" Then
            If strRight = "" Then
               strRight = GetNoXString(strTag, intCount, strSep)
            Else
               strRight = strRight & strSep & GetNoXString(strTag, intCount, strSep)
            End If
        Else
            If intCount = 1 Then
               strRight = GetNoXString(strTag, intCount, strSep)
            Else
               If strRight = "" Then
                   strRight = GetNoXString(GetNoXString(strTag, 2, strSep), intCount - 1, SecondSep)
               Else
                   strRight = strRight & IIf(intCount < 3, strSep, SecondSep) & GetNoXString(GetNoXString(strTag, 2, strSep), intCount - 1, SecondSep)
               End If
            End If
        End If
   Next intCount
   
   If SecondSep = "" Then
        If strLeft = "" Then
            ChangeTag = strRep & strSep & strRight
        Else
            ChangeTag = strLeft & strSep & strRep & strSep & strRight
        End If
   Else
        If intSect <= 2 Then
            If strLeft = "" Then
                ChangeTag = strRep & strSep & strRight
            Else
                ChangeTag = strLeft & strSep & strRep & strSep & strRight
            End If
        Else
            If strLeft = "" Then
                ChangeTag = strRep & SecondSep & strRight
            Else
                ChangeTag = strLeft & SecondSep & strRep & SecondSep & strRight
            End If
        End If
   End If
End Function

'取欄目寬度
Public Function GetDisplayWidth(ByVal strCaption As String, intLenth As Integer) As Long
   On Error GoTo ErrHandle
   GetDisplayWidth = frmMain.ActiveForm.TextWidth("A") * ((IIf(StrLen(strCaption) > intLenth, StrLen(strCaption), intLenth)) + 1)
   Exit Function
ErrHandle:
   GetDisplayWidth = 90 * (IIf(StrLen(strCaption) > intLenth, StrLen(strCaption), intLenth))
End Function

'取小數位數對應的格式化字符串
Public Function GetFormatString(ByVal intDec As Integer, Optional IsShowSep As Boolean = True) As String
    Dim intI As Integer
    If intDec = 0 Then
        If IsShowSep Then
           GetFormatString = "###,###,###,###,##0"
        Else
           GetFormatString = "#0"
        End If
        Exit Function
    End If
    If IsShowSep Then
       GetFormatString = "###,###,###,###,##0."
    Else
       GetFormatString = "#0."
    End If
    For intI = 1 To intDec
        GetFormatString = GetFormatString + "0"
    Next intI
End Function

'取出用分隔符分隔的字符串中第X個子串(第intSect段)
Public Function GetNoXString(Optional ByVal strSource As String = "", Optional ByVal intSect As Integer = 1, Optional strSeprater As String = " ") As String
 Dim strTemp As String
 Dim intCount As Integer
   GetNoXString = ""
   For intCount = 1 To intSect
       If Trim(strSource) = "" Then
          GetNoXString = ""
          Exit For
       End If
       GetNoXString = Trim(StringOut(strSource, strSeprater))
   Next intCount
End Function

'從系統注冊表中加載最近打開文件到mnuFileMenu數組。
Public Sub LoadMRU()
    Dim intCnt As Integer
    Dim strProduceName As String
    
    strProduceName = App.title
    For intCnt = 0 To 3
        With frmMain.mnuFileMRU(intCnt)
            .Caption = GetSetting(strProduceName, "ORAMRU", "File" & intCnt, "")
            If .Caption <> "" Then
                .Visible = True
                .Caption = "&" & (intCnt + 1) & " " & .Caption
            Else
                .Visible = False
            End If
        End With
    Next
        
    frmMain.mnuFileMRUBar.Visible = frmMain.mnuFileMRU(0).Visible
End Sub

'把mnuFileMenu數組中最近打開文件存儲到系統注冊表。
Public Sub SaveMRU()
    Dim intCnt As Integer
    Dim strProduceName As String
    
    strProduceName = App.title
    For intCnt = 0 To 3
        With frmMain.mnuFileMRU(intCnt)
            SaveSetting strProduceName, "ORAMRU", "File" & intCnt, IIf(.Visible, Mid(.Caption, 4), "")
        End With
    Next
End Sub

'根據打開文件strFileName,調整MRU
Public Sub UpdateMRU(StrFileName As String, Optional strErrFile As String = "")
    Dim intCnt As Integer, intFound As Integer
    Dim strProduceName As String
    Dim strTempName As String
    
    ' 從mnuFileMRU中查找strFileName
    intFound = 3
    For intCnt = 0 To 2
        With frmMain.mnuFileMRU(intCnt)
            If .Visible Then
                If UCase(Mid(.Caption, 4)) = UCase(StrFileName) Then
                    intFound = intCnt
                    Exit For
                End If
            End If
        End With
    Next
    
    strProduceName = App.title
    With frmMain
        For intCnt = intFound To 1 Step -1
            .mnuFileMRU(intCnt).Caption = "&" & intCnt + 1 & " " & Mid(.mnuFileMRU(intCnt - 1).Caption, 4)
            .mnuFileMRU(intCnt).Visible = .mnuFileMRU(intCnt - 1).Visible
        Next
        
        With .mnuFileMRU(0)
            If StrFileName <> "" Then
                .Caption = "&1 " & StrFileName
                .Visible = True
            Else
                If strErrFile <> "" Then
                    intFound = 0
                    For intCnt = 1 To 3
                        If Mid(frmMain.mnuFileMRU(intCnt).Caption, 4) <> strErrFile Then
                            frmMain.mnuFileMRU(intFound).Caption = "&" & intFound + 1 & " " & Mid(frmMain.mnuFileMRU(intCnt).Caption, 4)
                            frmMain.mnuFileMRU(intFound).Visible = frmMain.mnuFileMRU(intCnt).Visible
                            intFound = intFound + 1
                        End If
                    Next
                    For intCnt = intFound To 3
                        frmMain.mnuFileMRU(intCnt).Visible = False
                    Next intCnt
                End If
            End If
        End With
        .mnuFileMRUBar.Visible = frmMain.mnuFileMRU(0).Visible
    End With
    
    SaveMRU
End Sub


'從系統注冊表中加載窗體位置、大小。
Public Sub LoadFormSetting(frmForm As Form)
    Dim strTitle As String, strFormName As String
    Dim intState As Integer
    
    On Error Resume Next
    strTitle = App.title
    strFormName = frmForm.Name
    With frmForm
      intState = GetSetting(strTitle, strFormName, "State", vbNormal)
      If intState <> vbNormal Then
         If intState = vbMinimized Then
           .WindowState = vbMaximized
         Else
           .WindowState = intState
         End If
      Else
        .Move GetSetting(strTitle, strFormName, "Left", .Left), GetSetting(strTitle, strFormName, "Top", .top) _
              , GetSetting(strTitle, strFormName, "Width", .width), GetSetting(strTitle, strFormName, "Height", .Height)
      End If
      If ((.Left + .width) < 0 Or .Left > Screen.width) Then
           .Left = 300
      End If
    End With
End Sub

'把窗體位置、大小存儲到系統注冊表中。
Public Sub SaveFormSetting(frmForm As Form)
    Dim strTitle As String, strFormName As String
    
    strTitle = App.title
    strFormName = frmForm.Name
    With frmForm
      SaveSetting strTitle, strFormName, "State", .WindowState
      'If Not .WindowState = vbMaximized Then
      If .WindowState = vbNormal Then
        SaveSetting strTitle, strFormName, "Left", .Left
        SaveSetting strTitle, strFormName, "Top", .top
        SaveSetting strTitle, strFormName, "Width", .width
        SaveSetting strTitle, strFormName, "Height", .Height
      End If
    End With
End Sub


'
'資源管理
'

'加載窗體內控件的圖片資源
Public Sub LoadFormResPicture(ByVal frmForm As Form)
    Dim ctlControl As Control
    Dim strControlType As String
    Dim strResID As String
    
    On Error GoTo Error_Handle
    
    Set frmForm.Icon = GetFormResPicture(139, vbResIcon)
    For Each ctlControl In frmForm.Controls
        strControlType = TypeName(ctlControl)
        strResID = ctlControl.Tag
        
        If strResID > "0" And strResID < "32767" And UCase(strControlType) <> UCase("ListText") Then
            If strResID > "1000" And strResID < "2000" Then
                Set ctlControl.Picture = GetFormResPicture(CLng(strResID), vbResBitmap)
            ElseIf strResID > "2000" And strResID < "3000" Then
                Select Case strControlType
                Case ""
                Case Else
                     Set ctlControl.MouseIcon = GetFormResPicture(CLng(strResID), vbResCursor)
                End Select
            Else
                Select Case strControlType
                Case "CommandButton"
                    Set ctlControl.Picture = GetFormResPicture(CInt(strResID), vbResBitmap)
                Case "MSFlexGrid"

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日产亚洲精品系列| 日韩中文字幕一区二区三区| 国产精品成人免费在线| 日韩成人dvd| 在线亚洲高清视频| 精品国产乱码久久久久久浪潮| 中文字幕亚洲区| 激情另类小说区图片区视频区| 91在线云播放| 国产欧美日韩另类视频免费观看| 亚洲成人av电影在线| av午夜一区麻豆| 久久亚洲综合色一区二区三区| 一区二区三区在线免费播放| 成人夜色视频网站在线观看| 精品久久久久久久久久久久久久久| 亚洲一二三级电影| 91在线精品秘密一区二区| 综合久久久久久久| 久久精品噜噜噜成人av农村| 日本精品免费观看高清观看| 国产精品丝袜在线| 国产成人精品免费网站| 欧美v日韩v国产v| 蜜桃精品视频在线| 欧美一区二区三区视频免费| 亚洲午夜在线视频| 欧美性一级生活| 一区二区三区影院| 91国内精品野花午夜精品 | 欧美性做爰猛烈叫床潮| 中文字幕一区二区三| zzijzzij亚洲日本少妇熟睡| 国产日产欧产精品推荐色| 国产在线视频一区二区三区| 欧美成人r级一区二区三区| 日本中文字幕一区| 在线成人免费观看| 青青草精品视频| 日韩免费观看高清完整版在线观看| 视频在线观看一区二区三区| 91精品欧美一区二区三区综合在 | 亚洲女人的天堂| 在线一区二区观看| 亚洲chinese男男1069| 555www色欧美视频| 久久99精品国产麻豆不卡| 久久精品网站免费观看| fc2成人免费人成在线观看播放| 中文字幕第一区第二区| 色综合久久天天综合网| 亚洲va欧美va人人爽| 日韩免费高清视频| 国产成人精品免费一区二区| 亚洲色图在线播放| 欧美色视频一区| 蜜桃久久久久久| 欧美国产综合一区二区| 色婷婷综合在线| 日本aⅴ精品一区二区三区| 久久夜色精品国产欧美乱极品| 成人高清免费观看| 午夜精品123| 欧美极品少妇xxxxⅹ高跟鞋| 91免费看`日韩一区二区| 日韩avvvv在线播放| 国产日产欧美一区二区视频| 欧美性受极品xxxx喷水| 精品一区二区影视| 亚洲免费观看高清完整版在线观看熊| 777亚洲妇女| 成人av影院在线| 日韩高清在线一区| 国产精品丝袜91| 777久久久精品| 成人美女在线观看| 日本不卡123| 亚洲综合区在线| 亚洲精品在线网站| 在线观看亚洲专区| 大胆亚洲人体视频| 日本三级亚洲精品| 亚洲女同一区二区| 中文字幕第一区二区| 日韩一区二区在线观看视频播放| a美女胸又www黄视频久久| 毛片av中文字幕一区二区| 亚洲色图在线视频| 欧美激情一区不卡| 日韩精品一区二区三区在线| 欧美影片第一页| av在线播放成人| 国产精品影视天天线| 日韩av在线免费观看不卡| 亚洲欧美日韩国产综合在线| 久久久国际精品| 精品久久一区二区| 91精品一区二区三区在线观看| 91美女蜜桃在线| 成人aaaa免费全部观看| 国产成人午夜高潮毛片| 精品一区二区三区视频| 首页欧美精品中文字幕| 一区二区高清免费观看影视大全 | 日本一区二区三区久久久久久久久不 | 欧美成人性福生活免费看| 欧美日韩精品一区二区天天拍小说| 成人av资源下载| 国产不卡视频在线播放| 国产一区二区电影| 韩国毛片一区二区三区| 精品一区免费av| 蜜桃视频第一区免费观看| 美国毛片一区二区| 蜜臀av国产精品久久久久| 美女一区二区久久| 男女男精品网站| 美女视频网站黄色亚洲| 精品一区二区在线视频| 国产一区视频网站| 国产成人免费在线观看不卡| 国产精品18久久久久久久久| 国产河南妇女毛片精品久久久| 国产成人在线视频网站| 成人午夜免费av| 99精品偷自拍| 欧美在线视频不卡| 777午夜精品免费视频| 欧美xxxx在线观看| 久久久精品tv| 日韩码欧中文字| 亚洲午夜免费电影| 久久成人免费网| 粉嫩av一区二区三区粉嫩| av网站一区二区三区| 在线亚洲+欧美+日本专区| 91精品久久久久久久91蜜桃| 精品理论电影在线观看| 中文字幕一区二区不卡| 亚洲国产精品久久不卡毛片 | 亚洲青青青在线视频| 亚洲va欧美va人人爽| 黄一区二区三区| 成人a免费在线看| 欧美精品一二三四| 精品国产一区二区三区av性色| 国产精品久久久久天堂| 亚洲一区二区三区爽爽爽爽爽| 免费日本视频一区| www.亚洲精品| 91精品黄色片免费大全| 国产精品进线69影院| 日韩av网站免费在线| 99精品国产视频| 欧美mv日韩mv| 一区二区三区影院| 国产一区二区按摩在线观看| 色狠狠av一区二区三区| 精品国产百合女同互慰| 椎名由奈av一区二区三区| 免费日本视频一区| 色av成人天堂桃色av| 精品国产电影一区二区| 亚洲国产成人精品视频| 成人性生交大片免费看中文 | 蜜桃精品在线观看| 日本道在线观看一区二区| 久久免费的精品国产v∧| 亚洲综合网站在线观看| 国产成人自拍在线| 日韩欧美一区二区久久婷婷| 一区二区在线观看视频| 国产成人av一区二区三区在线观看| 欧美三级韩国三级日本一级| 欧美经典一区二区| 国产又粗又猛又爽又黄91精品| 在线亚洲高清视频| 亚洲三级在线播放| 国产高清精品在线| 精品少妇一区二区三区视频免付费 | 欧美男生操女生| 亚洲欧美一区二区久久| 成人久久视频在线观看| 久久这里只精品最新地址| 日韩av一级片| 欧美群妇大交群的观看方式| 亚洲精品中文字幕乱码三区| 波多野结衣亚洲一区| 久久美女艺术照精彩视频福利播放 | 成人av高清在线| 国产欧美精品区一区二区三区 | 色老汉一区二区三区| 亚洲视频免费观看| eeuss鲁一区二区三区| 欧美国产视频在线| 国产黄色精品视频| 国产亚洲一区二区三区在线观看| 老司机精品视频导航| 26uuu色噜噜精品一区| 久久99精品网久久|