Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 600

Десятичный разделитель и INI-файлы

28.04.2014, 11:51. Показов 4533. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
- Здравствуйте завсегдатаи. С прошедшими и наступающими Вас праздниками! Помогите пожалуйста
разобраться с одним вопросом. Мое приложение использует для сохранения параметров INI-файл.
В нем используются действительные ключи. Когда я запускаю его на одном компьютере, то он требует, чтобы
эти действительные ключи имели десятичный разделитель точку. При запуске этого-же приложения на
другом компьютере, он требует, чтобы действительные ключи имели десятичный разделитель - запятая.
- Подскажите пожалуйста, как прийти к общему знаменателю в данном случае?
Заранее спасибо !...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2014, 11:51
Ответы с готовыми решениями:

Десятичный системный разделитель
Здравствуйте товарищи (господа) специалисты! Прошу помощи в решении вопроса любителю. Есть программа на Билдер 5. Она содержит...

Embarcadero. Как настроить десятичный разделитель
Программа стартует, инициализируются переменные, но при запуске расчета вылетает из-за division by zero. код обработчика прикреплю. ...

Заменить десятичный разделитель в строке представленной числом
Всем здравствуйте. В системе установлен десятичный разделитель запятая. Следующий код успешно сработает: String s =...

29
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.04.2014, 19:16
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от kzru_hunter Посмотреть сообщение
Чем не устраивает фиксированный десятичный разделитель - точка?
Тем что у нас принята запятая, а не точка.
Но для INI конечно пофиг как хранить, главное что бы в одном чем-то.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
29.04.2014, 19:24
Цитата Сообщение от Avazart Посмотреть сообщение
Тем что у нас принята запятая, а не точка.
Это же не значит, в программе тоже должна быть принята запятая. Где-то в других областях пусть будет запятая, а в программах должна быть точка.

Добавлено через 4 минуты
Вообще, если нужна привязка к системному разделителю, то правильнее в коде не заключать действительные числа в строки, а делать конвертацию в строку, например FloatToStr(3.14)
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.04.2014, 19:29
Цитата Сообщение от kzru_hunter Посмотреть сообщение
Это же не значит, в программе тоже должна быть принята запятая. Где-то в других областях пусть будет запятая, а в программах должна быть точка.
Это отсебячина...
Разделитель, формат даты, итд итп во всех программах должны бить такие же как в локальных настроек, т.е настроек компа, т.е такими как удобно пользователю.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
29.04.2014, 19:32
Avazart Что предпочитаешь в качестве десятичного разделителя? Точку или запятую?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.04.2014, 19:37
Цитата Сообщение от kzru_hunter Посмотреть сообщение
Avazart Что предпочитаешь в качестве десятичного разделителя? Точку или запятую?
То что я предпочитаю не имеет значение, нужно смотреть на пользователя под которого пишется.
Ясное дело если пишется для славян то предпочтительнее запятая, а не точка.

Добавлено через 1 минуту
Как хранить настройки программы уже другой вопрос, и тут как я понимаю промах разработчиков нужно было либо строго зафиксировать настройки INI либо дать это возможность их указывать отдельным параметром или свойством.

К примеру в новых версиях среды появился класс TFormatSettings который можно создавать локально и переадавать его в ф-ции конвертации, собственно нужно было аналогичным образом поступить с TIniFile.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
29.04.2014, 19:42
Цитата Сообщение от Avazart Посмотреть сообщение
То что я предпочитаю не имеет значение, нужно смотреть на пользователя под которого пишется.
Ясное дело если пишется для славян то предпочтительнее запятая, а не точка.
Ну а правильнее использовать точку или запятую? Конечно же точку, поэтому ситуацию нужно исправлять и насильно ставить точку! И ни у кого не будет головняка Я бы лично не хотел, что бы мы эту древнюю запятую таскали с собой ещё кучу лет.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.04.2014, 19:49
Цитата Сообщение от kzru_hunter Посмотреть сообщение
Ну а правильнее использовать точку или запятую?
Могу еще раз повторить ответ, для одаренных...

Цитата Сообщение от kzru_hunter Посмотреть сообщение
Конечно же точку, поэтому ситуацию нужно исправлять и насильно ставить точку! И ни у кого не будет головняка
А может ставим запятую ? И пусть англоязычные мучаются?
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
29.04.2014, 20:56
Кстати, веб-сайтам вообще по барабану, какой у пользователя системный разделитель. Какой хотят - такой и используют. И заметил, что практически у всех сайтов используется точка. Даже на сайте у путина используется точка Если сайтам по барабану, то и программам тоже должно быть по барабану: можно просто забить на то, что установлено в системе и использовать точку.
0
29.04.2014, 21:01

Не по теме:

Цитата Сообщение от kzru_hunter Посмотреть сообщение
Даже на сайте у путина используется точка
Ну так устройте по этому поводу референдум, но только у себя..

0
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 600
30.04.2014, 10:01  [ТС]
- Спасибо Вам UI! Сегодня сделал маленькое приложение на базе Вашего поста #18 и все попробовал
"вживую".
Я, вообще-то, правильно перегрузил методы ReadFloat/WriteFloat, правильно представлял себе их наполнение.
Действительно не додумал я только одного, что если я устанавливаю во всем своем приложении
десятичный разделитель: (DecimalSeparator = ','; ) или наоборот (... = '.'; ), то введенные с помощью перегруженного
метода ReadFloat данные, попадут, скажем, в Едит уже автоматом с запятой или точкой, соответственно!
И, соответственно, будучи введенные в Едит с запятой или точкой уже автоматом будут выведены с
помощью перегруженного WriteFloat.
И никаких дополнительных действий больше не потребуется!!! Прошу прощения - Не допер ...
- Еще раз спасибо Вам UI, помогли разобраться!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.04.2014, 10:01

Как сменить системные параметры: десятичный разделитель и разделитель в дате?
Как сменить системные параметры: 'десятичный разделитель' и 'разделитель в дате'? Подозреваю, что с помощью API-функций. Хотелось...

Десятичный разделитель
Скажите, у андроида десятичный разделитель всегда точка? Если нет, то как получить его значение? Искал что-то вроде DecimalSeparator,...

Десятичный разделитель
Командой insert вставляю строку в таблицу, одно из полей которой имеет тип Double Precision. Если в системе стоит в качестве десятичного...

Десятичный разделитель в AutoCAD
Добрый день. Возникла проблема при передаче десятичного разделителя в AutoCAD на разных компьютерах. Передаются дробные значения, при...

Lexical_cast и десятичный разделитель
Можно ли как то задать десятичный разделитель что бы кастовалось число записанное с разделителем "запятой" а не точкой ? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru