powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FloatToStr и знак разделителя десятичной дроби в разных системах
131 сообщений из 131, показаны все 6 страниц
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697031
Есть программа, хорошо работает. Переношу экзешник на другую систему - не работает. Долго и занудно искал ошибку, нашел:
В одной системе FloatToStr преобразует текст с запятой в число без проблем, а в другой выдаёт ошибку автор'-0,59' is not a valid floating point value
Если менять заменять точку при считывании - во второй системе всё работает, в первой нет - как это можно аккуратно обыграть (ну я понимаю, что можно через костыль, типа в случае ошибки считывания менять одно на другое и считывать заново, но костыли - зло), наверняка есть способ попроще.

А вообще, что удивительно, до определённого момента всё работало на обеих системах, а потом хоп и перестало (знак разделителя в системе сам не менял, но комп рабочий, может админы чего намудрили).
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697032
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич,

FormatSettings
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697125
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичВ одной системе FloatToStr преобразует текст с запятой в число без проблем

FloatToStr годится только для строк, которые вводит пользователь в соответствии с его
пользовательскими настройками. Если ты откуда-то берёшь строку фиксированного формата, то
к ней надо применять функции преобразования с фиксированным форматом. Например, Val().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697145
DarkMaster,

Спасибо:
Код: pascal
1.
FormatSettings.DecimalSeparator:='.';
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697146
Андрей Игоревич,

Точнее наоборот
Код: pascal
1.
FormatSettings.DecimalSeparator:=',';
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697153
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичТочнее наоборот

нужно сделать 2 варианта замены
Андрей ИгоревичFloatToStr преобразует текст с запятой в число без проблем, а в другой выдаёт ошибку

Код: pascal
1.
2.
  val := StringReplace(val, ',', FormatSettings.DecimalSeparator, []);
  val := StringReplace(val, '.', FormatSettings.DecimalSeparator, []);



т.е. чтобы не гадать, что там у пользователя, можно и точку, и запятую заменить на "FormatSettings.DecimalSeparator"
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697156
X11,

Спасибо, так и сделаю.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697162
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11нужно сделать 2 варианта заменыНе нужно. Если данные формируются в этой системе, то используем дефолтный разделитель. Если приходят снаружи, то используем разделитель согласно протокола
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697233
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11нужно сделать 2 варианта замены
Код: pascal
1.
2.
  val := StringReplace(val, ',', FormatSettings.DecimalSeparator, []);
  val := StringReplace(val, '.', FormatSettings.DecimalSeparator, []);



т.е. чтобы не гадать, что там у пользователя, можно и точку, и запятую заменить на "FormatSettings.DecimalSeparator"
Борланд научил плохому, а все и рады потакать дурным привычкам. FormatSettings как глобальную переменную надо избегать всеми силами кроме тех случаев, когда она используется по назначению - как текущие региональные настройки. Да и то, глобальная переменная - зло, и более правильно TFormatSettings.Create('') непосредственно перед применением.
Потому как:
1) Некая библиотека глубоко внутри себя сменила DecimalSeparator на что-то свое, и не вернула прежнее значение.
1.1) Некая библиотека глубоко внутри себя сменила DecimalSeparator на что-то свое, и не успела вернуть прежнее значение, как из другого потока выполняется обращение к этому полю
2) Программа запущена, юзер сменил региональные настройки. FormatSettings содержит старые значения.
и т.д.

В общем, я советую так (к чему пришел на своем опыте):
1) Float/DateToStr, Format без параметра типа TFormatSettings - только для отображения, да и то осмысленно
2) Во всех остальных случаях - фиксированный экземпляр TFormatSettings, с жестко прописанными полями. В качестве основы можно взять, например, LOCALE_INVARIANT.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697245
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичАндрей Игоревич,

Точнее наоборот
Код: pascal
1.
FormatSettings.DecimalSeparator:=',';



Когда пользуетесь настройкой глобального FormatSettings не забывайте о:

Код: pascal
1.
Application.UpdateFormatSettings:=False;



А то вы рискуете огрести проблем.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697270
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_X11нужно сделать 2 варианта заменыНе нужно. Если данные формируются в этой системе, то используем дефолтный разделитель. Если приходят снаружи, то используем разделитель согласно протокола
У меня другие рекомендации
1. системные настройки формата использовать только для вывода на экран/конвертации пользовательского ввода
2. для файловых операций использовать стандартизованные (протокольные)
3. чтобы не было коллизий вспомнить про третий параметр функций.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697281
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatАндрей ИгоревичАндрей Игоревич,

Точнее наоборот
Код: pascal
1.
FormatSettings.DecimalSeparator:=',';



Когда пользуетесь настройкой глобального FormatSettings не забывайте о:

Код: pascal
1.
Application.UpdateFormatSettings:=False;



А то вы рискуете огрести проблем.
Она локальная, и стртуфлоат принимает вторым параметром.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697282
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi,

в нормальных делфях, естественно.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697316
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiОна локальная
Да ну?

Код: pascal
1.
2.
3.
4.
5.
6.
7.
unit System.SysUtils;

<..>

var
  // Note: Using the global FormatSettings formatting variables is not thread-safe.
  FormatSettings: TFormatSettings;



JaDiи стртуфлоат принимает вторым параметром.FloatToStr и без 2-го параметра бывает.
Причем если проект разрабатывается нормально (без бардака), то проще использовать именно такой.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697330
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatJaDiи стртуфлоат принимает вторым параметром.FloatToStr и без 2-го параметра бывает.
Причем если проект разрабатывается нормально (без бардака), то проще использовать именно такой.
О да, результат использования без форматсеттинга прекрасно виден в этом самом топике.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697347
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiО да, результат использования без форматсеттинга прекрасно виден в этом самом топике.Трудно-ли умеючи? (с)
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697349
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

так-так, чуствую, далее пойдет предложение следить за компами пользователей и их настройками :D
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697352
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делай так.

Код: pascal
1.
2.
Application.UpdateFormatSettings:=False;
FormatSettings.DecimalSeparator:='.';



И можешь не следить.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697354
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но особо огороженные граждане могут каждый раз генерить свою копию FormatSettings.

Разрешаю.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697392
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatНо особо огороженные граждане могут каждый раз генерить свою копию FormatSettings. Зачем каждый раз?
Одного экземпляра для всех файловых операций вполне достаточно. А переключение дефолтного рано или поздно непременно приведет к косякам. Например в многопоточном приложении.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697403
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисА переключение дефолтного рано или поздно непременно приведет к косякам. Например в многопоточном приложении.Зачем его вообще переключать?
Один раз выставил как надо при старте и радуйся.

Делать разные разделители в разных местах приложения - это либо явный bad design, либо исключение без которого никак не обойтись, но тут уже не зазорно и локальный TFormatSetting поюзать.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697428
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatЗачем его вообще переключать? Затем, что в UI должны быть системные настройки, а в файле стандартизованные.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697435
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисrgreatЗачем его вообще переключать? Затем, что в UI должны быть системные настройки, а в файле стандартизованные.
Ой да ладно, "должны".
Мы во всех приложениях при старте выставляем единые настройки формата, а дальше пользуйся чем бог на душу положит, все равно десятичный разделитель - всегда точка, а дата - всегда только вот в таких форматах, невзирая на системные настройки, и никто никогда ни разу не жаловался, а наоборот. Может быть, когда начнем англичанам софт продавать, формат даты будем системный использовать, а в России и так сойдет.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697436
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисЗатем, что в UI должны быть системные настройкиНефиг.
Как минимум не в корпоративном ПО.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697437
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разделитель целого и дробного - "точка" и баста!
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697439
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

лапочка ты наш.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697665
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для программ со скрипом еще допустимо юзать FormatSettings. Но только при условии, что все библиотеки ведут себя порядочно и сами FormatSettings не касаются. Да и то возможны накладки.
Однако за наводку на UpdateFormatSettings спасибо, не знал. Стало быть, предусмотрен подхват смены значений юзером.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697791
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2возможны накладки.Расскажи мне для общего образования причины возможныхвлзможны накладок?

Но окромя явных ошибок програмстов в собственном коде.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39697810
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatВасилий 2возможны накладки.Расскажи мне для общего образования причины возможныхвлзможны накладок?

Но окромя явных ошибок програмстов в собственном коде.
Ну например, использование переменной может произойти до ее высечения в мраморе. Некий модуль может быть иниц-н раньше. Т.е. порядок юзанья юнитов должен быть регламентирован, а это слабое звено, т.к. не контролируется компилятором. Или другой вариант - кто-то может забыться и временно поменять поле записи. В коллективной разработке с кучей прогеров, да еще и не одного "поколения" вполне вероятно упустить такие детали.
Так что "если б я была царица", и если уж никак не обойтись без глобальной переменной, я бы рекомендовал завести собственную константу и иниц-ть ее через хак по указателю. Таким образом точно будет страховка от влияния библиотек раз и защита от ненамеренной модификации два.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39698035
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,
авторНу например, использование переменной может произойти до ее высечения в мраморе. Некий модуль может быть иниц-н раньше. Мы говорим не абстрактную глобальную переменную а про вполне конкретную из System.SysUtils, иннициализируемую в нем же в разделе initialization.

Как она может быть не иннициализированой при ее использовании? ;)

авторзабыться и временно поменять
Это просто ошибка програмиста, которая может быть где угодно.

авторВ коллективной разработке с кучей прогеров, да еще и не одного "поколения" вполне вероятно упуститьЗа такое надо бить, и можно даже ногами.
Менять глобальный FormatSettings в процессе работы ПО - это из разряда стрельбы себе (и соседям) в ногу.

авторрекомендовал завести собственную константу и иниц-ть ее через хак по указателю
Не-не-не, Девид Блейн, я лучше по старинке. ;)
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39698138
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

Не-не-не. Фигня эта всё про DecimalSeparator и остальное. Есть СТАНДАРТ, конвенции, от них и надо плясать.

https://ru.wikipedia.org/wiki/Открытый_формат
https://ru.wikipedia.org/wiki/Формат
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39698523
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatВасилий 2,
авторНу например, использование переменной может произойти до ее высечения в мраморе. Некий модуль может быть иниц-н раньше. Мы говорим не абстрактную глобальную переменную а про вполне конкретную из System.SysUtils, иннициализируемую в нем же в разделе initialization.

Как она может быть не иннициализированой при ее использовании? ;)

Ты же её предлагал заполнять фиксированными значениями. Это я и имел в виду.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39698730
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2Ты же её предлагал заполнять фиксированными значениями. Это я и имел в виду.
Я предлагал выставить её 1 раз при старте ПО и больше не трогать.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39698920
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatВасилий 2Ты же её предлагал заполнять фиксированными значениями. Это я и имел в виду.
Я предлагал выставить её 1 раз при старте ПО и больше не трогать.
Ну. А старт ПО - понятие растяжимое.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846502
В продолжении темы, часто рисуются графики для иностранных заказчиков, где в требованиях четко прописано "разделитель на рисунках - точка". В то время как у нас наоборот - "запятая".
Вопрос, рисую посредством стандартного Chart (функционала вполне хватает). Как "потокобезопасно" поменять разделитель, что бы он выводился строго в графиках Chart-a, параметра такого не нашел (хотя может плохо искал), да и видно что подхватывают глобальный DecimalSeparator.

Менять глобальный DecimalSeparator не просто "потоконебезопасно", а в моём случае более чем опасно, так как отрисовка графика и подгрузка данных вполне могут идти одновременно в разных потоках.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846503
Андрей ИгоревичВ продолжении темы, часто рисуются графики для иностранных заказчиков, где в требованиях четко прописано "разделитель на рисунках - точка". В то время как у нас наоборот - "запятая".
Вопрос, рисую посредством стандартного Chart (функционала вполне хватает). Как "потокобезопасно" поменять разделитель, что бы он выводился строго в графиках Chart-a, параметра такого не нашел (хотя может плохо искал), да и видно что подхватывают глобальный DecimalSeparator.

Менять глобальный DecimalSeparator не просто "потоконебезопасно", а в моём случае более чем опасно, так как отрисовка графика и подгрузка данных вполне могут идти одновременно в разных потоках.
Блин, думал маленькая картинка вставится, а вставилась здоровая, редактировать не могу, ну и фиг с ним.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846506
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
07.08.2019 16:47, Андрей Игоревич пишет:
> Менять глобальный DecimalSeparator не просто "потоконебезопасно", а в моём случае более чем ОПАСНО

ах, как интересно!
я уже таки внемлю.
вещай.
про опасность.


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846517
Мимопроходящий07.08.2019 16:47, Андрей Игоревич пишет:
> Менять глобальный DecimalSeparator не просто "потоконебезопасно", а в моём случае более чем ОПАСНО

ах, как интересно!
я уже таки внемлю.
вещай.
про опасность.



??? Если я для отрисовки графиков меняю данную переменную на '.' и в этот же момент другим потоком у меня считываются данные с файла где разделитель ',' - произойдет что...?

Тут и не только тут писали про "локальную переменную", но как создать её только для отрисовки Чарта - не знаю и поиском в лоб не нашел (хотя уверен, что это вопрос уже 1000 раз поднимался, как и любой другой, просто надо грамотно составить запрос в поисковике или прочитать какую-нибудь умную книгу, но вот я пока не смог).
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846522
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
07.08.2019 17:03, Андрей Игоревич пишет:
> произойдет что...?

да!
что?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846525
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя что, нити одновременно с разными форматами работают? :)

Задай DecimalSeparator при старте приложения, а после создавай нити.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846526
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно пойти по другому пути:
- допустим текущий локальный разделитель в системе - запятая
- в текстовой строке, перед конвертацией в число, ищем символ "точка" - если нашли, заменяем на символ "запятая"
- конвертируем откорректированную строку в число. изменение глобальной переменной не потребовалось, профит
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846529
Мимопроходящий07.08.2019 17:03, Андрей Игоревич пишет:
> произойдет что...?

да!
что?

Зуб даешь, что ничего? Быстрый тест сразу привел к ошибке формата числа.
ёёёёёУ тебя что, нити одновременно с разными форматами работают? :)
Задай DecimalSeparator при старте приложения, а после создавай нити.
Я то работаю с одним форматом, но на картинках в документах формат может быть разный, так как требования к разделителю в каждом государстве свои, а работаем мы с разными заказчиками.
asutp2можно пойти по другому пути:
- допустим текущий локальный разделитель в системе - запятая
- в текстовой строке, перед конвертацией в число, ищем символ "точка" - если нашли, заменяем на символ "запятая"
- конвертируем откорректированную строку в число. изменение глобальной переменной не потребовалось, профит
Оно конечно можно, но на данный момент я открываю и сохраняю 30+ видов файлов в разного формата размещения текста (всякие разные массивы, данные, массивы строк и прочее), я несколько недель писал код чтоб всё это аккуратно и надежно открывать в потоке, впихивать во всё это замену точки на запятую нетривиальная задача для меня, мне проще уж на момент отрисовки графиков остановить все потоки :), отрисовать и возобновить. Но что одно, что другое не просто костыли, целая инвалидная коляска.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846532
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
07.08.2019 17:24, Андрей Игоревич пишет:
> Быстрый тест сразу привел к ошибке формата числа.

ах, как интересно!
ну-ка, ну-ка, опубликуй.

> Я то работаю с одним форматом, но на картинках в документах формат может быть разный

то что ты выставляешь в DecimalSeparator ну никак не влияет на настройки ОС.
ваще.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846535
Мимопроходящий07.08.2019 17:24, Андрей Игоревич пишет:
> Быстрый тест сразу привел к ошибке формата числа.

ах, как интересно!
ну-ка, ну-ка, опубликуй.

> Я то работаю с одним форматом, но на картинках в документах формат может быть разный

то что ты выставляешь в DecimalSeparator ну никак не влияет на настройки ОС.
ваще.

А при чем тут настройки ОС? И считываю и рисую я в одной программе...
Выглядит это так:
1. Этап расчет во внешней программе
2. Подгрузка в мою программу
3. отрисовка подгруженного (что пользователю желаемо наблюдать в данный момент)
4. GoTo1

Расчет идет весьма долго и возможность в любой момент оценить результаты весьма важна.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846537
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
07.08.2019 17:34, Андрей Игоревич пишет:
> А при чем тут настройки ОС? И считываю и рисую я в одной программе...
> Выглядит это так:
> 1. Этап расчет во внешней программе
> 2. Подгрузка в мою программу
> 3. отрисовка подгруженного (что пользователю желаемо наблюдать в данный момент)
> 4. GoTo1
>
> Расчет идет весьма долго и возможность в любой момент оценить результаты весьма важна.

и шо?
в чем твои проблемы?
как делал?
что не получилось?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846556
Мимопроходящий07.08.2019 17:34, Андрей Игоревич пишет:
> А при чем тут настройки ОС? И считываю и рисую я в одной программе...
> Выглядит это так:
> 1. Этап расчет во внешней программе
> 2. Подгрузка в мою программу
> 3. отрисовка подгруженного (что пользователю желаемо наблюдать в данный момент)
> 4. GoTo1
>
> Расчет идет весьма долго и возможность в любой момент оценить результаты весьма важна.

и шо?
в чем твои проблемы?
как делал?
что не получилось?

Шо-шо, сменил значение глобальной переменной - отрисовал - поменял назад, в это же время в другом потоке идет подгрузка с файлов (файлы огромные, открывает долго), при ручном запуске потоков для теста - сразу вылетела ошибка формата.

Если глобальная переменная DecimalSeparator будет изменена после запуска потока - гарантируется ли это, что в потоке проблем не будет? Поток как-то её фиксирует на момент запуска?
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846558
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
07.08.2019 18:06, Андрей Игоревич пишет:
> сменил значение глобальной переменной - отрисовал - ПОМЕНЯЛ НАЗАД...

нахрена?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846559
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревичсменил значение глобальной переменной

Никогда, ни при каких обстоятельствах, так делать не надо.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846560
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
07.08.2019 18:13, Dimitry Sibiryakov пишет:
> Никогда, ни при каких обстоятельствах, так делать не надо.

ой, я вас умоляю!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846562
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич,

если сам занимаешься конвертированием значений в потоках, то можно использовать функции с локальным FormatSettings, см хелп по
Код: pascal
1.
function StrToFloat(const S: string; const FormatSettings: TFormatSettings): Extended; overload;
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846572
Мимопроходящий07.08.2019 18:06, Андрей Игоревич пишет:
> сменил значение глобальной переменной - отрисовал - ПОМЕНЯЛ НАЗАД...

нахрена?

как бы точка мне нужна только на графиках во всех остальных данных (открываемых, сохраняемых) мне нужна запятая, чего бардак разводить.
Dimitry SibiryakovАндрей Игоревичсменил значение глобальной переменной

Никогда, ни при каких обстоятельствах, так делать не надо.

Ну дак я с чаго и написал, что ищу другой путь, сам понимаю что так делать не надо, но как надо, не знаю...
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846574
ZeliusАндрей Игоревич,

если сам занимаешься конвертированием значений в потоках, то можно использовать функции с локальным FormatSettings, см хелп по
Код: pascal
1.
function StrToFloat(const S: string; const FormatSettings: TFormatSettings): Extended; overload;


В принципе вариант, хотя очень трудоёмко будет весь код править, его много, (зато плюсик к стабильности :) ), но выглядит получше чем СтрингРеплейс...
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846575
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревичкак бы точка мне нужна только на графиках во всех остальных данных (открываемых, сохраняемых) мне нужна запятая, чего бардак разводить.Блокировать ПО при отрисовке графика не предлогать?
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846578
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревичкак надо, не знаю...

Сначала читай справку о функциях Val() и Str(). Они - дл всех случаях где разделитель -
точка. Если таки приспичило использовать именно FloatToStr, то выше уже ткнули пальцем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846579
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще можно графики в отдельный процесс вынести.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846584
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в axis нельзя задать формат?
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846585
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще-то, у Chart'a всё НАСТРАИВАЕТСЯ!

F1: TChartSeries.ValueFormat

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846593
rgreatАндрей Игоревичкак бы точка мне нужна только на графиках во всех остальных данных (открываемых, сохраняемых) мне нужна запятая, чего бардак разводить.Блокировать ПО при отрисовке графика не предлогать?
Я это сам уже предлагал :)
Dimitry SibiryakovАндрей Игоревичкак надо, не знаю...

Сначала читай справку о функциях Val() и Str(). Они - дл всех случаях где разделитель -
точка. Если таки приспичило использовать именно FloatToStr, то выше уже ткнули пальцем.

Про FloatToStr, про Val() и Str() применительно к моему вопросу - не очень, у меня везде запятая, точка нужна только на графиках и то не всегда.
Мимопроходящийвообще-то, у Chart'a всё НАСТРАИВАЕТСЯ!

F1: TChartSeries.ValueFormat


Пока что-то не получилось и не поменялось ничего, да и странно такую настройку выносить в настойки серии завтра поковыряюсь почитаю поподробнее.
По мне это в настройках оси должно быть, но пока не нашел, слишком уж там много всего.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846599
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич,

не оно?
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846600
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При чтении из файлов надо всегда жестко задавать formatsettings, иначе граблей соберешь немеряно. соответственно глобальное значение только на чарт будет действовать
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846601
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревичу меня везде запятая, точка нужна только на графиках и то не всегда.

Неправильно ты бутерброд ешь. В любом гуе должен использоваться именно системный
разделитель дробной части (и вообще системный формат вывода) ибо была на то воля
пользователя. Это для внутренней кухни, которую снаружи не видать, можно точку прибить
гвоздиком.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846606
ZeliusАндрей Игоревич,

не оно?
Это вроде teechart, он бесплатный?
Dimitry SibiryakovАндрей Игоревичу меня везде запятая, точка нужна только на графиках и то не всегда.

Неправильно ты бутерброд ешь. В любом гуе должен использоваться именно системный
разделитель дробной части (и вообще системный формат вывода) ибо была на то воля
пользователя. Это для внутренней кухни, которую снаружи не видать, можно точку прибить
гвоздиком.

На будущее буду стараться продумывать. Но в данном случае это не очень важно, исходные данные тут не то, что разные люди, разные организации делают и там в ТЗ, насколько я помню, разделитель дробной части прописан.
Василий 2При чтении из файлов надо всегда жестко задавать formatsettings, иначе граблей соберешь немеряно. соответственно глобальное значение только на чарт будет действовать
Это через?
Код: pascal
1.
function StrToFloat(const S: string; const FormatSettings: TFormatSettings): Extended; overload;


Ну теперь на будущее так буду делать, если не так, то как можно локально менять FormatSettings не меняя его глобально?
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846608
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичЭто вроде teechart, он бесплатный?
Так вроде в дельфях стандартный и есть TeeChart порезанный
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846629
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичНу теперь на будущее так буду делать, если не так, то как можно локально менять FormatSettings не меняя его глобально?
можно сделать , как в доке к Лазарю предлагается
правда, здесь обратное преобразование, но идея та же
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
var
  FPointSeparator, FCommaSeparator: TFormatSettings;
begin
  // Format settings to convert a string to a float
  FPointSeparator := DefaultFormatSettings;
  FPointSeparator.DecimalSeparator := '.';
  FPointSeparator.ThousandSeparator := '#';// disable the thousand separator
  FCommaSeparator := DefaultFormatSettings;
  FCommaSeparator.DecimalSeparator := ',';
  FCommaSeparator.ThousandSeparator := '#';// disable the thousand separator

// This function works like StrToFloat, but simply tries two possible decimal separator
// This will avoid an exception when the string format doesn't match the locale
function AnSemantico.StringToFloat(AStr: string): Double;
begin
  if Pos('.', AStr) > 0 then Result := StrToFloat(AStr, FPointSeparator)
  else Result := StrToFloat(AStr, FCommaSeparator);
end;

...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846632
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нда, создается впечатление, что ТС всех тупо тролит. Эта "проблема" решается одной(!) строчкой кода
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846635
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В целом это какой-то цирк с конями. Дилетанты наконец-то вышли на международный рынок, но так и не сподобилась принять в команду профессионального разработчика. Становится боязно за реакторы иностранных заказчиков, - но, может быть, так им и надо?
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846640
ZeliusАндрей ИгоревичЭто вроде teechart, он бесплатный?
Так вроде в дельфях стандартный и есть TeeChart порезанныйНашел, тут он задается по другому - Chart1.LeftAxis.AxisValuesFormat, и он не работает, даже если задать "#.##E-#" - рисоваться будет запятая (точнее глобальный разделитель).
asutp2Нда, создается впечатление, что ТС всех тупо тролит. Эта "проблема" решается одной(!) строчкой кода
Да, и какой же? Вон куча народу кучу всего напредлагали и всё это в моём случае ни разу не одна строчка кода, переделывать несколько тысяч готового и работающего кода - ни разу не "одна строчка".
Да и как бы большинство опять вдарились не в то, что я спрашивал. Меня полностью устраивает считывание файлов которое у меня реализовано, разделитель в них всегда, абсолютно всегда будет запятая, это прям гарантированный факт. Зачем мне впихивать сотни строчек по сути бесполезного ДЛЯ МЕНЯ кода? Мне график надо с точкой построить, всё, чтение\запись вообще из другой оперы.
Если более простого пути нет, то я воспользуюсь предложенным, но это ни разу не оптимальное решение.
Мне кажется это вы как раз троллите. Vlad FВ целом это какой-то цирк с конями. Дилетанты наконец-то вышли на международный рынок, но так и не сподобилась принять в команду профессионального разработчика. Становится боязно за реакторы иностранных заказчиков, - но, может быть, так им и надо?
Я инженер-физик, я ни разу не программист, о чем пишу всегда и везде. Курс моего знакомства с программирование ограничивается одним курсом в университете. Я учил вообще другое.
Код который я пишу, по сути я его пишу исключительно по собственной мотивации, в свободное от основной работы время, никто его мне оплатит, даже премии(наверно) не даст, просто моя работа и работа моих коллег станет радикально проще.

Как показывает практика, что бы один человек был и хорошим физиком и профессиональным программистом - таких днем с огнем не сыщешь, а если и найдешь, то он заломит такие деньги за свою работу (супер примитивная программа с парой графиков и средненькой методикой,с верификацией без аттестации стоит 10кк рубелй, РАСЧЕТ (не программа, только РАСЧЕТ) на серьезной аттестованной программе (аналоге расчетных модулей с которыми я работаю) в Курчатнике стоит несколько десятков лямов, сколько стоит сама страшно представить, за рубежом цены ещё выше, если что.

Так что если считаете себя дофика хорошими программистами, прям реально хорошими, велком учить ядерную физику, теплогидравлику, сопромат, естественно на хорошем уровне, и будете плавать в шоколаде.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846646
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич,

Это просто какой-то крик души! Гипотеза о пребывании в серьёзной опасности реакторов иностранных (к сожалению, возможно, что и не только) заказчиков получает свое подтверждение. Ваш покорный слуга тоже физик, физик-теоретик (астрофизика) с университетским образованием. Теоритически, могу подключиться к вашей команде (состоящей, как понимаю, из одного человека), если будет хоть какой-то бюджет
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846651
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F,

Физик-теоретик теоретически готов. (с)

Не смог удержатся!
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846652
Vlad FАндрей Игоревич,

Это просто какой-то крик души! Гипотеза о пребывании в серьёзной опасности реакторов иностранных (к сожалению, возможно, что и не только) заказчиков получает свое подтверждение. Ваш покорный слуга тоже физик, физик-теоретик (астрофизика) с университетским образованием. Теоритически, могу подключиться к вашей команде (состоящей, как понимаю, из одного человека), если будет хоть какой-то бюджет
Бюджета нет, всё исключительно на личной инициативе. Так же как в любой госконторе первые годы зарплата - копейки, но резюме можете слать - НИКИЭТ, Курятник, ГП, ОКБ (вам ничего не говорят эти слова - то как же так, вы же физик)
Правда астрофизики там нафиг не нужны (ну кроме Курятника), но вы же без проблем и ядерную физику освоите/теплогидравлику/сопромат/что-там у нас ещё нужно, так же неплохо знать конструкцию и обязательно мочь в конечноэлементные/конечнообъемные расчеты - судя по вашим комментариям вы на все руки мастер, для вас это легко.

Ну а если серьезно, коль вы грубы, то я отвечу, в интернетах вы все такие дофига программисты и мастера знаний во всех науках, только вот в жизни профессионалов в данных направлениях в стране и мире - единицы. Что бы хорошо понимать физику и конструкцию - надо потратить реально очень много времени, многие годы (без обид, но к астрофизикам я отношусь примерно как инженерам из ИБМ в Бауманке), что бы быть при этом быть профессиональным программистском нужно отдать этому всю жизнь, именно поэтому таких людей - единицы (и я не из их числа), но если вы действительно такой - полно контор куда вас примут с зп 5к$+ сразу, другой вопрос, что если вы такого уровня - то вы уже скорей всего работаете в подобном месте.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846657
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичВон куча народу кучу всего напредлагали и всё это в моём случае ни разу не одна строчка кода... Да и как бы большинство опять вдарились не в то, что я спрашивал.
Парень, придержи коней. Народ на форуме не виноват в том, что из трех страниц обсуждения ты практически так и не удосужился хоть что-то попробовать или хотя бы почитать о предложенном. К чему претензии?

зы. а жалобы на "непрофильность" не прокатят. Я - тоже кодер-самоучка, даже не технарь. Как говорится, "взялся за гуж - не забудь сходить в душ..." ©
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846662
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич,

Идите, верно, дальше тем же лесом. Вам реальную техническую помощь (для постановочно-предметной, как понимаю, уже есть матёрый член команды)) предлагают, причем уже не в первый раз. С которой подобные сегодняшнему, да и многим предыдущим, проблемы в принципе бы в конференцию не выносились. А коллегиальность была упомянута в контексте лишь сближения мировозренческих позиций, и в том смысле, что учиться никогда не поздно даже физикам крутым, чего у вас почему-то не выходит на протяжении наблюдаемых лет.
Но вы же, так получается, в штыки? - так флаг вам руки, расширяйте дальше рынок, и, может быть, у заказчиков что-нибудь, наконец, взорвётся, и будут знать как с вами связываться впредь.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846666
ДокАндрей ИгоревичВон куча народу кучу всего напредлагали и всё это в моём случае ни разу не одна строчка кода... Да и как бы большинство опять вдарились не в то, что я спрашивал.
Парень, придержи коней. Народ на форуме не виноват в том, что из трех страниц обсуждения ты практически так и не удосужился хоть что-то попробовать или хотя бы почитать о предложенном. К чему претензии?

зы. а жалобы на "непрофильность" не прокатят. Я - тоже кодер-самоучка, даже не технарь. Как говорится, "взялся за гуж - не забудь сходить в душ..." ©

Я попробовал ВСЁ, что предложено, Зачем вы это пишите?
Первая страница вообще на другую тему и там я спросил и мне дали хороший ответ, и уже потом я спросил в продолжении прошлого вопроса, так как по сути тема заголовка та же, хоть вопрос и другой.
Обсуждение и тут шло вполне в конструктивном ключе и уверен, отличное решение мне бы подсказали, как подсказывали уже не один раз. Просто кто-то начал обвинять меня в троллинге, кто-то в непрофессионализме (при том зацепив не только программирование, но и в целом)- я ответил. Ничего более.

Я читаю и стараюсь понять/попробовать практически всё, что мне предлагают (нередко тратя на это кучу времени и не получая нужного результата) и очень благодарен людям за помощь.

Мне кажется, что для данной описанной проблемы явно есть более качественное решение, чем запихивать универсальность считывания и записи данных когда она(универсальность) не нужна. Возможно решение кроется в возможностях Charta, возможно иначе, потому и спросил на форуме, так как аккуратного решения сам придумать не смог.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846671
Vlad FАндрей Игоревич,

Идите, верно, дальше тем же лесом. Вам реальную техническую помощь (для постановочно-предметной, как понимаю, уже есть матёрый член команды)) предлагают, причем уже не в первый раз. С которой подобные сегодняшнему, да и многим предыдущим, проблемы в принципе бы в конференцию не выносились. А коллегиальность была упомянута в контексте лишь сближения мировозренческих позиций, и в том смысле, что учиться никогда не поздно даже физикам крутым, чего у вас почему-то не выходит на протяжении наблюдаемых лет.
Но вы же, так получается, в штыки? - так флаг вам руки, расширяйте дальше рынок, и, может быть, у заказчиков что-нибудь, наконец, взорвётся, и будут знать как с вами связываться впредь.
Про помощь не понял, вы про себя? Или про советы на форуме - за второе более чем благодарен, они реально очень помогают и я внимательно читаю каждое сообщение и пробую каждое предложение. Про вас - посылайте резюме в упомянутые организации, там реально хороших программистов не хватает, но как писал - первые годы зарплата копейки, но потом хороший рост, есть получастные конторы, там с ЗП сразу хорошо, но я о них не очень много знаю (не интересовался).
Про учиться - а я что делаю? Полтора года назад я стандартный калькулятор бы не написал на делфи, чуть лучше "хелоу ворда" умел программировать. Другой вопрос в том, что у меня реально очень много работы и далеко не всегда у меня есть возможность (да и банально сил и здоровья не хватает) программировать, программирую я в свободное время и вечерами/выходными дома, как уже писал, это не моя основная работа. Потому так медленно и учусь и так часто спрашиваю. И именно поэтому я написал - что быть специалистом в нескольких направлениях очень сложно (не выучить что-то новое, а учиться и развиваться сразу в разных, относительно не связанным направлениях параллельно работая), реально сложно.

Ну и отдельно. Все проблемы которые у меня возникали - все до единой, во многом благодаря форумчанам я решил и всегда за это благодарил. Если вы считаете мои вопросы слишком глупыми, недостойными конференции - это я принимаю (часто это действительно так), остальное - нет.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846684
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatФизик-теоретик теоретически готов. (с)

Не смог удержатся!
Парни, я что-то устал. Давайте дальше с этим кадром сами, без меня.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846713
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичЯ попробовал ВСЁ, что предложено, Зачем вы это пишите?
Вот честно пытался найти на всех трех страницах хоть строчку из твоего кода, воспроизводящего обсуждаемую проблему. Не нашел. Только плач Ярославны и капризы, что все время подсовывают не то. Так какую ты помощь ждешь от окружающих?
[spoiler][youtube=
YouTube Video
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846716
Развели тут оффтопа, модератора на нас нет.
Возможно моя ошибка в том, что я продолжил старую тему с новым вопросом, вместо открытия новой, что вводит людей в заблуждение, почему опять обсуждают такой простой и решенный вопрос.
Распишу то, что я спрашивал ещё раз более подробно.
Мне нужно, что бы в программе менялся разделитель дробной части (запятая - точка) "на лету", то есть без смены его в системе, в графиках и выводе текста на канву. Зачем и почему - писал выше. Для примера пара картинок:
с запятыми

с точками

]

Сложность заключается в том, что помимо рисования картинок и графиков программа в других потока в то же самое время делает другие задачи, такие как открытие файлов больших размеров, сохранение файлов, запуск других программ с параметрами (в которых тоже фигурирует разделитель). Что значительно усложняет задачу.

Изменить вывод текста сразу везде можно использовав глобальную переменную DecimalSeparator, но это может крайне плохо сказаться на стабильности работы остальных потоков, да и вообще тут и на других форумах крайне негативно воспринимают изменение данной переменной, и я понимаю почему.
Далее перечислю что мне предложили:
1. Изменять глобальную переменную (насколько я понял), при этом гарантировать корректную работу потоков за счет:
а) использования SringReplase для приведения к единому формату
б) использование расширенной StrToFloat для универсального считывания данных при любом разделителе.
2. Предложили несколько вариантов форматирования вывода лейблов непосредственно на Чарте, увы, данные способы не сработали, так как разделитель там всё равно подхватывается из DecimalSeparator, даже если в упомянутых строках поставить точку/запятую. (хотя возможно там есть более хитрые возможности форматирования)
3. Предложили использовать Val() и Str(), конкретно это предложение я не очень понял применительно к Chart-у, так как он лейблы рисует в автоматическом режиме подобными процедурами изменить формат вывода не очень просто, у Чарта есть функционал вывода строк вместо числовых значений, но это сильно усложнит работу с ним.
4. Отдельно я сам предполагал вариант на момент отрисовки графиков тормозить все потоки, менять разделитель, рисовать, опять менять разделитель, возобновлять потоки.

Первый способ в обоих вариантах подразумевает во первых изменение в коде DecimalSeparator, что плохо, во вторых обширные изменения в достаточно большом объеме кода. Если ничего не придумаю лучше, воспользуюсь вариантом 1б, по крайней мере он полезен в качестве универсальности считывания/сохранения данных

Далее товарищ asutp2 написал
asutp2Нда, создается впечатление, что ТС всех тупо тролит. Эта "проблема" решается одной(!) строчкой кода
но увы нигде не написал этой строчки. Возможно он прав и я что-то упустил, укажите.

Товарищ Vlad F ещё дальше написал серию достаточно оскорбительных сообщений, на которые я и ответил, вероятно - зря, к коду и программе они отношения не имеют.

Ещё дальше вы написали
ДокПарень, придержи коней. Народ на форуме не виноват в том, что из трех страниц обсуждения ты практически так и не удосужился хоть что-то попробовать или хотя бы почитать о предложенном Как я уже писал выше, я внимательно прочитал всё предложенное и всё попробовал, за исключением Val() и Str(), так как не знаю как их применить к Лейблам чарта.
Теперь вы просите привести код,
ДокВот честно пытался найти на всех трех страницах хоть строчку из твоего кода, воспроизводящего обсуждаемую проблему. Не нашел. Только плач Ярославны и капризы, что все время подсовывают не то. Так какую ты помощь ждешь от окружающих?
Я готов, какой код вам нужен и зачем? Что там должно быть?
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846717
Андрей Игоревич
Мне нужно, что бы в программе менялся разделитель дробной части (запятая - точка) "на лету", то есть без смены его в системе, в графиках и выводе текста на канву.
Очень коряво написал, подразумевается - без смены в системе, без смены в остальных потоках, но со сменой вывода на графики Чарта и TextOut канвы.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846761
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичЯ готов, какой код вам нужен и зачем? Что там должно быть?
обычно прикладывают минимальный код, воспроизводящий проблему или показывающий, что хотелось, но не получилось. Вряд ли за тебя его кто-то будет здесь писать, угадывая исходные условия (жаль, в нашей ветке нет подобного этому сообщения 1991850 ).

Картинки же твои - ни о чем, такие же можно нарисовать и в Экселе. Вот если бы ты написал, в каком виде ты получаешь и хранишь данные, по какому условию определяшь вид десятичного разделителя, как из доп. потока отправляешь данные в TChart для отображения, тогда и дальнейший разговор пошел бы гораздо продуктивнее.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846785
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич,

Здесь на 52-х страницах собраны наиболее популярные вопросы по teechart

http://qaru.site/questions/tagged/teechart?page=1

возможно найдете, что искали
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846794
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно, задачу можно решить разными способами, но большая часть из них - костыли. Корректный способ - это в спеке формата файлов прибить гвоздями разделитель и при общении с файлами применять функции с параметром FormatSettings (к тому же, если вдруг понадобится обмениваться файлами с забугорьем - в программе будет достаточно поменять только один символ); графики же выводить с системным разделителем. Пока на поставленную задачу этого достаточно.

Имплантация FormatSettings может быть муторной и геморной, если до этого код писали абы как ("о, а что, в мире используется букв больше, чем 127???" (с) американцы после стандартизации таблицы ASCII), но это надо.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846846
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
08.08.2019 10:05, Василий 2 пишет:
> Собственно, задачу можно решить разными способами

не взлетит.
тут программист нужен. (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846848
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий08.08.2019 10:05, Василий 2 пишет:
> Собственно, задачу можно решить разными способами

не взлетит.
тут программист нужен. (С)

Do or die trying!
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846850
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
08.08.2019 11:21, Василий 2 пишет:
> Do or die trying!

don't try, die right away.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846958
ДокАндрей ИгоревичЯ готов, какой код вам нужен и зачем? Что там должно быть?
обычно прикладывают минимальный код, воспроизводящий проблему или показывающий, что хотелось, но не получилось. Вряд ли за тебя его кто-то будет здесь писать, угадывая исходные условия (жаль, в нашей ветке нет подобного этому сообщения 1991850 )..
Зачем, ну зачееем??? Если вся проблема по сути описывается одной фразой:
"Как корректно менять дробный разделитель в коде программы для отдельных задач".
Всё остальное это частности, сейчас я фалы открыл одним способом, завтра научился делать это лучшим способом, переделал и всё сломалось, сейчас использую одно, потом - другое. Если я ищу корректный способ, он не должен от этого зависеть. Вот вам код описывающий всю суть проблемы:
Код: pascal
1.
if CheckBox1.Checked then DecimalSeparator:=',' else DecimalSeparator:='.';



ДокКартинки же твои - ни о чем, такие же можно нарисовать и в Экселе. Можно, и рисуются, и там кстати есть пункт с такой настройкой. К чему вообще претензия, я просто показал что хочу получить. Мне даже код не нужен в ответ, саму идею, концепцию или хотя бы ссылку.

ДокВот если бы ты написал, в каком виде ты получаешь и хранишь данные, по какому условию определяшь вид десятичного разделителя, как из доп. потока отправляешь данные в TChart для отображения, тогда и дальнейший разговор пошел бы гораздо продуктивнее.
Абсолютно ненужная для данного обсуждения информация которая с высокой степенью вероятности приведет к обсуждению моего кода, а не изложенного вопроса. Но давайте, мне не сложно:
кодКусочек кода отвечающий за считывание одного типа файлов:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
procedure TOpenResultFiles.ReadingFileData (var ArrayData:TInclData;  FilePath:string; NMax:Integer;var StringFolder:string; var nData:integer);
var
 SorceFile,LineFile:TStringList;
 TempString:string;
 FA_Type:Byte;
 nFA:array [1..163] of Byte;
 i,j,k,n:integer;
 TempReal:Extended;
begin
   TempString:=ExtractFileDir(FilePath);
   if StringFolder<>TempString then      //каждый раз когда меняется каталог с результатами - значит новый расчет
       begin
           StringFolder:=TempString;
           Inc(nData);
           if nData>ArrayData.Size then
                begin
                 SetLength (ArrayData.Data,nData+1); //расширяем массив при наличии новых расчетов
                 ArrayData.Size:=nData;
                end;
            ArrayData.Data[nData].FilePath:=TempString;
       end;

   n:=NameToInt( ExtractFileName(FilePath) )+1;       //номер файла
   if n>ArrayData.Data[nData].NTime  then
        begin
          SetLength ( ArrayData.Data[nData].InTime,n+1);
          ArrayData.Data[nData].NTime:=n;
        end;

   for i:=1 to NTVS do SetLength ( ArrayData.Data[nData].InTime[n].TVS[i].DrVal, NMax+1);  //увеличиваю размер массива ДР

   ArrayData.Data[nData].InTime[n].FilePath:=FilePath;

   SorceFile:=TStringList.Create;
   SorceFile.LoadFromFile(FilePath);
   LineFile:=TStringList.Create;

   for i:=1 to SorceFile.Count-1 do  SorceFile[i]:=Trim(SorceFile[i]); //удаляем проблы до и после на всякий случай

   LineFile.Delimiter := ' ';
   LineFile.DelimitedText:=SorceFile[0];
   ArrayData.Data[nData].InTime[n].TimeSec:=StrToFloat(LineFile[1]);
   ArrayData.Data[nData].InTime[n].TimeDays:=StrToFloat(LineFile[4]);
   ArrayData.Data[nData].InTime[n].NTVS:=163;

   for i:=1 to SorceFile.Count-1 do
    begin
     LineFile.DelimitedText:=SorceFile[i];
     if LineFile[0]='FA' then FA_Type:=StrToInt(LineFile[2]);
     if LineFile[0]='FA/l(m)' then
        begin
          for j:=1 to LineFile.Count-1 do   nFA[j]:=StrToInt(LineFile[j]);
          if ArrayData.Data[nData].InTime[n].NTVS<LineFile.Count-1 then ArrayData.Data[nData].InTime[n].NTVS:=LineFile.Count-1;
          k:=0; //ДР
          ArrayData.Data[nData].InTime[n].NDR[FA_Type]:=0;
        end;
     if TryStrToFloat (LineFile[0], TempReal)   then
        begin
          Inc(k);
          ArrayData.Data[nData].InTime[n].DRHeight[FA_Type,k]:=TempReal;
          for j:=1 to LineFile.Count-1 do
            begin
               ArrayData.Data[nData].InTime[n].TVS[nFA[j]].DrVal[k].Value:=StrTofloat(LineFile[j]);
               ArrayData.Data[nData].InTime[n].TVS[nFA[j]].TSVType:=FA_Type;
            end;
          ArrayData.Data[nData].InTime[n].NDR[FA_Type]:=k;
        end;
    end;
   LineFile.Free;
   SorceFile.Free;
end;


Подобных кусков несколько десятков, так как формат хранения данных разный в разных файлах.

Вот так передаются в основной поток откуда уже рисуются чартом и другими рисвальщиками в главном потоке или других.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
...
Synchronize(SendDataToGlobalThread);
...
procedure TOpenResultFiles.SendDataToGlobalThread;
var
   i:integer;
   TempReal:real;
begin
  ResultData:=InTreadResult;
  i:=CoreShell.TreeView1.Selected.AbsoluteIndex;
  ConstuctTree;
  CoreShell.TreeView1.Select(CoreShell.TreeView1.Items[i])
end;


Вот один из самых простых примеров вывода данных в Чарт, без математики и прочего.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
for i:=1 to ResultData.SUZDropTimes[CoreShell.TrackBar1.Position].InTime[ScrollBar1.Position].NTVS do
  Begin
   ChartColor:=GlTuningImage.ChartTuning.Chart[i].Color;
   TVSType:=ResultData.SUZDropTimes[CoreShell.TrackBar1.Position].InTime[ScrollBar1.Position].TVS[i].TSVType;
   if  ResultData.SUZDropTimes[CoreShell.TrackBar1.Position].InTime[ScrollBar1.Position].TVS[i].TSVType>0 then
    begin
      ChartSeriesList[i].Clear;
      ChartSeriesList[i].Active:=True;
    for j:=1 to ResultData.SUZDropTimes[CoreShell.TrackBar1.Position].InTime[ScrollBar1.Position].NDR[TVSType] do
      begin
         X:=ResultData.SUZDropTimes[CoreShell.TrackBar1.Position].InTime[ScrollBar1.Position].DRHeight[TVSType][j];
         Y:=ResultData.SUZDropTimes[CoreShell.TrackBar1.Position].InTime[ScrollBar1.Position].TVS[i].DrVal[j].Value;
         ChartSeriesList[i].AddXY(X,Y,'',ChartColor);
      end;
    end;
  end;


Как там вам ещё нужна информация, как храню...

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
  TDisplacementDR = record
    dX,dY:Real
  end;

  TDisplacementTVS = record
    //FA:Integer;
    TypeTVS:    Byte;
    DisplDR:    array [0..22] of TDisplacementDR;
    DRWithMax:  Byte;
    DRMaxVal:   Real;
    NDr:        Integer;
  end;

  TDisplacement = record
    TimeSec:real;
    TimeDay:real;
    DisplTVS:     array [1..164] of TDisplacementTVS;
    TVSWIthMax:   array [0..10] of Byte;
    TVSMaxVal:    array [0..10] of Real;
    TSVType:      array [1..10] of Byte;
    NTVSType:     Byte;
    NTVS:         Byte;
    FilePath:     string;
  end;

  TCalc_result = record
     FilePath:     string;
     Displacemen:  array  of TDisplacement;
     DistWithMax:  array [0..10] of integer;  //максимальное значение среди всех файлов
     DistMaxVal:   array [0..10] of real;
     TSVType:      array [1..10] of Byte;
     NTVSType:     Byte;
     Max,Min:      real;
     NDisplacemenFiles:   integer;
  end;

  TDrVal = record
   // TypeTVS   :Byte;
    Value     :Real;
  end;

  TTVS = record
    DrVal     :array of TDrVal;
    WithMax   :integer;  //максимальное значение
    MaxVal    :real;
    TSVType   :Byte;
  end;

  TInTime = record
    TVS         :array [0..163] of TTVS;
    NTVS        :integer;
    DRHeight    :array [1..10,1..101] of real; //тип твс и высота LH для данного типа
    NDR         :array [1..10] of Byte;
    TimeSec     :real;
    TimeDays    :real;
    WithMax:  array [0..10] of integer;  //максимальное значение среди
    MaxVal:   array [0..10] of real;
    TSVType:  array [1..10] of Byte;
    NTVSType:     Byte;
    FilePath :string;
  end;

  TData = record
   FilePath     :string;
   InTime       :array of TInTime;
   NTime        :Integer;
   Max,Min      :real;
   WithMax:  array [0..10] of integer;  //максимальное значение среди
   MaxVal:   array [0..10] of real;
   TSVType:  array [1..10] of Byte;
   NTVSType:     Byte;
  end;

  TBars =record
    Ns      :integer;
    Value   :Real;
  end;

  TBarsTimes = record
    Timesec     :real;
    TimeDays    :real;
    SG          :Byte;
    Gaps        :array of TBars;
    NGaps       :Integer;
    FilePath    :string;
  end;

  TBarsArray =record
    NTimes: integer;
    InTime: array of TBarsTimes;
    FilePath :string;
  end;

  TBarsResult = record
    NSubBar:integer;
    SubBar: array of TBarsArray;
  end;

  TRowResult =record
    Time :  real;
    Value: array [1..15] of real;
  end;

  TMainResults = record
     RandSeed:LongInt;
     Row: array of TRowResult;
     NRow:integer;
     NValue:integer;
     Name:array [1..15] of string;
     FilePath    :string;
  end;

  TInclData = record
    Data:array of TData;
    Size:integer;
    Name:string;
    Opened:boolean;
  end;

  TResult =record
     NCalcDisp           :Integer;
     Calc_result         :array of TCalc_result;
     DisplacemenOpened   :Boolean;

     NCalcSUZForse       :Integer;
     SUZForces           :array of TData;
     SUZForcesOpened     :Boolean;

     NCalcSUZTimesDrop   :Integer;
     SUZDropTimes        :array of TData;
     SUZDropTimesOpened  :Boolean;

     NBarResult         :Byte;
     BarsResult:         array of TBarsResult;
     BarOpened:          array [0..10] of Boolean;

     NCalcMainResult     :integer;
     MainResults:         array of TMainResults;
     MainResultsOpened:   Boolean;

     DataArray: array of TInclData;
  end;


Формат хранения постоянно дорабатываю и перерабатываю, но коль просите.

Ещё есть сохранение файлов и передача параметров, но там обыграть проще.

Коль вы увидели код, можете ли вы предложить что-то, что не предлагали ранее, при этом не сводя обсуждение к качеству моего кода.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39846962
GerasimenkoАндрей Игоревич,

Здесь на 52-х страницах собраны наиболее популярные вопросы по teechart

http://qaru.site/questions/tagged/teechart?page=1

возможно найдете, что искали
Спасибо, просмотрю. Хотя первый вопрос там мне понравился :) авторЧто может привести к тому, что круговая диаграмма выйдет "хлюпать"?.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847069
GerasimenkoАндрей Игоревич,

Здесь на 52-х страницах собраны наиболее популярные вопросы по teechart

http://qaru.site/questions/tagged/teechart?page=1

возможно найдете, что искали
Увы не нашел, но там ещё поиск есть, но пока тоже не нашел нужного, много всего, но увы не того, что икал.

Заодно раз уж умные люди в доках к лазарусу пишут сделал такую процедуру.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
begin
  GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, FPointSeparator);
  FPointSeparator.DecimalSeparator := '.';
  FPointSeparator.ThousandSeparator := '#';// disable the thousand separator
  GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, FCommaSeparator);
  FCommaSeparator.DecimalSeparator := ',';
  FCommaSeparator.ThousandSeparator := '#';// disable the thousand separator
end;

function StringToFloat(AStr: string): Double;
begin
  if Pos(',', AStr) > 0 then Result := StrToFloat(AStr, FCommaSeparator )
  else Result := StrToFloat(AStr, FPointSeparator);
end;


И групповой заменой поменял весь StrToFloat в процедурах считывания данных (наверно тогда и везде поменяю), чем по крайней мере гарантировал считывание при изменении глобального параметра.

А я вот подумал, а нельзя ли пойти на небольшой обман и создать свой шрифт, в котором точку поменять местами с запятой и при выборе галочки просто подключать это шрифт?
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847080
Андрей ИгоревичА я вот подумал, а нельзя ли пойти на небольшой обман и создать свой шрифт, в котором точку поменять местами с запятой и при выборе галочки просто подключать это шрифт?
И ДА! Вот оно решение! Работает! Единственно я не умею в делфи создавать и менять шрифты, потому создал в сторонней программе шрифт.
В итоге всё так просто можно решить...
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847081
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пцнт упрт (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847083
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич...
А я вот подумал, а нельзя ли пойти на небольшой обман и создать свой шрифт, в котором точку поменять местами с запятой и при выборе галочки просто подключать это шрифт?
Это было бы прикольно. :)

Но вот еще беда: в некоторых странах требуют отделать группы десятичных разрядов пробелом, в иных - точками, или "апострофоми" ( ' ). Еще есть разные виды точек.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847087
ёёёёёАндрей Игоревич...
А я вот подумал, а нельзя ли пойти на небольшой обман и создать свой шрифт, в котором точку поменять местами с запятой и при выборе галочки просто подключать это шрифт?
Это было бы прикольно. :)

Но вот еще беда: в некоторых странах требуют отделать группы десятичных разрядов пробелом, в иных - точками, или "апострофоми" ( ' ). Еще есть разные виды точек.
Мы пока с такими странами не работаем. Будем работать - буду думать :). А вообще вы просто не представляете сколько инженеро-часов было потрачено, когда заставили во всей документации менять запятые на точки, сколько было ненависти и боли с глазах и словах людей :).
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847105
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичАндрей ИгоревичА я вот подумал, а нельзя ли пойти на небольшой обман и создать свой шрифт, в котором точку поменять местами с запятой и при выборе галочки просто подключать это шрифт?
И ДА! Вот оно решение! Работает! Единственно я не умею в делфи создавать и менять шрифты, потому создал в сторонней программе шрифт.
В итоге всё так просто можно решить...

Правильно, чем больше граблей сразу разложишь, тем разнообразнее секс потом будет
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847112
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийпцнт упрт (С)

А вы не верили в могутный потенциал! Да он нам всем ещё покажет.))
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847117
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
08.08.2019 16:20, Vlad F пишет:
>
> А вы не верили в могутный потенциал!
> Да он нам всем ещё покажет.))

не, не!
я в домике! (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847130
alekcvpАндрей Игоревичпропущено...

И ДА! Вот оно решение! Работает! Единственно я не умею в делфи создавать и менять шрифты, потому создал в сторонней программе шрифт.
В итоге всё так просто можно решить...

Правильно, чем больше граблей сразу разложишь, тем разнообразнее секс потом будет
Все предложенные выше варианты - это раскидывание грабель по округе, наоборот, как мне кажется, это способ самый безопасный. Только там где выводится текст, если стоит галка и найден шрифт - то применяем измененный шрифт, иначе - стандартный. В чарте то же самое приминительно к лейблам.

Если же предложите менее грабельный путь, с радостью использую.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847132
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей, ты перфокарты застал?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847138
МимопроходящийАндрей, ты перфокарты застал?

Нет, моё знакомство с компьютером началось с дискет 5.25 и 8цветного здоровенного монитора с маленьким экраном и защитным стеклом, хотя в то время может где-то ещё и использовали перфокарты.
Тут за флуд не карают чтоль, хотя судя по вашему объему сообщений - нет, бардакссс :).

Эххх, вы бы по делу что предложили, может есть неграбельно-безкостыльный способ?
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847143
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич, так сам же уже пришел практически к решению. абстрагировать нужную логику за фасадом своей ф-ии. если же имя менять влом то прям strtofloat и оверрайдить где требуется
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847148
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847149
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
08.08.2019 17:16, Андрей Игоревич пишет:
> Нет, моё знакомство с компьютером началось с дискет 5.25

ты не поверишь, но большинство тех, кто считают что ты профан,
в эпоху перфокарт уже таки занимались программированием.
и оттого такая оторопь берёт - неужели так низко пал уровень
подготовки researcher-ов в нонешних условиях...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847160
vavanАндрей Игоревич, так сам же уже пришел практически к решению. абстрагировать нужную логику за фасадом своей ф-ии. если же имя менять влом то прям strtofloat и оверрайдить где требуется
Если честно, не понял о чем речь применительно к моему вопросу (рисовать точки вместо запятых в чарте не меняя логики остальной программы), как именно это сделать. Рисовать нужные мне строки поверх чарта? Какое имя менять?

Мимопроходящийты не поверишь, но большинство тех, кто считают что ты профан,
в эпоху перфокарт уже таки занимались программированием.
и оттого такая оторопь берёт - неужели так низко пал уровень
подготовки researcher-ов в нонешних условиях...

Это лишь говорит о крайней узости мышления и отсутствии интереса к чему-то за пределами своей сферы у таких людей (программирования в данном случае), среди моих коллег есть профессионалы колоссального уровня в своих темах, известные в своих в определенных кругах, которые обладают мизерными или даже нулевыми знаниями в программировании.
Тут же люди путают цели со средством, для инженеров и расчетчиков программирование лишь средство, им, зачастую, не нужны глубокие знания в программировании, достаточно азов, и понимание логики используемых алгоритмов. Большинство расчетных кодов, что наших, что международных имеют примитивнейший и простейший код с использованием пары десятков функций, вся сложность там в адовой математике и сложнейших методиках. И до сих пор значительная часть этих кодов не имеет никакого интерфейса, текстовые файлы и командная строка. И если вы не понимаете почему так, то это больше говорит о вас, нежели о расчетчиках.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847165
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревичне понял о чем речь применительно к моему вопросуя об этом:
Андрей Игоревичгрупповой заменой поменял весь StrToFloat в процедурах считывания данных
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847175
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
08.08.2019 17:57, Андрей Игоревич пишет:
> это больше говорит о вас, нежели о расчетчиках.

расчётчики не имеющие БАЗОВЫХ знаний в программировании,
это невообразимое, немыслимое, невероятное хрен-знает-что!

твой конечный продукт призван прямо или опосредовано (не столь важно)
приумножать блага (материальные и нематериальные) правообладателя оного продукта.
идеалисты вымерли с распадом СССР.
следовательно, и ты таки желаешь "что-то поиметь с гуся".

ну так и найми себе студиоза какого-нить, пообещав толику денег/признания.
нет, ты решил что сможешь одолеть сии Хибины напролом, с нахрапа...

Иван Семеныч вынимает скрипку, засучивает рукава и отворачивает правый борт своего вицмундира.
Вице-губернатор одобрительно ожидает.
Преданный Ивану Семенычу камердинер подносит на блюдечке канифоль.
"Не надо! - говорит он. - Я всегда без канифоли".
Развертывает всем известные какие-то ноты, взмахивает смычком…
Все притаили взволнованное дыхание...

(С) Козьма Прутков.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847177
vavanАндрей Игоревичне понял о чем речь применительно к моему вопросуя об этом:
Андрей Игоревичгрупповой заменой поменял весь StrToFloat в процедурах считывания данных
Ааа, понял, ну это-то понятно, частично так и сделаю, но именно некостыльного алгоритма никто пока так и не предложил, всё предложенное в той или иной степени костыли. Я удивлен, что никто не предложил свой класс сделать на основании ТCHart с нужными возможностями, наиболее корректный, зато крайне неоптимальный по трудозатратам способ.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847180
Мимопроходящий08.08.2019 17:57, Андрей Игоревич пишет:
> это больше говорит о вас, нежели о расчетчиках.

расчётчики не имеющие БАЗОВЫХ знаний в программировании,
это невообразимое, немыслимое, невероятное хрен-знает-что!

Этим вы лишь показываете насколько не понимаете о чем пишите, насколько я дилетант в программировании, настолько (и даже больше) вы не понимаете о современных расчетах. Я понимаю что это ваша заводь (данный форум), и тут я позорюсь своими вопросами, но сейчас вы позоритесь для меня. Для начала изучите как сейчас делаются теплогидравлические и прочностные расчеты, каким софтом и что там программируют, конечно программирование и там тоже не помещает, но при этом не является обязательным.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847187
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
иди-ка ты, Анрюша, в форум "работа".
пытаться поиметь форум на халяву, по меньше мере, НЕХОРОШО.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847200
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич, так может сгодится таки поменять разделитель глобально чтоб делалось как нужно в коде что недоступен к правке, а там где свой код - использовать фасады за к-ми делать иначе, если уж другие варианты не подходят
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847209
Мимопроходящийиди-ка ты, Анрюша, в форум "работа".
пытаться поиметь форум на халяву, по меньше мере, НЕХОРОШО.

Эх, вы, так быстро сдались, а я пока домой шел такой хороший пример вам придумал, что бы объяснить, почему далеко не всем расчетчикам сейчас нужны знания в программировании, рассказать?
(дабы пресечь распространение частного на общее уточню, многим расчетчикам программирование нужно и важно, просто не всем, сейчас, наверное, уже меньшинству).
И так же не стоит обобщать про весь форум, далеко не все тут пишут столь категорические суждения, как вы с товарищем Владом Ф.

vavanАндрей Игоревич, так может сгодится таки поменять разделитель глобально чтоб делалось как нужно в коде что недоступен к правке, а там где свой код - использовать фасады за к-ми делать иначе, если уж другие варианты не подходят
Ну я так и думал делать, пока квадратное колесо в виде шрифтов не придумал. Просто шрифты гораздо безопаснее, пару условий сделал и забыл о них, в крайнем случае просто вывод текста поломается.
А изменение глобальной переменной требует постоянно помнить о ней, дабы не произошла ошибка.

Потом, если будут силы попробую разобраться как прям в коде сделать новый шрифт и поменять в нем рисунки запятой с точкой, такой способ даже и не совсем костыль, а уже "красивое решение" будет :).
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847210
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
08.08.2019 19:22, Андрей Игоревич пишет:
> попробую разобраться как прям в коде сделать новый шрифт и поменять в нем рисунки запятой с точкой, такой способ даже и не совсем костыль, а уже "красивое решение"

этот топег станет классикой,
на уровне BolgenOS, не менее.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847214
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
#define true false ?
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847218
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я волнуюсь за РосАтом. ;)
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847227
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatЧто-то я волнуюсь за РосАтом. ;)
".. а ты его не чеши .." © :)

Андрей ИгоревичЭххх, вы бы по делу что предложили, может есть неграбельно-безкостыльный способ?
странный ты человек, все-таки. Просишь помощи, но даешь минимум исходной информации. На предложение дать минимальный стендовый код, на котором стопорится твое решение, ты со злорадством выкладываешь простыни кода, в котором, если кто и будет разбираться, то только за деньги. При этом ведешь себя так, как-будто делаешь этим огромное одолжение. Скажи, у тебя у самого было бы желание такому человеку помогать?

Твоя проблема решается весьма просто.
картинка
содержимое Memo с картинки
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
Поток: 1 (итерация 0 из 10) | число 0.550713242264464
Поток: 2 (итерация 0 из 10) | число 0.181645113741979
Поток: 1 (итерация 1 из 10) | число 0.161263296147808
Поток: 3 (итерация 0 из 10) | число 0,328247301513329
Поток: 2 (итерация 1 из 10) | число 0.517331535229459
Поток: 1 (итерация 2 из 10) | число 0.119610687484965
Поток: 3 (итерация 1 из 10) | число 0,474193396046758
Поток: 4 (итерация 0 из 10) | число 0.639030296355486
Поток: 2 (итерация 2 из 10) | число 0.500752331689
Поток: 1 (итерация 3 из 10) | число 0.640828047413379
Поток: 5 (итерация 0 из 10) | число 0,766047918004915
Поток: 3 (итерация 2 из 10) | число 0,755233797477558
Поток: 4 (итерация 1 из 10) | число 0.986820093821734
Поток: 2 (итерация 3 из 10) | число 0.276090708561242
Поток: 1 (итерация 4 из 10) | число 0.275751864537597
Поток: 5 (итерация 1 из 10) | число 0,74017467838712
Поток: 3 (итерация 3 из 10) | число 0,821260369382799
Поток: 4 (итерация 2 из 10) | число 0.633438549237326
Поток: 2 (итерация 4 из 10) | число 0.884597174357623
Поток: 1 (итерация 5 из 10) | число 0.569765430875123
Поток: 5 (итерация 2 из 10) | число 0,249314744956791
Поток: 3 (итерация 4 из 10) | число 0,876097834436223
Поток: 4 (итерация 3 из 10) | число 0.710374909453094
Поток: 2 (итерация 5 из 10) | число 0.847723793936893
Поток: 1 (итерация 6 из 10) | число 0.695017458871007
Поток: 5 (итерация 3 из 10) | число 0,979754936415702
Поток: 3 (итерация 5 из 10) | число 0,789963750168681
Поток: 4 (итерация 4 из 10) | число 0.847073224140331
Поток: 2 (итерация 6 из 10) | число 0.103741535451263
Поток: 1 (итерация 7 из 10) | число 0.308410678291693
Поток: 5 (итерация 4 из 10) | число 0,147092779166996
Поток: 3 (итерация 6 из 10) | число 0,0178005869966
Поток: 4 (итерация 5 из 10) | число 0.99436981533654
Поток: 2 (итерация 7 из 10) | число 0.824250821024179
Поток: 1 (итерация 8 из 10) | число 0.797501375200227
Поток: 5 (итерация 5 из 10) | число 0,707146640634164
Поток: 3 (итерация 7 из 10) | число 0,334044748917222
Поток: 4 (итерация 6 из 10) | число 0.105397216277197
Поток: 2 (итерация 8 из 10) | число 0.476134159136564
Поток: 1 (итерация 9 из 10) | число 0.229645318817347
Поток: 5 (итерация 6 из 10) | число 0,614905524998903
Поток: 3 (итерация 8 из 10) | число 0,159353132592514
Поток: 4 (итерация 7 из 10) | число 0.588907081168145
Поток: 2 (итерация 9 из 10) | число 0.644499710993841
Поток: 1 (итерация 10 из 10) | число 0.425723374821246
Поток: 5 (итерация 7 из 10) | число 0,692556501599029
Поток: 3 (итерация 9 из 10) | число 0,498495149193332
Поток: 4 (итерация 8 из 10) | число 0.250839089276269
Поток: 2 (итерация 10 из 10) | число 0.504331457894295
Поток: 5 (итерация 8 из 10) | число 0,473700680537149
Поток: 3 (итерация 10 из 10) | число 0,601004500407726
Поток: 4 (итерация 9 из 10) | число 0.809479599352926
Поток: 5 (итерация 9 из 10) | число 0,588040832662955
Поток: 4 (итерация 10 из 10) | число 0.799533891258761
Поток: 5 (итерация 10 из 10) | число 0,748335739132017

...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847235
ДокrgreatЧто-то я волнуюсь за РосАтом. ;)
".. а ты его не чеши .." © :)

Андрей ИгоревичЭххх, вы бы по делу что предложили, может есть неграбельно-безкостыльный способ?
странный ты человек, все-таки. Просишь помощи, но даешь минимум исходной информации. На предложение дать минимальный стендовый код, на котором стопорится твое решение, ты со злорадством выкладываешь простыни кода, в котором, если кто и будет разбираться, то только за деньги. При этом ведешь себя так, как-будто делаешь этим огромное одолжение. Скажи, у тебя у самого было бы желание такому человеку помогать?

Твоя проблема решается весьма просто.
Если честно, не знаю стоит ли вам отвечать, если вы не желаете прочитать что я вообще спрашивал и зачем, и о каких проблемах сообщал. При этом говорите о дополнительной информации даже не прочитав начальную.
И как то что вы привели соотносится с рисованием точек в Чарте (именно в ЧАРТЕ, не на форме, не в Memo, а в Chart-e, где рисование Лейблов происходит автоматически посредством процедур и функций самого Чарта и на основании вводимых данных, а не моих floattostr или иных процедур) при одновременной работе всей остальной программы и потоков с разделителем как запятой (при этом не прописывая в каждый поток или процедуру свой разделитель). Вы ведь даже не понимаете что я спрашиваю. Зачем вам тогда код? Зачем вы мне приводите гифку, при этом даже в этом случае вы не изволили описать алгоритм(хоть он мне и не нужен), просто показывает себя? Я уже ответил, что такой вариант приемлем, но имеет свои подводные камни в моём коде.

Ну и естественно выводить строки можно хоть с точкой, хоть с запятой, хоть с крестом как разделителем, это сделать элементарно.

Ладно, пора наверно заканчивать общение тут, все местные троли видимо сюда слетелись.
Всем огромное спасибо за помощь, с радостью отвечу на любой конструктив, приму любые претензии в части программирования
На сообщения о моей или моих коллег квалификации как инженеров от людей не понимающих о чем они пишут, и о прочем не относящемся к теме вопроса отвечать не буду.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847240
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичЕсли честно, не знаю стоит ли вам отвечать
я думаю, не стоит. С такими претензиями лучше сразу обращатся в форум "Работа", как уже советовали выше. Когда ко мне на прием приходят такие пациенты, я им молча возращаю предоплаченные на кассе деньги и забываю о них навсегда. Удачи в работе :)
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847244
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий08.08.2019 16:20, Vlad F пишет:
>
> А вы не верили в могутный потенциал!
> Да он нам всем ещё покажет.))

не, не!
я в домике! (С)

Да здесь даже шапочка из фольги не поможет!
Он нам все мозги ещё дотрахает окончательно, - по проявленному напору сие совершенно уже очевидно.
Не думайте, что отделались малою кровью.))
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847249
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич> Мы пока с такими странами не работаем
Ну... я много лет работал с разными странами. И нигде таких проблем не встречал.
Ни в китаях/въетнамах, ни у арабов, ни на МДН...
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847253
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий> в эпоху перфокарт уже таки занимались программированием.

Ха! Первая моя софтинка билась на перфоленту
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847255
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати в бытность мою в ВЦ АН СССР мы успешно юзали ChiWriter А.Чижова и он ёё курочил под любой наш заказ.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847256
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич,

Назначить для оси тип метки:
Код: pascal
1.
Chart1.LeftAxis.LabelStyle := talText;


И обрабатывать событие:
Код: pascal
1.
OnGetAxisLabel


...в котором формировать метку.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847259
Kazantsev AlexeyАндрей Игоревич,

Назначить для оси тип метки:
Код: pascal
1.
Chart1.LeftAxis.LabelStyle := talText;


И обрабатывать событие:
Код: pascal
1.
OnGetAxisLabel


...в котором формировать метку.
Во, вот это очень похоже на то, что нужно. Я даже не догадывался что тут есть событие на отрисовку метки, как-то не подумал даже.
Спасибо, завтра попробую.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847274
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёёНо вот еще беда: в некоторых странах требуют отделать группы десятичных разрядов пробелом

А бывает что и не пробелом, а символом который внешне похож на пробел, но с другим кодом.
Недавно сталкивался, правда уже забыл где конкретно.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847306
Kazantsev AlexeyАндрей Игоревич,

Назначить для оси тип метки:
Код: pascal
1.
Chart1.LeftAxis.LabelStyle := talText;


И обрабатывать событие:
Код: pascal
1.
OnGetAxisLabel


...в котором формировать метку.
Даже
Код: pascal
1.
Chart1.LeftAxis.LabelStyle := talText;

лишнее.

И правда, всё решалось одной строчкой, просто одной строчкой, достаточно было дождаться действительно знающего человека.
Код: pascal
1.
2.
3.
4.
5.
procedure  TCoreShell.Chart1GetAxisLabel(Sender: TChartAxis;
 Series: TChartSeries; ValueIndex: Integer; var LabelText: String);
begin
   LabelText:=StringReplace(LabelText,',','.',[rfIgnoreCase]);
end;

Спасибо огромное - это именно то, что я спрашивал.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847319
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А rfIgnoreCase тебе зачем? ;)
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847322
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

оставь этот момент для его следующего топика :)

Андрей Игоревичдостаточно было дождаться действительно знающего человека
после таких заявлений в следующий рискуешь остаться вообще без помощников :)
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847342
Докrgreat,

оставь этот момент для его следующего топика :)

Андрей Игоревичдостаточно было дождаться действительно знающего человека
после таких заявлений в следующий рискуешь остаться вообще без помощников :)
Без обид, но такие помощники, которые не поняли что вообще спросили, потом на грани(а кто-то и за гранью) с оскорблением пишут о недостатке информации, потом (по их мнению) показывают результат при этом как бы "глумясь" не показывают алгоритма, а когда вопрошающий пишет о том, что он спрашивал другое посылают в "Работа" - как бы и не очень нужны.

При том что ответ на вопрос, как оказывается, предельно прост, действительно одна строчка.

На сим всё, более отвечать (кормить) тут не буду. Всем кто отвечал по делу огромнейшее искреннее спасибо.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847345
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мы его теряем...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847347
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksА бывает что и не пробелом, а символом который внешне похож на пробел, но с другим кодом.
Недавно сталкивался, правда уже забыл где конкретно.
Как это где? Ord(ThousandSeparator) = 160, а не 20, как могло бы показаться с виду
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39847348
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичДаже
Код: pascal
1.
Chart1.LeftAxis.LabelStyle := talText;


лишнее
Ну не знаю, на XE2 без этого событие не генерируется.

Андрей Игоревичдостаточно было дождаться действительно знающего человека.
Я этим чартом не пользовался никогда, но 5 минут гугла решают ;)
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39897454
Так как моя тема последняя на тему Chart, а создавать новую по такой фигне не хочется. Простой вопрос: как в коде поменять вот эту галочку(см рисунок).
По пути
Chart1.BottomAxis.Ticks. .. не нашел. Ну или научите искать на сайте в хелпе такие такие вещи.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39897460
Андрей Игоревич
Так как моя тема последняя на тему Chart, а создавать новую по такой фигне не хочется. Простой вопрос: как в коде поменять вот эту галочку(см рисунок).
По пути
Chart1.BottomAxis.Ticks. .. не нашел. Ну или научите искать на сайте в хелпе такие такие вещи.

А, всё, путем перебора всех параметров где фигурирует Centered и похожих по смыслу нашел:
Chart1.BottomAxis.GridCentered:=False;
Понять бы ещё как искать такие вещи в хелпе...
Всем спасибо.
...
Рейтинг: 0 / 0
FloatToStr и знак разделителя десятичной дроби в разных системах
    #39897911
istrebitel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ищи в dfm'ке. Можно в пустом проекте кинуть чарт на форму ткнуть галочку и по Alt+F12, посмотреть. Либо сохраняешь свой проект, тыкаешь галочку. Внизу переходишь на вкладки History, Differences выбираешь dfm'ку и сравниваешь файл с буфером.
...
Рейтинг: 0 / 0
131 сообщений из 131, показаны все 6 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FloatToStr и знак разделителя десятичной дроби в разных системах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]