Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.17;
Скачать: CL | DM;

Вниз

Региональные стандарты   Найти похожие ветки 

 
igor_m   (2009-11-24 10:10) [0]

Добрый день, как можно программно определить значение "Разделитель целой и дробной части" из панели управления в ярлыке "Язык и региональные стандарты"? Спасибо.


 
zorik ©   (2009-11-24 10:15) [1]

способ 1:
DecimicalSeparator
Его даже изменить можно, но там есть какие-то ньюансы и где-то я читал что этот способ не всегда корректно работает
способ 2: (ламерский)

const
 a = 1.1;
var
 c: char;
begin
 c := FloatToStr(a)[2];


 
Григорьев Антон ©   (2009-11-24 10:27) [2]


> но там есть какие-то ньюансы и где-то я читал что этот способ
> не всегда корректно работает

DecimalSeparator - это внутренняя переменная Delphi. По умолчанию она инициализируется системными настройками, но впоследствии её можно изменить. Так что, если вы используете чужие компоненты без исходного кода, гарантии, что они не изменили DecimalSeparator, нет. Поэтому проверка DecimalSeparator может дать результат, отличный от системных настроек. Системные настройки могут быть получены с помощью функции GetLocaleInfo.

Ещё одна засада состоит в том, что изменение DecimalSeparator влияет только на чисто дельфийские функции типа FloatToStr и Format. А вот преобразования вариантов идут без обращения к этой переменной, поэтому на них изменения её значения не влияет.


 
zorik ©   (2009-11-24 10:32) [3]

То есть, выходит что и FloatToStr(1.1)[2] при определенных условиях может дать неверный результат?


 
igor_m   (2009-11-24 10:38) [4]

Отлично, спасибо.


 
Anatoly Podgoretsky ©   (2009-11-24 10:58) [5]

> Григорьев Антон  (24.11.2009 10:27:02)  [2]

Им уже давно пора объявить эти переменные, как deprecated



Страницы: 1 вся ветка

Текущий архив: 2010.01.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
15-1258463255
И. Павел
2009-11-17 16:07
2010.01.17
Java Script: Вставка текста при нажатии кнопки


15-1258360621
ВадимММ
2009-11-16 11:37
2010.01.17
Принтерное сопло-2


2-1258556612
niro
2009-11-18 18:03
2010.01.17
перехватить событие от msie


2-1259492226
Егорка
2009-11-29 13:57
2010.01.17
эмуляция TreeView


1-1233308348
kyn66
2009-01-30 12:39
2010.01.17
FileListBox1 - отсутствует сортировка