📄 jwawinnls.pas
字号:
{$EXTERNALSYM CAL_SYEARMONTH}
CAL_ITWODIGITYEARMAX = $00000030; // two digit year max
{$EXTERNALSYM CAL_ITWODIGITYEARMAX}
//
// Calendar Enumeration Value.
//
ENUM_ALL_CALENDARS = DWORD($ffffffff); // enumerate all calendars
{$EXTERNALSYM ENUM_ALL_CALENDARS}
//
// Calendar ID Values.
//
CAL_GREGORIAN = 1; // Gregorian (localized) calendar
{$EXTERNALSYM CAL_GREGORIAN}
CAL_GREGORIAN_US = 2; // Gregorian (U.S.) calendar
{$EXTERNALSYM CAL_GREGORIAN_US}
CAL_JAPAN = 3; // Japanese Emperor Era calendar
{$EXTERNALSYM CAL_JAPAN}
CAL_TAIWAN = 4; // Taiwan Era calendar
{$EXTERNALSYM CAL_TAIWAN}
CAL_KOREA = 5; // Korean Tangun calendar
{$EXTERNALSYM CAL_KOREA}
CAL_HIJRI = 6; // Hijri (Arabic Lunar) calendar
{$EXTERNALSYM CAL_HIJRI}
CAL_THAI = 7; // Thai calendar
{$EXTERNALSYM CAL_THAI}
CAL_HEBREW = 8; // Hebrew (Lunar) calendar
{$EXTERNALSYM CAL_HEBREW}
CAL_GREGORIAN_ME_FRENCH = 9; // Gregorian Middle East French calendar
{$EXTERNALSYM CAL_GREGORIAN_ME_FRENCH}
CAL_GREGORIAN_ARABIC = 10; // Gregorian Arabic calendar
{$EXTERNALSYM CAL_GREGORIAN_ARABIC}
CAL_GREGORIAN_XLIT_ENGLISH = 11; // Gregorian Transliterated English calendar
{$EXTERNALSYM CAL_GREGORIAN_XLIT_ENGLISH}
CAL_GREGORIAN_XLIT_FRENCH = 12; // Gregorian Transliterated French calendar
{$EXTERNALSYM CAL_GREGORIAN_XLIT_FRENCH}
//
// Language Group ID Values.
//
LGRPID_WESTERN_EUROPE = $0001; // Western Europe & U.S.
{$EXTERNALSYM LGRPID_WESTERN_EUROPE}
LGRPID_CENTRAL_EUROPE = $0002; // Central Europe
{$EXTERNALSYM LGRPID_CENTRAL_EUROPE}
LGRPID_BALTIC = $0003; // Baltic
{$EXTERNALSYM LGRPID_BALTIC}
LGRPID_GREEK = $0004; // Greek
{$EXTERNALSYM LGRPID_GREEK}
LGRPID_CYRILLIC = $0005; // Cyrillic
{$EXTERNALSYM LGRPID_CYRILLIC}
LGRPID_TURKISH = $0006; // Turkish
{$EXTERNALSYM LGRPID_TURKISH}
LGRPID_JAPANESE = $0007; // Japanese
{$EXTERNALSYM LGRPID_JAPANESE}
LGRPID_KOREAN = $0008; // Korean
{$EXTERNALSYM LGRPID_KOREAN}
LGRPID_TRADITIONAL_CHINESE = $0009; // Traditional Chinese
{$EXTERNALSYM LGRPID_TRADITIONAL_CHINESE}
LGRPID_SIMPLIFIED_CHINESE = $000a; // Simplified Chinese
{$EXTERNALSYM LGRPID_SIMPLIFIED_CHINESE}
LGRPID_THAI = $000b; // Thai
{$EXTERNALSYM LGRPID_THAI}
LGRPID_HEBREW = $000c; // Hebrew
{$EXTERNALSYM LGRPID_HEBREW}
LGRPID_ARABIC = $000d; // Arabic
{$EXTERNALSYM LGRPID_ARABIC}
LGRPID_VIETNAMESE = $000e; // Vietnamese
{$EXTERNALSYM LGRPID_VIETNAMESE}
LGRPID_INDIC = $000f; // Indic
{$EXTERNALSYM LGRPID_INDIC}
LGRPID_GEORGIAN = $0010; // Georgian
{$EXTERNALSYM LGRPID_GEORGIAN}
LGRPID_ARMENIAN = $0011; // Armenian
{$EXTERNALSYM LGRPID_ARMENIAN}
////////////////////////////////////////////////////////////////////////////
//
// Typedefs
//
// Define all types for the NLS component here.
//
////////////////////////////////////////////////////////////////////////////
//
// Language Group ID.
//
type
LGRPID = DWORD;
{$EXTERNALSYM LGRPID}
//
// Locale type constant.
//
LCTYPE = DWORD;
{$EXTERNALSYM LCTYPE}
//
// Calendar type constant.
//
CALTYPE = DWORD;
{$EXTERNALSYM CALTYPE}
//
// Calendar ID.
//
CALID = DWORD;
{$EXTERNALSYM CALID}
//
// CP Info.
//
LPCPINFO = ^CPINFO;
{$EXTERNALSYM LPCPINFO}
_cpinfo = record
MaxCharSize: UINT; // max length (in bytes) of a char
DefaultChar: array [0..MAX_DEFAULTCHAR - 1] of BYTE; // default character
LeadByte: array [0..MAX_LEADBYTES - 1] of BYTE; // lead byte ranges
end;
{$EXTERNALSYM _cpinfo}
CPINFO = _cpinfo;
{$EXTERNALSYM CPINFO}
TCpInfo = CPINFO;
PCpInfo = LPCPINFO;
{$EXTERNALSYM CPINFOEXA}
LPCPINFOEXA = ^CPINFOEXA;
_cpinfoexA = record
MaxCharSize: UINT; // max length (in bytes) of a char
DefaultChar: array [0..MAX_DEFAULTCHAR - 1] of BYTE; // default character (MB)
LeadByte: array [0..MAX_LEADBYTES - 1] of BYTE; // lead byte ranges
UnicodeDefaultChar: WCHAR; // default character (Unicode)
CodePage: UINT; // code page id
CodePageName: array [0..MAX_PATH - 1] of CHAR; // code page name (Unicode)
end;
{$EXTERNALSYM _cpinfoexA}
CPINFOEXA = _cpinfoexA;
{$EXTERNALSYM LPCPINFOEXA}
TCpInfoExA = CPINFOEXA;
PCpInfoExA = LPCPINFOEXA;
LPCPINFOEXW = ^CPINFOEXW;
{$EXTERNALSYM LPCPINFOEXW}
_cpinfoexW = record
MaxCharSize: UINT; // max length (in bytes) of a char
DefaultChar: array [0..MAX_DEFAULTCHAR - 1] of BYTE; // default character (MB)
LeadByte: array [0..MAX_LEADBYTES - 1] of BYTE; // lead byte ranges
UnicodeDefaultChar: WCHAR; // default character (Unicode)
CodePage: UINT; // code page id
CodePageName: array [0..MAX_PATH - 1] of WCHAR; // code page name (Unicode)
end;
{$EXTERNALSYM _cpinfoexW}
CPINFOEXW = _cpinfoexW;
{$EXTERNALSYM CPINFOEXW}
TCpInfoExW = CPINFOEXW;
PCpInfoExW = LPCPINFOEXW;
{$IFDEF UNICODE}
CPINFOEX = CPINFOEXW;
{$EXTERNALSYM CPINFOEX}
LPCPINFOEX = LPCPINFOEXW;
{$EXTERNALSYM LPCPINFOEX}
TCpInfoEx = TCpInfoExW;
PCpInfoEx = PCpInfoExW;
{$ELSE}
CPINFOEX = CPINFOEXA;
{$EXTERNALSYM CPINFOEX}
LPCPINFOEX = LPCPINFOEXA;
{$EXTERNALSYM LPCPINFOEX}
TCpInfoEx = TCpInfoExA;
PCpInfoEx = PCpInfoExA;
{$ENDIF}
//
// Number format.
//
LPNUMBERFMTA = ^NUMBERFMTA;
{$EXTERNALSYM LPNUMBERFMTA}
_numberfmtA = record
NumDigits: UINT; // number of decimal digits
LeadingZero: UINT; // if leading zero in decimal fields
Grouping: UINT; // group size left of decimal
lpDecimalSep: LPSTR; // ptr to decimal separator string
lpThousandSep: LPSTR; // ptr to thousand separator string
NegativeOrder: UINT; // negative number ordering
end;
{$EXTERNALSYM _numberfmtA}
NUMBERFMTA = _numberfmtA;
{$EXTERNALSYM NUMBERFMTA}
TNumberFmtA = NUMBERFMTA;
PNumberFmtA = LPNUMBERFMTA;
LPNUMBERFMTW = ^NUMBERFMTW;
{$EXTERNALSYM LPNUMBERFMTW}
_numberfmtW = record
NumDigits: UINT; // number of decimal digits
LeadingZero: UINT; // if leading zero in decimal fields
Grouping: UINT; // group size left of decimal
lpDecimalSep: LPWSTR; // ptr to decimal separator string
lpThousandSep: LPWSTR; // ptr to thousand separator string
NegativeOrder: UINT; // negative number ordering
end;
{$EXTERNALSYM _numberfmtW}
NUMBERFMTW = _numberfmtW;
{$EXTERNALSYM NUMBERFMTW}
TNumberFmtW = NUMBERFMTW;
PNumberFmtW = LPNUMBERFMTW;
{$IFDEF UNICODE}
NUMBERFMT = NUMBERFMTW;
{$EXTERNALSYM NUMBERFMT}
LPNUMBERFMT = LPNUMBERFMTW;
{$EXTERNALSYM LPNUMBERFMT}
TNumberFmt = TNumberFmtW;
PNumberFmt = TNumberFmtW;
{$ELSE}
NUMBERFMT = NUMBERFMTA;
{$EXTERNALSYM NUMBERFMT}
LPNUMBERFMT = LPNUMBERFMTA;
{$EXTERNALSYM LPNUMBERFMT}
TNumberFmt = TNumberFmtA;
PNumberFmt = TNumberFmtA;
{$ENDIF}
//
// Currency format.
//
LPCURRENCYFMTA = ^CURRENCYFMTA;
{$EXTERNALSYM LPCURRENCYFMTA}
_currencyfmtA = record
NumDigits: UINT; // number of decimal digits
LeadingZero: UINT; // if leading zero in decimal fields
Grouping: UINT; // group size left of decimal
lpDecimalSep: LPSTR; // ptr to decimal separator string
lpThousandSep: LPSTR; // ptr to thousand separator string
NegativeOrder: UINT; // negative currency ordering
PositiveOrder: UINT; // positive currency ordering
lpCurrencySymbol: LPSTR; // ptr to currency symbol string
end;
{$EXTERNALSYM _currencyfmtA}
CURRENCYFMTA = _currencyfmtA;
{$EXTERNALSYM CURRENCYFMTA}
TCurrencyFmtA = CURRENCYFMTA;
PCurrencyFmtA = LPCURRENCYFMTA;
LPCURRENCYFMTW = ^CURRENCYFMTW;
{$EXTERNALSYM LPCURRENCYFMTW}
_currencyfmtW = record
NumDigits: UINT; // number of decimal digits
LeadingZero: UINT; // if leading zero in decimal fields
Grouping: UINT; // group size left of decimal
lpDecimalSep: LPWSTR; // ptr to decimal separator string
lpThousandSep: LPWSTR; // ptr to thousand separator string
NegativeOrder: UINT; // negative currency ordering
PositiveOrder: UINT; // positive currency ordering
lpCurrencySymbol: LPWSTR; // ptr to currency symbol string
end;
{$EXTERNALSYM _currencyfmtW}
CURRENCYFMTW = _currencyfmtW;
{$EXTERNALSYM CURRENCYFMTW}
TCurrencyFmtW = CURRENCYFMTW;
PCurrencyFmtW = LPCURRENCYFMTW;
{$IFDEF UNICODE}
CURRENCYFMT = CURRENCYFMTW;
{$EXTERNALSYM CURRENCYFMT}
LPCURRENCYFMT = LPCURRENCYFMTW;
{$EXTERNALSYM LPCURRENCYFMT}
TCurrencyFmt = TCurrencyFmtW;
PCurrencyFmt = PCurrencyFmtW;
{$ELSE}
CURRENCYFMT = CURRENCYFMTA;
{$EXTERNALSYM CURRENCYFMT}
LPCURRENCYFMT = LPCURRENCYFMTA;
{$EXTERNALSYM LPCURRENCYFMT}
TCurrencyFmt = TCurrencyFmtA;
PCurrencyFmt = PCurrencyFmtA;
{$ENDIF}
//
// NLS function capabilities
//
const
COMPARE_STRING = $0001;
{$EXTERNALSYM COMPARE_STRING}
type
SYSNLS_FUNCTION = DWORD;
{$EXTERNALSYM SYSNLS_FUNCTION}
NLS_FUNCTION = DWORD;
{$EXTERNALSYM NLS_FUNCTION}
TSysNlsFunction = SYSNLS_FUNCTION;
TNlsFunction = NLS_FUNCTION;
//
// NLS version structure.
//
_nlsversioninfo = record
dwNLSVersionInfoSize: DWORD;
dwNLSVersion: DWORD;
dwDefinedVersion: DWORD;
end;
{$EXTERNALSYM _nlsversioninfo}
NLSVERSIONINFO = _nlsversioninfo;
{$EXTERNALSYM NLSVERSIONINFO}
LPNLSVERSIONINFO = ^NLSVERSIONINFO;
{$EXTERNALSYM LPNLSVERSIONINFO}
TNlsVersionInfo = NLSVERSIONINFO;
PNlsVersionInfo = LPNLSVERSIONINFO;
//
// GEO defines
//
type
GEOID = LONG;
{$EXTERNALSYM GEOID}
GEOTYPE = DWORD;
{$EXTERNALSYM GEOTYPE}
GEOCLASS = DWORD;
{$EXTERNALSYM GEOCLASS}
const
GEOID_NOT_AVAILABLE = -1;
{$EXTERNALSYM GEOID_NOT_AVAILABLE}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -