USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (Windows)

Título da Dica:  Código para pegar ou alterar configurações regionais ...
Postada em 2/1/2001 por Maze      Clique aqui para enviar email para o autor  mazesyst@ig.com.br
'CÓDIGO PARA PEGAR e ou ALTERAR CONFIGURAÇÔES REGIONAIS:

'ESTE código pega e altera as configurações Regionais.
' Abra um novo projeto no VB6 e:
' No Formulário insira:
' 4 botões e uma caixa texto.

' Este exemplo trata somente de simbolos: decimal e
' Currency (Moeda), mas voce poderá utilizá-lo para
' outros fins como: separador de data etc


'Em General
Option Explicit

'Pega as configurações
Private Declare Function GetLocaleInfo Lib "kernel32" Alias _
"GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String, ByVal cchData As Long) As Long

'Altera as configurações
Private Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean

Private Declare Function GetUserDefaultLCID% Lib "kernel32" ()

'Constantes das Configurações Regionais
Const LOCALE_ICENTURY = &H24
Const LOCALE_ICOUNTRY = &H5
Const LOCALE_ICURRDIGITS = &H19
Const LOCALE_ICURRENCY = &H1B
Const LOCALE_IDATE = &H21
Const LOCALE_IDAYLZERO = &H26
Const LOCALE_IDEFAULTCODEPAGE = &HB
Const LOCALE_IDEFAULTCOUNTRY = &HA
Const LOCALE_IDEFAULTLANGUAGE = &H9
Const LOCALE_IDIGITS = &H11
Const LOCALE_IINTLCURRDIGITS = &H1A
Const LOCALE_ILANGUAGE = &H1
Const LOCALE_ILDATE = &H22
Const LOCALE_ILZERO = &H12
Const LOCALE_IMEASURE = &HD
Const LOCALE_IMONLZERO = &H27
Const LOCALE_INEGCURR = &H1C
Const LOCALE_INEGSEPBYSPACE = &H57
Const LOCALE_INEGSIGNPOSN = &H53
Const LOCALE_INEGSYMPRECEDES = &H56
Const LOCALE_IPOSSEPBYSPACE = &H55
Const LOCALE_IPOSSIGNPOSN = &H52
Const LOCALE_IPOSSYMPRECEDES = &H54
Const LOCALE_ITIME = &H23
Const LOCALE_ITLZERO = &H25
Const LOCALE_NOUSEROVERRIDE = &H80000000
Const LOCALE_S1159 = &H28
Const LOCALE_S2359 = &H29
Const LOCALE_SABBREVCTRYNAME = &H7
Const LOCALE_SABBREVDAYNAME1 = &H31
Const LOCALE_SABBREVDAYNAME2 = &H32
Const LOCALE_SABBREVDAYNAME3 = &H33
Const LOCALE_SABBREVDAYNAME4 = &H34
Const LOCALE_SABBREVDAYNAME5 = &H35
Const LOCALE_SABBREVDAYNAME6 = &H36
Const LOCALE_SABBREVDAYNAME7 = &H37
Const LOCALE_SABBREVLANGNAME = &H3
Const LOCALE_SABBREVMONTHNAME1 = &H44
Const LOCALE_SCOUNTRY = &H6
Const LOCALE_SCURRENCY = &H14
Const LOCALE_SDATE = &H1D
Const LOCALE_SDAYNAME1 = &H2A
Const LOCALE_SDAYNAME2 = &H2B
Const LOCALE_SDAYNAME3 = &H2C
Const LOCALE_SDAYNAME4 = &H2D
Const LOCALE_SDAYNAME5 = &H2E
Const LOCALE_SDAYNAME6 = &H2F
Const LOCALE_SDAYNAME7 = &H30
Const LOCALE_SDECIMAL = &HE
Const LOCALE_SENGCOUNTRY = &H1002
Const LOCALE_SENGLANGUAGE = &H1001
Const LOCALE_SGROUPING = &H10
Const LOCALE_SINTLSYMBOL = &H15
Const LOCALE_SLANGUAGE = &H2
Const LOCALE_SLIST = &HC
Const LOCALE_SLONGDATE = &H20
Const LOCALE_SMONDECIMALSEP = &H16
Const LOCALE_SMONGROUPING = &H18
Const LOCALE_SMONTHNAME1 = &H38
Const LOCALE_SMONTHNAME10 = &H41
Const LOCALE_SMONTHNAME11 = &H42
Const LOCALE_SMONTHNAME12 = &H43
Const LOCALE_SMONTHNAME2 = &H39
Const LOCALE_SMONTHNAME3 = &H3A
Const LOCALE_SMONTHNAME4 = &H3B
Const LOCALE_SMONTHNAME5 = &H3C
Const LOCALE_SMONTHNAME6 = &H3D
Const LOCALE_SMONTHNAME7 = &H3E
Const LOCALE_SMONTHNAME8 = &H3F
Const LOCALE_SMONTHNAME9 = &H40
Const LOCALE_SMONTHOUSANDSEP = &H17
Const LOCALE_SNATIVECTRYNAME = &H8
Const LOCALE_SNATIVEDIGITS = &H13
Const LOCALE_SNATIVELANGNAME = &H4
Const LOCALE_SNEGATIVESIGN = &H51
Const LOCALE_SPOSITIVESIGN = &H50
Const LOCALE_SSHORTDATE = &H1F
Const LOCALE_STHOUSAND = &HF
Const LOCALE_STIME = &H1E
Const LOCALE_STIMEFORMAT = &H1003

'CÒDIGO PARA O FORMULÁRIO:
Private Sub Command1_Click() ' PEGA simbolo decimal ATUAL

    Dim Symbol As String
    Dim iRet1 As Long
    Dim iRet2 As Long
    Dim lpLCDataVar As String
    Dim Pos As Integer
    Dim Locale As Long
    
    Locale = GetUserDefaultLCID()
    
    iRet1 = GetLocaleInfo(Locale, LOCALE_SDECIMAL, lpLCDataVar, 0)
    Symbol = String$(iRet1, 0)
    
    iRet2 = GetLocaleInfo(Locale, LOCALE_SDECIMAL, Symbol, iRet1)
    Pos = InStr(Symbol, Chr$(0))
    
    If Pos > 0 Then
        Symbol = Left$(Symbol, Pos - 1)
        MsgBox "Simbolo decimal atual = " + Symbol
    End If

End Sub


Private Sub Command2_Click() ' PEGA SIMBOLO CURRENCY ATUAL

    Dim Symbol As String
    Dim iRet1 As Long
    Dim iRet2 As Long
    Dim lpLCDataVar As String
    Dim Pos As Integer
    Dim Locale As Long
    
    Locale = GetUserDefaultLCID()
    
    iRet1 = GetLocaleInfo(Locale, LOCALE_SMONDECIMALSEP, lpLCDataVar, 0)
    Symbol = String$(iRet1, 0)
    
    iRet2 = GetLocaleInfo(Locale, LOCALE_SMONDECIMALSEP, Symbol, iRet1)
    Pos = InStr(Symbol, Chr$(0))
    
    If Pos > 0 Then
        Symbol = Left$(Symbol, Pos - 1)
        MsgBox "Simbolo currency atual = " + Symbol
    End If

End Sub


Private Sub Command4_Click() ' Altera o Simbolo Decimal

    Dim Symbol As String
    Dim iRet As Long
    Dim Locale As Long
    
    On Error GoTo ErroTexto
    
    If Trim(Text1) = "" Then GoTo ErroTexto
    
    Locale = GetUserDefaultLCID() 'Get user Locale ID
    Symbol = Text1 'Novo caracter para a configuração Regional
    'digite um novo simbolo na caixa-texto
    iRet = SetLocaleInfo(Locale, LOCALE_SDECIMAL, Symbol)
    
    Exit Sub

ErroTexto:
    MsgBox "Digite um simbolo DECIMAL válido"

End Sub

Private Sub Command3_Click() ' Altera o Simbolo CURRENCY

    Dim Symbol As String
    Dim iRet As Long
    Dim Locale As Long
    
    On Error GoTo ErroTexto
    
    If Trim(Text1) = "" Then GoTo ErroTexto
    
    Locale = GetUserDefaultLCID() 'Get user Locale ID
    Symbol = Text1 'Novo caracter para a configuração Regional
    'digite um novo simbolo na caixa-texto
    iRet = SetLocaleInfo(Locale, LOCALE_SMONDECIMALSEP, Symbol)
    
    Exit Sub

ErroTexto:
    MsgBox "Digite um simbolo CURRENCY válido"

End Sub

'sds,

'Maze


 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página