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

📄 apilocale.cls

📁 几个不错的VB例子
💻 CLS
📖 第 1 页 / 共 2 页
字号:
    vbMarch = 3
    vbApril = 4
    vbMay = 5
    vbJune = 6
    vbJuly = 7
    vbAugust = 8
    vbSeptember = 9
    vbOctober = 10
    vbNovember = 11
    vbDecember = 12
End Enum
Public Property Get DayName(ByVal DayOfWeek As VbDayOfWeek) As String

Dim index As LocaleInfoIndexes

Select Case DayOfWeek
Case vbMonday
    index = LOCALE_SDAYNAME1
Case vbTuesday
    index = LOCALE_SDAYNAME2
Case vbWednesday
    index = LOCALE_SDAYNAME3
Case vbThursday
    index = LOCALE_SDAYNAME4
Case vbFriday
    index = LOCALE_SDAYNAME5
Case vbSaturday
    index = LOCALE_SDAYNAME6
Case vbSunday
    index = LOCALE_SDAYNAME7
End Select

DayName = GetLocaleInfoItem(index)

End Property


Public Property Get AbbreviatedDayName(ByVal DayOfWeek As VbDayOfWeek) As String

Dim index As LocaleInfoIndexes

Select Case DayOfWeek
Case vbMonday
    index = LOCALE_SABBREVDAYNAME1
Case vbTuesday
    index = LOCALE_SABBREVDAYNAME2
Case vbWednesday
    index = LOCALE_SABBREVDAYNAME3
Case vbThursday
    index = LOCALE_SABBREVDAYNAME4
Case vbFriday
    index = LOCALE_SABBREVDAYNAME5
Case vbSaturday
    index = LOCALE_SABBREVDAYNAME6
Case vbSunday
    index = LOCALE_SABBREVDAYNAME7
End Select

AbbreviatedDayName = GetLocaleInfoItem(index)

End Property

Public Property Get DecimalSeparator() As String

    DecimalSeparator = GetLocaleInfoItem(LOCALE_SDECIMAL)
    
End Property

Public Property Get EnglishCountryName() As String

    EnglishCountryName = GetLocaleInfoItem(LOCALE_SENGCOUNTRY)
    
End Property

Public Property Get EnglishCurrencyName() As String

    EnglishCurrencyName = GetLocaleInfoItem(LOCALE_SENGCURRNAME)
    
End Property

Public Property Get EnglishLanguageName() As String

    EnglishLanguageName = GetLocaleInfoItem(LOCALE_SENGLANGUAGE)
    
End Property

Private Function GetLocaleInfoItem(ByVal index As LocaleInfoIndexes) As String

Dim sBuff As String
Dim lret As Long

sBuff = String$(1024, 0)
lret = GetLocaleInfo(mLocaleId, index, sBuff, Len(sBuff))
If Err.LastDllError Then
    ReportError Err.LastDllError, "ApiLocale:GetItemInfo - " & index, GetLastSystemError
Else
    If lret > 0 Then
        sBuff = Left$(sBuff, lret)
        If InStr(sBuff, Chr$(0)) > 1 Then
            sBuff = Left$(sBuff, InStr(sBuff, Chr$(0)) - 1)
        End If
    End If
End If

GetLocaleInfoItem = sBuff

End Function


Public Property Get LocalCountryName() As String

    LocalCountryName = GetLocaleInfoItem(LOCALE_SCOUNTRY)
    
End Property

Public Property Get LocalCurrencyName() As String

    LocalCurrencyName = GetLocaleInfoItem(LOCALE_SNATIVECURRNAME)
    
End Property

Public Property Get LocaleId() As Long

    LocaleId = mLocaleId
    
End Property

Public Property Let LocaleId(ByVal newId As Long)

If mLocaleId <> newId Then
    mLocaleId = newId
End If

End Property

Public Property Get LocalLanguageName() As String

    LocalLanguageName = GetLocaleInfoItem(LOCALE_SLANGUAGE)
    
End Property

Public Property Get Mainlanguage() As enLocaleMainLanguage

    Mainlanguage = APIDispenser.GetBits(mLocaleId, 0, 9)

End Property



Public Property Get MonthName(ByVal MonthOfYear As vbMonthOfYear) As String

Dim index As LocaleInfoIndexes

index = LOCALE_SMONTHNAME1 + (MonthOfYear - 1)
MonthName = GetLocaleInfoItem(index)

End Property

Public Property Get AbbreviatedMonthName(ByVal MonthOfYear As vbMonthOfYear) As String

Dim index As LocaleInfoIndexes

index = LOCALE_SABBREVMONTHNAME1 + (MonthOfYear - 1)
AbbreviatedMonthName = GetLocaleInfoItem(index)

End Property
Public Property Get SortOrder() As enLocaleSortOrders

    SortOrder = APIDispenser.GetBits(mLocaleId, 16, 19)

End Property

Public Property Get Sublanguage() As enLocaleSublanguages

Dim mSubLang As Long

mSubLang = APIDispenser.GetBits(mLocaleId, 10, 15)
'\\ Sub language depens on what the main language is....
Select Case Mainlanguage
Case LANG_ARABIC
    Select Case mSubLang
    Case &H1
        Sublanguage = SUBLANG_ARABIC_SAUDI_ARABIA
    Case &H2
        Sublanguage = SUBLANG_ARABIC_IRAQ
    Case &H3
        Sublanguage = SUBLANG_ARABIC_EGYPT
    Case &H4
        Sublanguage = SUBLANG_ARABIC_LIBYA
    Case &H5
        Sublanguage = SUBLANG_ARABIC_ALGERIA
    Case &H6
        Sublanguage = SUBLANG_ARABIC_MOROCCO
    Case &H7
        Sublanguage = SUBLANG_ARABIC_TUNISIA
    Case &H8
        Sublanguage = SUBLANG_ARABIC_OMAN
    Case &H9
        Sublanguage = SUBLANG_ARABIC_YEMEN
    Case &HA
        Sublanguage = SUBLANG_ARABIC_SYRIA
    Case &HB
        Sublanguage = SUBLANG_ARABIC_JORDAN
    Case &HC
        Sublanguage = SUBLANG_ARABIC_LEBANON
    Case &HD
        Sublanguage = SUBLANG_ARABIC_KUWAIT
    Case &HE
        Sublanguage = SUBLANG_ARABIC_UAE
    Case &HF
        Sublanguage = SUBLANG_ARABIC_BAHRAIN
    Case &H10
        Sublanguage = SUBLANG_ARABIC_QATAR
    End Select
Case LANG_CHINESE
    Select Case mSubLang
    Case &H1
        Sublanguage = SUBLANG_CHINESE_TRADITIONAL
    Case &H2
        Sublanguage = SUBLANG_CHINESE_SIMPLIFIED
    Case &H3
        Sublanguage = SUBLANG_CHINESE_HONGKONG
    Case &H4
        Sublanguage = SUBLANG_CHINESE_SINGAPORE
    Case &H5
        Sublanguage = SUBLANG_CHINESE_MACAU
    End Select
Case LANG_DUTCH
    Select Case mSubLang
    Case &H1
        Sublanguage = SUBLANG_DUTCH
    Case &H2
        Sublanguage = SUBLANG_DUTCH_BELGIAN
    End Select
Case LANG_ENGLISH
    Select Case mSubLang
    Case &H1 ' English (USA)
        Sublanguage = SUBLANG_ENGLISH_US
    Case &H2 ' English (UK)
        Sublanguage = SUBLANG_ENGLISH_US
    Case &H3 ' English (Australian)
        Sublanguage = SUBLANG_ENGLISH_AUS
    Case &H4 ' English (Canadian)
        Sublanguage = SUBLANG_ENGLISH_CAN
    Case &H5 ' English (New Zealand)
        Sublanguage = SUBLANG_ENGLISH_NZ
    Case &H6 ' English (Irish)
        Sublanguage = SUBLANG_ENGLISH_EIRE
    Case &H7 ' English (South Africa)
        Sublanguage = SUBLANG_ENGLISH_SOUTH_AFRICA
    Case &H8 ' English (Jamaica)
        Sublanguage = SUBLANG_ENGLISH_JAMAICA
    Case &H9 ' English (Caribbean)
        Sublanguage = SUBLANG_ENGLISH_CARIBBEAN
    Case &HA ' English (Belize)
        Sublanguage = SUBLANG_ENGLISH_BELIZE
    Case &HB ' English (Trinidad)
        Sublanguage = SUBLANG_ENGLISH_TRINIDAD
    Case &HC ' English (Zimbabwe)
        Sublanguage = SUBLANG_ENGLISH_ZIMBABWE
    Case &HD ' English (Philippines)
        Sublanguage = SUBLANG_ENGLISH_PHILIPPINES
    End Select
Case LANG_FRENCH
    Select Case mSubLang
    Case &H1
        Sublanguage = SUBLANG_FRENCH
    Case &H2
        Sublanguage = SUBLANG_FRENCH_BELGIAN
    Case &H3
        Sublanguage = SUBLANG_FRENCH_CANADIAN
    Case &H4
        Sublanguage = SUBLANG_FRENCH_SWISS
    Case &H5
        Sublanguage = SUBLANG_FRENCH_LUXEMBOURG
    Case &H6
        Sublanguage = SUBLANG_FRENCH_MONACO
    End Select
Case LANG_GERMAN
    Select Case mSubLang
    Case &H1
        Sublanguage = SUBLANG_GERMAN
    Case &H2
        Sublanguage = SUBLANG_GERMAN_SWISS
    Case &H3
        Sublanguage = SUBLANG_GERMAN_AUSTRIAN
    Case &H4
        Sublanguage = SUBLANG_GERMAN_LUXEMBOURG
    Case &H5
        Sublanguage = SUBLANG_GERMAN_LIECHTENSTEIN
    End Select
Case Else
    Sublanguage = mSubLang
End Select

End Property


Public Property Get ThousandSeparator() As String

    ThousandSeparator = GetLocaleInfoItem(LOCALE_STHOUSAND)
    
End Property


⌨️ 快捷键说明

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