DIRECIONAR PARA ACERTAR DATA

NILTON.VIANNA 19/08/2010 21:07:33
#350751
Ola amigos
Tem um comando quando instalar o sistema, seta a data estiver 2/2/2010

[ô]tipo If date <> [Ô]01/01/2010[Ô] then
[ô]excuta o comando [ô]direcionar para painel de controle e opções regionais e idiomas.
[ô]End If

Pra fazer a correção para 01/01/2010.
Grato
Nilton
NILTON.VIANNA 19/08/2010 22:17:26
#350757
Ao Instalar os Projetos Verificar se a data esta no formato 02/02/2010
MARCELO.TREZE 20/08/2010 13:05:20
#350793
Uma api simples pra isto

inclua uma combo, um ComandButton e um Label, em seu projeto para fazer o teste



Option Explicit

Private Const LOCALE_SSHORTDATE = &H1F
Private Declare Function GetSystemDefaultLCID Lib [Ô]kernel32[Ô] () As Long
Private Declare Function SetLocaleInfo Lib [Ô]kernel32[Ô] Alias [Ô]SetLocaleInfoA[Ô] (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean

Private Sub Command1_Click()
Dim lngLocale As Long
lngLocale = GetSystemDefaultLCID()
If SetLocaleInfo(lngLocale, LOCALE_SSHORTDATE, Combo1.Text) = False Then
Label1.Caption = [Ô]Houve um erro ao definir o formato de data ![Ô]
Else
Label1.Caption = [Ô]Formato de data atualizado para [Ô] & Combo1.Text & [Ô] com sucesso ![Ô]
End If
End Sub

Private Sub Form_Load()
With Combo1
.AddItem [Ô][Selecione um formato][Ô]
.AddItem [Ô]MM/dd/yyyy[Ô]
.AddItem [Ô]dd/MM/yyyy[Ô]
.AddItem [Ô]MM-dd-yyyy[Ô]
.AddItem [Ô]dd-MM-yyyy[Ô]
.ListIndex = 0
End With
Label1.Caption = [Ô][Ô]
End Sub


FANYPINK 20/08/2010 14:13:56
#350804
Resposta escolhida
Citação:

:
Ola amigos
Tem um comando quando instalar o sistema, seta a data estiver 2/2/2010

[ô]tipo If date <> [Ô]01/01/2010[Ô] then
[ô]excuta o comando [ô]direcionar para painel de controle e opções regionais e idiomas.
[ô]End If

Pra fazer a correção para 01/01/2010.
Grato
Nilton



[ô]Veja este exemplo:


[ô]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
GERARDA 20/08/2010 22:35:44
#350850

Call Shell([Ô]rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4[Ô], vbNormalFocus)
NILTON.VIANNA 21/08/2010 11:52:23
#350867
acho que é esse mesmo vou fazer o teste
rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4[Ô], vbNormalFocus
FANYPINK 21/08/2010 13:21:35
#350871
Citação:

:
Ola amigos
Tem um comando quando instalar o sistema, seta a data estiver 2/2/2010

[ô]tipo If date <> [Ô]01/01/2010[Ô] then
[ô]excuta o comando [ô]direcionar para painel de controle e opções regionais e idiomas.
[ô]End If

Pra fazer a correção para 01/01/2010.
Grato
Nilton



Ver se o exemplo em anexo serve.

Fany
Tópico encerrado , respostas não são mais permitidas