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.
|
|
/**********************************************************************/ /** 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_
|