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

📄 adilocaleinfo.cls

📁 Some mathematical functions
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "adiLocaleInfo"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
Private Declare Function ApiGetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Const LOCALE_SDECIMAL = &HE
Private Const LOCALE_STHOUSAND = &HF
Private Const LOCALE_ICENTURY = &H24
Private Const LOCALE_ICOUNTRY = &H5
Private Const LOCALE_ICURRDIGITS = &H19
Private Const LOCALE_ICURRENCY = &H1B
Private Const LOCALE_IDATE = &H21
Private Const LOCALE_IDAYLZERO = &H26
Private Const LOCALE_IDEFAULTCODEPAGE = &HB
Private Const LOCALE_IDEFAULTCOUNTRY = &HA
Private Const LOCALE_IDEFAULTLANGUAGE = &H9
Private Const LOCALE_IDIGITS = &H11
Private Const LOCALE_IINTLCURRDIGITS = &H1A
Private Const LOCALE_ILANGUAGE = &H1
Private Const LOCALE_ILDATE = &H22
Private Const LOCALE_ILZERO = &H12
Private Const LOCALE_IMEASURE = &HD
Private Const LOCALE_IMONLZERO = &H27
Private Const LOCALE_INEGCURR = &H1C
Private Const LOCALE_INEGSEPBYSPACE = &H57
Private Const LOCALE_INEGSIGNPOSN = &H53
Private Const LOCALE_INEGSYMPRECEDES = &H56
Private Const LOCALE_IPOSSEPBYSPACE = &H55
Private Const LOCALE_IPOSSIGNPOSN = &H52
Private Const LOCALE_IPOSSYMPRECEDES = &H54
Private Const LOCALE_ITIME = &H23
Private Const LOCALE_ITLZERO = &H25
Private Const LOCALE_NOUSEROVERRIDE = &H80000000
Private Const LOCALE_S1159 = &H28
Private Const LOCALE_S2359 = &H29
Private Const LOCALE_SABBREVCTRYNAME = &H7
Private Const LOCALE_SABBREVDAYNAME1 = &H31
Private Const LOCALE_SABBREVDAYNAME2 = &H32
Private Const LOCALE_SABBREVDAYNAME3 = &H33
Private Const LOCALE_SABBREVDAYNAME4 = &H34
Private Const LOCALE_SABBREVDAYNAME5 = &H35
Private Const LOCALE_SABBREVDAYNAME6 = &H36
Private Const LOCALE_SABBREVDAYNAME7 = &H37
Private Const LOCALE_SABBREVMONTHNAME1 = &H44
Private Const LOCALE_SABBREVMONTHNAME10 = &H4D
Private Const LOCALE_SABBREVMONTHNAME11 = &H4E
Private Const LOCALE_SABBREVMONTHNAME12 = &H4F
Private Const LOCALE_SABBREVMONTHNAME13 = &H100F
Private Const LOCALE_SABBREVMONTHNAME2 = &H45
Private Const LOCALE_SABBREVMONTHNAME3 = &H46
Private Const LOCALE_SABBREVMONTHNAME4 = &H47
Private Const LOCALE_SABBREVMONTHNAME5 = &H48
Private Const LOCALE_SABBREVMONTHNAME6 = &H49
Private Const LOCALE_SABBREVMONTHNAME7 = &H4A
Private Const LOCALE_SABBREVMONTHNAME8 = &H4B
Private Const LOCALE_SABBREVMONTHNAME9 = &H4C
Private Const LOCALE_SCOUNTRY = &H6
Private Const LOCALE_SCURRENCY = &H14
Private Const LOCALE_SDATE = &H1D
Private Const LOCALE_SDAYNAME1 = &H2A
Private Const LOCALE_SDAYNAME2 = &H2B
Private Const LOCALE_SDAYNAME3 = &H2C
Private Const LOCALE_SDAYNAME4 = &H2D
Private Const LOCALE_SDAYNAME5 = &H2E
Private Const LOCALE_SDAYNAME6 = &H2F
Private Const LOCALE_SDAYNAME7 = &H30
Private Const LOCALE_SENGCOUNTRY = &H1002
Private Const LOCALE_SENGLANGUAGE = &H1001
Private Const LOCALE_SGROUPING = &H10
Private Const LOCALE_SINTLSYMBOL = &H15
Private Const LOCALE_SLANGUAGE = &H2
Private Const LOCALE_SLIST = &HC
Private Const LOCALE_SLONGDATE = &H20
Private Const LOCALE_SMONDECIMALSEP = &H16
Private Const LOCALE_SMONGROUPING = &H18
Private Const LOCALE_SMONTHNAME1 = &H38
Private Const LOCALE_SMONTHNAME10 = &H41
Private Const LOCALE_SMONTHNAME11 = &H42
Private Const LOCALE_SMONTHNAME12 = &H43
Private Const LOCALE_SMONTHNAME2 = &H39
Private Const LOCALE_SMONTHNAME3 = &H3A
Private Const LOCALE_SMONTHNAME4 = &H3B
Private Const LOCALE_SMONTHNAME5 = &H3C
Private Const LOCALE_SMONTHNAME6 = &H3D
Private Const LOCALE_SMONTHNAME7 = &H3E
Private Const LOCALE_SMONTHNAME8 = &H3F
Private Const LOCALE_SMONTHNAME9 = &H40
Private Const LOCALE_SNATIVECTRYNAME = &H8
Private Const LOCALE_SNATIVEDIGITS = &H13
Private Const LOCALE_SNATIVELANGNAME = &H4
Private Const LOCALE_SMONTHOUSANDSEP = &H17
Private Const LOCALE_SNEGATIVESIGN = &H51
Private Const LOCALE_SPOSITIVESIGN = &H50
Private Const LOCALE_SSHORTDATE = &H1F
Private Const LOCALE_STIME = &H1E
Private Const LOCALE_STIMEFORMAT = &H1003
'local variable(s) to hold property value(s)
Private mvarSystemDefLCID As Long 'local copy
'local variable(s) to hold property value(s)
Private mvarUserDefLCID As Long 'local copy

Public Enum adiLCType
    adiDecimalSep = LOCALE_SDECIMAL
    adiThousandSep = LOCALE_STHOUSAND
    adiLangIndicator = LOCALE_ILANGUAGE
    adiLocLang = LOCALE_SLANGUAGE
    adiLanguage = LOCALE_SENGLANGUAGE
    adiCountry = LOCALE_SENGCOUNTRY
    adiListSep = LOCALE_SLIST
    adiMeasureUnits = LOCALE_IMEASURE
    adiGoupingSep = LOCALE_SGROUPING
    adiFractDigits = LOCALE_IDIGITS
    adiLeadZeros = LOCALE_ILZERO
    
End Enum

Public Enum adiLCID
    UserDef = 1
    SystemDef = 2
End Enum

'local variable(s) to hold property value(s)
Private mvarLCID As adiLCID 'local copy
Public Property Let LCID(ByVal vData As adiLCID)
'used when assigning a value to the property, on the left side of an assignment.
'Syntax: X.LCID = 5
    If vData = UserDef Then
        mvarLCID = mvarUserDefLCID
    Else
        mvarLCID = mvarSystemDefLCID
    End If
End Property


Public Property Get LCID() As adiLCID
Attribute LCID.VB_UserMemId = 0
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.LCID
    LCID = mvarLCID
End Property

Private Property Let UserDefLCID(ByVal vData As Long)
'used when assigning a value to the property, on the left side of an assignment.
'Syntax: X.UserDefLCID = 5
    mvarUserDefLCID = vData
End Property

Public Property Get UserDefLCID() As Long
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.UserDefLCID
    UserDefLCID = mvarUserDefLCID
End Property

Public Function GetLocaleInfo(ByVal LCType As adiLCType) As String
    Dim retval As String
    Dim StrLen As Long
    
    'Get the length the string needs to be
    StrLen = ApiGetLocaleInfo(mvarLCID, LCType, retval, 0)
    
    StrLen = StrLen
    
    'Resize the string
    retval = String(StrLen, vbNull)
    
    'Get the Locale Info requested
    StrLen = ApiGetLocaleInfo(LCID, LCType, retval, StrLen)
    
    If StrLen <> 0 Then
        GetLocaleInfo = Left(retval, Len(retval) - 1)
    Else
        GetLocaleInfo = ""
    End If
End Function

Private Property Let SystemDefLCID(ByVal vData As Long)
'used when assigning a value to the property, on the left side of an assignment.
'Syntax: X.LCID = 5
    mvarSystemDefLCID = vData
End Property


Public Property Get SystemDefLCID() As Long
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.LCID
    LCID = mvarSystemDefLCID
End Property

Private Sub Class_Initialize()
    'Get the LCID's for the system
    mvarSystemDefLCID = GetSystemDefaultLCID()
    mvarUserDefLCID = GetUserDefaultLCID()
    
    'Initialize the default values of properties
    mvarLCID = mvarUserDefLCID
End Sub

⌨️ 快捷键说明

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