Retrieve the Regional Setting w/o using the RegistryTag(s): WinAPI/Registry


[local external functions]
FUNCTION int GetLocaleInfoA(ulong locale,ulong lctype,REF string data,int size) &
  LIBRARY "kernel32.dll"
FUNCTION ulong GetSystemDefaultLCID() LIBRARY "kernel32.dll"

[powerscript]
CONSTANT long LOCALE_ILANGUAGE = 1         '  LANGID  in hexadecimal digits
CONSTANT long LOCALE_SLANGUAGE = 2         '  Full localized name of the language
CONSTANT long LOCALE_SENGLANGUAGE = 4097   '  Full English U.S. name of the language ISO Standard 639
CONSTANT long LOCALE_SABBREVLANGNAME = 3   '  Abbreviated name of the language, ISO Standard 639
CONSTANT long LOCALE_SNATIVELANGNAME = 4   '  Native name of the language
CONSTANT long LOCALE_ICOUNTRY = 5          '  Country code, based on international phone codes
CONSTANT long LOCALE_SCOUNTRY = 6          '  The full localized name of the country.
CONSTANT long LOCALE_SENGCOUNTRY = 4098    '  The full English U.S. name of the country.
CONSTANT long LOCALE_SABBREVCTRYNAME = 7   '  Abbreviated name of the country ISO Standard 3166.
CONSTANT long LOCALE_SNATIVECTRYNAME = 8   '  Native name of the country.
CONSTANT long LOCALE_IDEFAULTLANGUAGE = 9  '  LANGID for the principal language spoken in this locale.
CONSTANT long LOCALE_IDEFAULTCOUNTRY = 10  '  Country code for the principal country in this locale.
CONSTANT long LOCALE_IDEFAULTCODEPAGE = 11 '  OEM code page associated with the country.
CONSTANT long LOCALE_SLIST = 12            '  Characters used to separate list items.
CONSTANT long LOCALE_IMEASURE = 13         '  0 for metric system (S.I.) and 1 for the U.S.
CONSTANT long LOCALE_SDECIMAL = 14         '  decimal separator
CONSTANT long LOCALE_STHOUSAND = 15        '  thousand separator
CONSTANT long LOCALE_SGROUPING = 16        '  Sizes for each group of digits to the left of the decimal.
CONSTANT long LOCALE_IDIGITS = 17          '  number of fractional digits
CONSTANT long LOCALE_ILZERO = 18           '  0 means use no leading zeros; 1 means use leading zeros.
CONSTANT long LOCALE_SNATIVEDIGITS = 19    '  Ten characters equivalent of the ASCII 0-9.
CONSTANT long LOCALE_SCURRENCY = 20        '  local monetary symbol
CONSTANT long LOCALE_SINTLSYMBOL = 21      '  International monetary symbol ISO 4217.
CONSTANT long LOCALE_SMONDECIMALSEP = 22   '  monetary decimal separator
CONSTANT long LOCALE_SMONTHOUSANDSEP = 23  '  monetary thousand separator
CONSTANT long LOCALE_SMONGROUPING = 24     '  monetary grouping
CONSTANT long LOCALE_ICURRDIGITS = 25      '  # local monetary digits
CONSTANT long LOCALE_IINTLCURRDIGITS = 26  '  # intl monetary digits
CONSTANT long LOCALE_ICURRENCY = 27        '  positive currency mode
CONSTANT long LOCALE_INEGCURR = 28         '  negative currency mode
CONSTANT long LOCALE_SDATE = 29            '  date separator
CONSTANT long LOCALE_STIME = 30            '  time separator
CONSTANT long LOCALE_SSHORTDATE = 31       '  short date format string
CONSTANT long LOCALE_SLONGDATE = 32        '  long date format string
CONSTANT long LOCALE_STIMEFORMAT = 4099    '  time format string
CONSTANT long LOCALE_IDATE = 33            '  short date format, 0 M