![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 29.09.2014
Сообщений: 9
|
![]()
Кто в курсе, как из Delphi-приложения узнать, какой системный разделитель целой и дробной части чисел установлен в Windows 7 и заменить в Винде запятую на точку на время работы приложения?
Или хотя бы где это следует искать? |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
FormatSettings.DecimalSeparator по идее должно подхватывать разделитель из системы.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 29.09.2014
Сообщений: 9
|
![]()
FormatSettings.DecimalSeparator действительно считывает в Char системный разделитель. Но я рано радовался. Если я присваиваю в FormatSettings.DecimalSeparator:='. ', то точка присваивается, но система не начинает использовать точку, как системный разделитель. В процессе работы приложения
останавливаю его на контрольной точке, значение FormatSettings.DecimalSeparator - точка, а в системе в Панели управления=>Региональных стандартах=>Настройках разделитель остается запятой. Видимо, нужно ещё какое-то ругательство, чтобы изменение было воспринято. На это ответ есть? |
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Т.е. ты хочешь закатать новый разделитель для всех приложений на момент запуска твоего?
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
![]() Цитата:
Если для всех (чтобы в ), то можно использовать реестр. Если речь идёт только о Вашей программе, советую просто программно заменять запятую на точку. Это избавит Вас от многих трудностей, которые неизбежно возникнут при работе с реестром. |
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 29.09.2014
Сообщений: 9
|
![]()
В том-то и дело, что придется для всей системы. Но только на время работы моей программы.
Сейчас приходится перед запуском программы на чужом компе вручную менять разделитель в настройках системы, после окончания всего сеанса работы - вручную восстанавливать. А обрабатываю получаемых текстовых данных с разделителем-точкой за один сеанс сотни мегабайт. Их каждый раз конвертировать посинеешь. Успокаивает одно. Комп можно использовать в монопольном режиме. Так куда надо залезать в реестре и какую литературу искать ? |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
![]()
Ссылка есть моём предыдущем посте.
По реестру (и всему, что с ним связано, включая права доступа) и по Delphi. В том числе по обработке "нештатных ситуаций" наподобие исключений и т.д.. Дело в том, что если Ваша программа отработает не корректно до того момента, когда восстанавливается прежнее значение разделителя, то в системе так и останется точка вместо запятой. Что не есть хорошо. Поэтому, Вам необходимо предусмотреть вариант восстановления первоначального значения разделителя в случае не корректной работы программы. В общем путь тоже не из лёгких. А, если попробовать выполнять конверсию "на лету"? Последний раз редактировалось Streletz; 29.09.2014 в 15:43. |
![]() |
![]() |
![]() |
#8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Мдя... Ну и задачка...
Это я так понимаю - тупость проггеров, которые писали прогу, требующую обязательно один разделитель в системе в то время как в той же системе работает другая такая же но требующая другой разделитель? Да, а что будет если ты разделитель поменяешь, а та прога его не подтянет? м.б. она только при старте его определяет?
I'm learning to live...
|
![]() |
![]() |
![]() |
#9 | |||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Цитата:
Цитата:
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
|
|||
![]() |
![]() |
![]() |
#10 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Надо изменить системно, да?
Всё настолько просто, что даже не интересно. ![]() Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменить разделитель целой и дробной части в системе | ольгаг | Общие вопросы .NET | 1 | 18.03.2014 13:38 |
Разделитель целой и дробной части | IgorGO | Microsoft Office Excel | 3 | 25.11.2012 11:08 |
Присвоить целой переменой К первую цифру из дробной части. Delphi | Dilex | Помощь студентам | 4 | 14.01.2012 03:19 |
Разделитель целой и дробной части. | gusluk | Общие вопросы Delphi | 2 | 12.11.2008 08:45 |
Разделитель целой и дробной части | neugadal | Microsoft Office Excel | 3 | 09.10.2008 07:20 |