|
Формат номера - разделитель дробной части
|
|||
---|---|---|---|
#18+
Уважаемый форум, Это однозначно боян, но проблема была и остается: есть приложение на Access 2016, которое должно работать для разных региональных настроек, в том числе европейских и американских. Соответственно, в для отображения и использования одного и того же числа системой применяются разные разделители, которые полностью изменяют значение этого числа, в зависимости от региона. Вопрос(ы): - есть ли рецепт, как совместить европейские и американские региональные особенности в одном приложении БЕЗ изменения разделителя руками в системе? - можно ли изменить только разделитель в системе, не привлекая пользователя, из VBA и как? - можно ли определить какой разделитель используется в системе из VBA и как? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2018, 12:56 |
|
Формат номера - разделитель дробной части
|
|||
---|---|---|---|
#18+
IFKСоответственно, в для отображения и использования одного и того же числа системой применяются разные разделители, которые полностью изменяют значение этого числа, в зависимости от региона. Т.е. отображение числа с точкой или запятой в качестве разделителя "полностью изменяют значение этого числа"? Или проблема глубже? Поясните Проверить и изменить значения региональных настроек можно с помощью API функций GetProfileString и WriteProfileString. Но изменение настроек "без спросу" может навредить другим программам на компе. Поэтому это крайне рискованный шаг. Есть простой способ получить значение десятичного разделителя: Код: vbnet 1. 2.
IFK- есть ли рецепт, как совместить европейские и американские региональные особенности в одном приложении БЕЗ изменения разделителя руками в системе? В Excel-е уже давно можно указывать свой десятичный разделитель и разделитель триад вместо системных. В Аксе 2010 этой возможности нет, но, возможно, уже есть в Аксе 2016. Но даже если и есть, это поможет, если настройки касаются конкретной БД и если у всех юзеров стоит нужная версия Акса. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2018, 14:00 |
|
Формат номера - разделитель дробной части
|
|||
---|---|---|---|
#18+
Кривцов Анатолий, Да, именно так. Одно и то же число при вводе пользователями с разными региональными настройками учитывается системой по-разному и отсюда вытекают ошибки, потому что при разработке не получается учесть региональные настройки: точка и запятая есть везде, но используются по-разному. Согласен, что изменение настроек без спросу чревато. Поэтому и прошу помощи, может идеи как есть. :( Можно ли подробнее про использование GetProfileString? Да, в Екселе есть, в Аксессе 2016 нет - проверил, не нашел ничего даже отдаленно похожего. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2018, 14:10 |
|
Формат номера - разделитель дробной части
|
|||
---|---|---|---|
#18+
Я использую такую функцию: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
При запуске приложения можете проверять, что является разделителем, и менять на нужный Вам. А при закрытии возвращать исходный. Если дело только в разделителе целой и дробной части. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 18:12 |
|
|
start [/forum/topic.php?fid=45&fpage=53&tid=1611545]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 18ms |
total: | 157ms |
0 / 0 |