![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
в ос виндоус есть настройка разделителя дробной и целой части,
как его узнать программным путем, желательно без обращения к реестру, или предусматреть что реестр различных версий винды имеет различные ключи... -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Сорри, что не совсем в сабж, но если надо внутри проги свой разделитель, то использовать можно DecimalSeparator := ' {то, что нужно}'...
|
|||
|
||||
| dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 6 Всего: 137 |
ИМХО, DecimalSeparator как раз и установлен изначально как в настройках Windows.
Но если надо поменять, то DecimalSeparator меняет только внутри приложения. |
|||
|
||||
| stab |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
угу, так и есть, а узнать без использования DecimalSeparator можно так:
-------------------- 6, 6, 6 - the number of the beast. |
||||
|
|||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
Спасибо
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
И ещё, учтите, если не предпринять специальных действий, то значение DecimalSeparator может измениться уже во время работы приложения, если пользователь сменит настройку Windows!
-------------------- Все знать невозможно, но хочется |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
2Петрович а что ты понимаешь под словосочетанием "если не предпринять специальных действий"?
Можно поподробнее? Заранее благодарен! -------------------- |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Легко. Дело в том, что при изменении интернациональных настроек, к которым относится формат даты, времени, чисел с плавающей точкой, и пр., Windows посылает всем приложениям специальное сообщение (имя не помню). По идее, грамотно написанные приложения должны как минимум перерисоваться с учетом этих настроек. Borland, как всегда, о нас позаботился и в этом случае. А именно, это сообщение ловит объект Application, и в соответствии с ним, повторно читает из Windows интернациональные настройки, переустанавливая соответствующие переменные модуля System (DateSeparator, ShortDateFormat, DecimalSeparator, и т.п.). Вообщем-то это наверное правильно. Однако, в некоторых случаях это может навредить (мне лично почти всегда Лично у меня, очень часто программы живут не сами по себе, а общаются с программыми на других компах, используют экспорт/импорт данных в вполне определенных текстовых форматах. А поскольку во многих случаях происходит неявное (неконтролируемое мною) преобразование число<>строка, дата<>строка (например tDateTimeField.AsString или StringVar := VariantVar), то я вынужден сам устанавливать нужные мне форматы. Ну и что-бы шаловливый пользователь не нарушил работу моей программы, я перед установкой собственных настроек делаю Application.UpdateFormatSettings := False;. Естественно, для консольных приложений это не актуально - там нет Application, следовательно некому и "следить" за изменениями. Хотелось коротенько, а получилось как всегда -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Спасибо!
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |