Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08-07-2008, 22:10:36
Avatar de seba123neo
seba123neo seba123neo is offline
Moderador
 
Registrado: nov 2007
Ubicación: Argentina
Posts: 388
seba123neo Valoración +2
Predeterminado Re: Saber formato de fecha en configuracion regional

Hola,te paso un codigo para saber el formato de fecha corta que esta configurado en la maquina...

En un Modulo(bas)

Código:
Option Explicit

Public Const LOCALE_SSHORTDATE As Long = &H1F 'para averiguar el formato de fecha corta
Public Const LOCALE_SLONGDATE As Long = &H20 'para averiguar el formato de fecha larga
Public Const DATE_LONGDATE As Long = &H2
Public Const DATE_SHORTDATE As Long = &H1

Public Declare Function EnumDateFormats Lib "kernel32" Alias "EnumDateFormatsA" (ByVal lpDateFmtEnumProc As Long, ByVal Locale As Long, ByVal dwFlags As Long) As Long
Public 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
   
Public Function fGetUserLocaleInfo(ByVal lLocaleID As Long, ByVal lLCType As Long) As String
Dim sReturn As String
Dim lReturn As Long
lReturn = GetLocaleInfo(lLocaleID, lLCType, sReturn, Len(sReturn))
If lReturn Then
sReturn = Space$(lReturn)
lReturn = GetLocaleInfo(lLocaleID, lLCType, sReturn, Len(sReturn))
If lReturn Then
fGetUserLocaleInfo = Left$(sReturn, lReturn - 1)
End If
End If
End Function

Public Function fEnumDates(lDateFormatString As Long) As Long
fEnumDates = 1
End Function
En el Formulario:

Código:
Option Explicit

Private Sub Form_Load()
Dim i As Long
Call EnumDateFormats(AddressOf fEnumDates, i, DATE_SHORTDATE)
MsgBox fGetUserLocaleInfo(i, LOCALE_SSHORTDATE)
End Sub

saludos.
__________________
Todos somos ignorantes; lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein
Responder Con Cita