Obtaining System Date Format

Obtaining System Date Format

The DateCheck function is useful when you use the Masked Edit control for entering the date according to the system format. Some countries use the MM/DD/YYYY format, and other countries, like India, use the DD/MM/YYYY format. Instead of hard-coding the Masked Edit controls format as well as mask properties, use this function to set the required date format according to the control panel settings.In the General declaration section of the module, define this:

 Declare Function GetProfileString Lib _	"Kernel" ( Byval Sname$, ByVal Kname$, Byval Def$, _	Byval Ret$, Byval Size% ) as integerglobal datemask as variantglobal dateformat as variant	Sub DateCheck()		Dim Strsecname as string		Dim Strkeyname as string		Dim Varsuccess as variant		Dim Strretdate as string		Dim Strretsep as string		Dim Strchar as string * 1	Strsecname = "Intl"	Strkeyname = "sShortDate"	Strretdate = string$(11,0)	Varsuccess = GetProfilestring_		(Strsecname,Strkeyname,"",Strretdate,_		Len(Strretdate))	Strsecname = "Intl"	Strkeyname = "sDate"	Strretsep = String$(2,0)	Varsuccess = GetProfileString_		(Strsecname,Strkeyname,"",_Strretsep,Len(Strretsep))	Strretsep = Left$(strretsep,1)	Strchar = Ucase$(Left$(strretdate,1))	datemask = "##" & Strretsep & "##" & Strretsep & "####"		Select case strchar			case "D" : dateformat = "DD" _				& strretsep & "MM" & strretsep & "YYYY"			case "M" : dateformat = "MM" _				& strretsep & "DD" & strretsep & "YYYY"			case "Y" : datemask = "####" _				& Strretsep & "##" & strretsep & "##"				dateformat = "YYYY" & _					strretsep & "MM" & strretsep & "DD"	End selectEnd Sub

In the Form_Load event, call the DateCheck procedure to get the current date format, and assign format and mask properties of the Masked Edit control:

 	Sub Form_Load()	DateCheck	' Call the datecheck procedure	Mskdd.format = dateformat	Mskdd.mask = datemaskEnd Sub


Share the Post: