J
JGM
Hi there,
I have this project:
I have to produce forms that will contain calculations under Word.
I live in Canada, some of the users have their Windows language (Regional
Options) set to English(Canada) and others to French(Canada).
This is important for calculations in forms because of the decimal point and
the thousand separator. These change with the language.
So, I know, in Windows XP, how to get the registry keys that will tell me
what the current user is using, then, in my form, I will use the "On Exit"
event of the number fields to activate a macro that will do the maths based
on the user set-up. I am planning to detect the language setting when the
document is opened, then store those settings in some customized document
properties, and finally to do the maths conditionally to the settings.
Alternatively, I could store those settings in some DOCVARIABLEs, and use
nested {IF ...} fields to do the maths.... I think I like the macro idea
better... Nested IF fields can be a pain to write and test... Are there
other options I have not considered?
Anyway, so far so good, I can handle all that.
My problem:
Some users are using Windows 2000, Windows Me and others Windows 98.
I do not have Windows 2000 or Windows Me... So, are the registry keys the
same as Windows XP for those particular settings?
In other words, do the following keys exist in Windows 2000 and Me:
HKEY_Current_User\Control Panel\International\sDecimal
HKEY_Current_User\Control Panel\International\sThousand
HKEY_Current_User\Control Panel\International\sLanguage
I have a machine with Windows 98.
The
HKEY_Current_User\Control Panel\International\sDecimal
does not exist (at least I could not find it), but strangely, sometimes
there is a
HKEY_Current_User\Control Panel\International\Thousand key! It seems to come
and go depending on my changing the default settings for a language.
There is a
HKEY_Current_User\Control Panel\International\Locale
key.
If the language is French, then the key value is "00000C0C"
If it is English, it is something like "00009010"
So, I can detect the language, but it is not enough. What if some user has
set English as a language, but a comma as a decimal point? Where does
Windows 98 store that info? I scanned the registry for various
possibilities, but I did not find anything.
So, How can I detect those values in the registry....?
Finally, what are the version numbers for Windows 2000 and Me?
With
System.Version
I found out that
Windows XP = 5.1
Windows 98 = 4.10
Windows 2000 = ?
Windows Me = ?
Do these numbers change with service packs or not? (I do not think so, but I
better check!)
TIA
I have this project:
I have to produce forms that will contain calculations under Word.
I live in Canada, some of the users have their Windows language (Regional
Options) set to English(Canada) and others to French(Canada).
This is important for calculations in forms because of the decimal point and
the thousand separator. These change with the language.
So, I know, in Windows XP, how to get the registry keys that will tell me
what the current user is using, then, in my form, I will use the "On Exit"
event of the number fields to activate a macro that will do the maths based
on the user set-up. I am planning to detect the language setting when the
document is opened, then store those settings in some customized document
properties, and finally to do the maths conditionally to the settings.
Alternatively, I could store those settings in some DOCVARIABLEs, and use
nested {IF ...} fields to do the maths.... I think I like the macro idea
better... Nested IF fields can be a pain to write and test... Are there
other options I have not considered?
Anyway, so far so good, I can handle all that.
My problem:
Some users are using Windows 2000, Windows Me and others Windows 98.
I do not have Windows 2000 or Windows Me... So, are the registry keys the
same as Windows XP for those particular settings?
In other words, do the following keys exist in Windows 2000 and Me:
HKEY_Current_User\Control Panel\International\sDecimal
HKEY_Current_User\Control Panel\International\sThousand
HKEY_Current_User\Control Panel\International\sLanguage
I have a machine with Windows 98.
The
HKEY_Current_User\Control Panel\International\sDecimal
does not exist (at least I could not find it), but strangely, sometimes
there is a
HKEY_Current_User\Control Panel\International\Thousand key! It seems to come
and go depending on my changing the default settings for a language.
There is a
HKEY_Current_User\Control Panel\International\Locale
key.
If the language is French, then the key value is "00000C0C"
If it is English, it is something like "00009010"
So, I can detect the language, but it is not enough. What if some user has
set English as a language, but a comma as a decimal point? Where does
Windows 98 store that info? I scanned the registry for various
possibilities, but I did not find anything.
So, How can I detect those values in the registry....?
Finally, what are the version numbers for Windows 2000 and Me?
With
System.Version
I found out that
Windows XP = 5.1
Windows 98 = 4.10
Windows 2000 = ?
Windows Me = ?
Do these numbers change with service packs or not? (I do not think so, but I
better check!)
TIA