Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

150 lines
5.1 KiB

/**********************************************************************/
/** Microsoft Windows/NT **/
/** Copyright(c) Microsoft Corp., 1991 **/
/**********************************************************************/
/*
INTLPROF.HXX
Header file for the international profile class
FILE HISTORY:
terryk 29-Aug-91 Created
terryk 13-Sep-91 Code review changes. Attend: beng
davidbul o-simop
terryk 07-Oct-91 Add QueryDurationStr function
terryk 14-Oct-91 Add cSec field to QueryDurationStr
*/
#ifndef _INTLPROF_HXX_
#define _INTLPROF_HXX_
/*************************************************************************
NAME: INTL_PROFILE
SYNOPSIS: Get the WIN.INI's international section information
INTERFACE:
INTL_PROFILE() - constructor. It will also get the latest info.
Refresh() - get the latest info in win.ini.
QueryTimeSeparator() - get the time separator
QueryAMStr() - get the AM string
QueryPMStr() - get the PM string
Is24Hour() - Is it 24 hours format?
IsHourLZero() - Does the hour field have a leading zero?
QueryTimeString() - get the time string in current win.ini format
QueryDateSeparator() - get the date separator
IsYrCentury() - Is year field 4 digits or 2 digits?
IsMonthLZero() - Does month have a leading zero?
IsDayLZero() - Does Day have a leading zero?
QueryYearPos() - get the year position in XX/XX/XX format.
( return 1-3 which indicates the position )
QueryMonthPos() - get the month position in XX/XX/XX format
( return 1-3 which indicates the position )
QueryDayPos() - get the day position in XX/XX/XX format
( return 1-3 which indicates the position )
QueryLongDateString() - get the specified day in long format
QueryShortDateString() - get the specified day in short format
QueryDurationStr() - return the following string
X day if X is less than 2
X days if X is bigger than 2
where X is the input parameter
USES: NLS_STR
CAVEATS:
The user need to include <ctime.hxx> as well.
NOTES:
HISTORY:
terryk 29-Aug-91 Created
beng 07-Mar-1992 Unicode fixes; rewrites
**************************************************************************/
DLL_CLASS INTL_PROFILE : public BASE
{
private:
NLS_STR _nlsLongDate;
NLS_STR _nlsShortDate;
NLS_STR _nlsTimeSep;
NLS_STR _nlsDateSep;
NLS_STR _nlsAMStr;
NLS_STR _nlsPMStr;
BOOL _f24Hour;
BOOL _fTimePrefix; // used only for DBCS
BOOL _fHourLZero;
BOOL _fYrCentury;
BOOL _fMonthLZero;
BOOL _fDayLZero;
INT _nYearPos;
INT _nMonthPos;
INT _nDayPos;
NLS_STR _nlsWDay[7];
NLS_STR _nlsShortWDay[7];
NLS_STR _nlsMonth[12];
NLS_STR _nlsShortMonth[12];
APIERR ScanLongDate( NLS_STR * pnlsResults ) const;
public:
INTL_PROFILE();
APIERR Refresh(); // get the international section information
// TIME routines
APIERR QueryTimeSeparator( NLS_STR *nlsSep ) const;
APIERR QueryAMStr( NLS_STR *nlsAM ) const;
APIERR QueryPMStr( NLS_STR *nlsPM ) const;
BOOL Is24Hour() const
{ return _f24Hour; }
BOOL IsTimePrefix() const
{ return _fTimePrefix; }
BOOL IsHourLZero() const
{ return _fHourLZero; }
// format the time object to the format specified in win.ini
APIERR QueryTimeString( const WIN_TIME & winTime, NLS_STR *nlsTime ) const;
// DATE routines
APIERR QueryDateSeparator( NLS_STR *nlsSep ) const;
// TRUE if Year field is display as Century Year or just 2 digits year
BOOL IsYrCentury() const
{ return _fYrCentury; }
// TRUE if month field need a leading zero
BOOL IsMonthLZero() const
{ return _fMonthLZero; }
// TRUE if day field need a leading zero
BOOL IsDayLZero() const
{ return _fDayLZero; }
// Query Year Position, return a number between 1 - 3
INT QueryYearPos() const
{ return _nYearPos; }
// Query Month Position, return a number between 1 - 3
INT QueryMonthPos() const
{ return _nMonthPos; }
// Query Day Position, return a number between 1 - 3
INT QueryDayPos() const
{ return _nDayPos; }
// format the time object to the format specified in win.ini
APIERR QueryLongDateString( const WIN_TIME & winTime,
NLS_STR *nlsDate ) const;
APIERR QueryShortDateString( const WIN_TIME & winTime,
NLS_STR *nlsDate ) const;
APIERR QueryDurationStr( INT cDay, INT cHour, INT nMin, INT cSec,
NLS_STR *pnlsStr ) const;
};
#endif // _INTLPROF_HXX_