|
|
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
rgreat, лапочка ты наш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 22:57 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Для программ со скрипом еще допустимо юзать FormatSettings. Но только при условии, что все библиотеки ведут себя порядочно и сами FormatSettings не касаются. Да и то возможны накладки. Однако за наводку на UpdateFormatSettings спасибо, не знал. Стало быть, предусмотрен подхват смены значений юзером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2018, 11:43 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Василий 2возможны накладки.Расскажи мне для общего образования причины возможныхвлзможны накладок? Но окромя явных ошибок програмстов в собственном коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2018, 14:31 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
rgreatВасилий 2возможны накладки.Расскажи мне для общего образования причины возможныхвлзможны накладок? Но окромя явных ошибок програмстов в собственном коде. Ну например, использование переменной может произойти до ее высечения в мраморе. Некий модуль может быть иниц-н раньше. Т.е. порядок юзанья юнитов должен быть регламентирован, а это слабое звено, т.к. не контролируется компилятором. Или другой вариант - кто-то может забыться и временно поменять поле записи. В коллективной разработке с кучей прогеров, да еще и не одного "поколения" вполне вероятно упустить такие детали. Так что "если б я была царица", и если уж никак не обойтись без глобальной переменной, я бы рекомендовал завести собственную константу и иниц-ть ее через хак по указателю. Таким образом точно будет страховка от влияния библиотек раз и защита от ненамеренной модификации два. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2018, 14:56 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Василий 2, авторНу например, использование переменной может произойти до ее высечения в мраморе. Некий модуль может быть иниц-н раньше. Мы говорим не абстрактную глобальную переменную а про вполне конкретную из System.SysUtils, иннициализируемую в нем же в разделе initialization. Как она может быть не иннициализированой при ее использовании? ;) авторзабыться и временно поменять Это просто ошибка програмиста, которая может быть где угодно. авторВ коллективной разработке с кучей прогеров, да еще и не одного "поколения" вполне вероятно упуститьЗа такое надо бить, и можно даже ногами. Менять глобальный FormatSettings в процессе работы ПО - это из разряда стрельбы себе (и соседям) в ногу. авторрекомендовал завести собственную константу и иниц-ть ее через хак по указателю Не-не-не, Девид Блейн, я лучше по старинке. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2018, 18:40 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
rgreat, Не-не-не. Фигня эта всё про DecimalSeparator и остальное. Есть СТАНДАРТ, конвенции, от них и надо плясать. https://ru.wikipedia.org/wiki/Открытый_формат https://ru.wikipedia.org/wiki/Формат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2018, 01:35 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
rgreatВасилий 2, авторНу например, использование переменной может произойти до ее высечения в мраморе. Некий модуль может быть иниц-н раньше. Мы говорим не абстрактную глобальную переменную а про вполне конкретную из System.SysUtils, иннициализируемую в нем же в разделе initialization. Как она может быть не иннициализированой при ее использовании? ;) Ты же её предлагал заполнять фиксированными значениями. Это я и имел в виду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2018, 14:39 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Василий 2Ты же её предлагал заполнять фиксированными значениями. Это я и имел в виду. Я предлагал выставить её 1 раз при старте ПО и больше не трогать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2018, 20:00 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
rgreatВасилий 2Ты же её предлагал заполнять фиксированными значениями. Это я и имел в виду. Я предлагал выставить её 1 раз при старте ПО и больше не трогать. Ну. А старт ПО - понятие растяжимое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2018, 11:57 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
В продолжении темы, часто рисуются графики для иностранных заказчиков, где в требованиях четко прописано "разделитель на рисунках - точка". В то время как у нас наоборот - "запятая". Вопрос, рисую посредством стандартного Chart (функционала вполне хватает). Как "потокобезопасно" поменять разделитель, что бы он выводился строго в графиках Chart-a, параметра такого не нашел (хотя может плохо искал), да и видно что подхватывают глобальный DecimalSeparator. Менять глобальный DecimalSeparator не просто "потоконебезопасно", а в моём случае более чем опасно, так как отрисовка графика и подгрузка данных вполне могут идти одновременно в разных потоках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 16:46 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Андрей ИгоревичВ продолжении темы, часто рисуются графики для иностранных заказчиков, где в требованиях четко прописано "разделитель на рисунках - точка". В то время как у нас наоборот - "запятая". Вопрос, рисую посредством стандартного Chart (функционала вполне хватает). Как "потокобезопасно" поменять разделитель, что бы он выводился строго в графиках Chart-a, параметра такого не нашел (хотя может плохо искал), да и видно что подхватывают глобальный DecimalSeparator. Менять глобальный DecimalSeparator не просто "потоконебезопасно", а в моём случае более чем опасно, так как отрисовка графика и подгрузка данных вполне могут идти одновременно в разных потоках. Блин, думал маленькая картинка вставится, а вставилась здоровая, редактировать не могу, ну и фиг с ним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 16:47 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
07.08.2019 16:47, Андрей Игоревич пишет: > Менять глобальный DecimalSeparator не просто "потоконебезопасно", а в моём случае более чем ОПАСНО ах, как интересно! я уже таки внемлю. вещай. про опасность. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 16:50 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий07.08.2019 16:47, Андрей Игоревич пишет: > Менять глобальный DecimalSeparator не просто "потоконебезопасно", а в моём случае более чем ОПАСНО ах, как интересно! я уже таки внемлю. вещай. про опасность. ??? Если я для отрисовки графиков меняю данную переменную на '.' и в этот же момент другим потоком у меня считываются данные с файла где разделитель ',' - произойдет что...? Тут и не только тут писали про "локальную переменную", но как создать её только для отрисовки Чарта - не знаю и поиском в лоб не нашел (хотя уверен, что это вопрос уже 1000 раз поднимался, как и любой другой, просто надо грамотно составить запрос в поисковике или прочитать какую-нибудь умную книгу, но вот я пока не смог). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 17:03 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
07.08.2019 17:03, Андрей Игоревич пишет: > произойдет что...? да! что? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 17:08 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
У тебя что, нити одновременно с разными форматами работают? :) Задай DecimalSeparator при старте приложения, а после создавай нити. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 17:12 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
можно пойти по другому пути: - допустим текущий локальный разделитель в системе - запятая - в текстовой строке, перед конвертацией в число, ищем символ "точка" - если нашли, заменяем на символ "запятая" - конвертируем откорректированную строку в число. изменение глобальной переменной не потребовалось, профит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 17:12 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий07.08.2019 17:03, Андрей Игоревич пишет: > произойдет что...? да! что? Зуб даешь, что ничего? Быстрый тест сразу привел к ошибке формата числа. ёёёёёУ тебя что, нити одновременно с разными форматами работают? :) Задай DecimalSeparator при старте приложения, а после создавай нити. Я то работаю с одним форматом, но на картинках в документах формат может быть разный, так как требования к разделителю в каждом государстве свои, а работаем мы с разными заказчиками. asutp2можно пойти по другому пути: - допустим текущий локальный разделитель в системе - запятая - в текстовой строке, перед конвертацией в число, ищем символ "точка" - если нашли, заменяем на символ "запятая" - конвертируем откорректированную строку в число. изменение глобальной переменной не потребовалось, профит Оно конечно можно, но на данный момент я открываю и сохраняю 30+ видов файлов в разного формата размещения текста (всякие разные массивы, данные, массивы строк и прочее), я несколько недель писал код чтоб всё это аккуратно и надежно открывать в потоке, впихивать во всё это замену точки на запятую нетривиальная задача для меня, мне проще уж на момент отрисовки графиков остановить все потоки :), отрисовать и возобновить. Но что одно, что другое не просто костыли, целая инвалидная коляска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 17:24 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
07.08.2019 17:24, Андрей Игоревич пишет: > Быстрый тест сразу привел к ошибке формата числа. ах, как интересно! ну-ка, ну-ка, опубликуй. > Я то работаю с одним форматом, но на картинках в документах формат может быть разный то что ты выставляешь в DecimalSeparator ну никак не влияет на настройки ОС. ваще. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 17:28 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий07.08.2019 17:24, Андрей Игоревич пишет: > Быстрый тест сразу привел к ошибке формата числа. ах, как интересно! ну-ка, ну-ка, опубликуй. > Я то работаю с одним форматом, но на картинках в документах формат может быть разный то что ты выставляешь в DecimalSeparator ну никак не влияет на настройки ОС. ваще. А при чем тут настройки ОС? И считываю и рисую я в одной программе... Выглядит это так: 1. Этап расчет во внешней программе 2. Подгрузка в мою программу 3. отрисовка подгруженного (что пользователю желаемо наблюдать в данный момент) 4. GoTo1 Расчет идет весьма долго и возможность в любой момент оценить результаты весьма важна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 17:34 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
07.08.2019 17:34, Андрей Игоревич пишет: > А при чем тут настройки ОС? И считываю и рисую я в одной программе... > Выглядит это так: > 1. Этап расчет во внешней программе > 2. Подгрузка в мою программу > 3. отрисовка подгруженного (что пользователю желаемо наблюдать в данный момент) > 4. GoTo1 > > Расчет идет весьма долго и возможность в любой момент оценить результаты весьма важна. и шо? в чем твои проблемы? как делал? что не получилось? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 17:39 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий07.08.2019 17:34, Андрей Игоревич пишет: > А при чем тут настройки ОС? И считываю и рисую я в одной программе... > Выглядит это так: > 1. Этап расчет во внешней программе > 2. Подгрузка в мою программу > 3. отрисовка подгруженного (что пользователю желаемо наблюдать в данный момент) > 4. GoTo1 > > Расчет идет весьма долго и возможность в любой момент оценить результаты весьма важна. и шо? в чем твои проблемы? как делал? что не получилось? Шо-шо, сменил значение глобальной переменной - отрисовал - поменял назад, в это же время в другом потоке идет подгрузка с файлов (файлы огромные, открывает долго), при ручном запуске потоков для теста - сразу вылетела ошибка формата. Если глобальная переменная DecimalSeparator будет изменена после запуска потока - гарантируется ли это, что в потоке проблем не будет? Поток как-то её фиксирует на момент запуска? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 18:06 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
07.08.2019 18:06, Андрей Игоревич пишет: > сменил значение глобальной переменной - отрисовал - ПОМЕНЯЛ НАЗАД... нахрена? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 18:11 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Андрей Игоревичсменил значение глобальной переменной Никогда, ни при каких обстоятельствах, так делать не надо. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 18:13 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
07.08.2019 18:13, Dimitry Sibiryakov пишет: > Никогда, ни при каких обстоятельствах, так делать не надо. ой, я вас умоляю! Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 18:16 |
|
||
|
FloatToStr и знак разделителя десятичной дроби в разных системах
|
|||
|---|---|---|---|
|
#18+
Андрей Игоревич, если сам занимаешься конвертированием значений в потоках, то можно использовать функции с локальным FormatSettings, см хелп по Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 18:19 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39697665&tid=2038805]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 509ms |

| 0 / 0 |
