Option Explicit
Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" _
(ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Long
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
Const LOCALE_SSHORTDATE = &H1F
Const LOCALE_USER_DEFAULT = &H400
[COLOR=silver]'_______________________________[/COLOR]
Public Function LPSTRToVBString$(ByVal s$)
Dim nullpos&
nullpos& = InStr(s$, Chr$(0))
If nullpos > 0 Then
LPSTRToVBString = Left$(s$, nullpos - 1)
Else
LPSTRToVBString = ""
End If
End Function
[COLOR=silver]'______________________________[/COLOR]
[COLOR=darkgreen]'Thủ tục thiết lập lại định dạng ngày hệ thống nếu không đúng tiêu chuẩn '"dd/MM/yyyy"[/COLOR]
Private Sub ShortDateFormat_Set()
Dim dl As String
Dim buffer As String * 100
dl = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, buffer, 99)
dl = LPSTRToVBString(buffer)
If UCase(dl) <> "DD/MM/YYYY" Then
dl = SetLocaleInfo(0, LOCALE_SSHORTDATE, "dd/MM/yyyy")
End If
End Sub