Вниз
Скачать: CL | DM;

Смена разделителя дробной части   Найти похожие ветки 

← →
Sventitskiy   (2007-01-23 13:08) [0]

Друзья,

подскажите как сменить разделитель дробной части вещественного числа с установленного в Делфи по умолчанию (запятая) на точку. После выполнения некоторого набора операторов нужно снова восстановить старый системный разделитель (запятая).

Заранее благодарен


← →
Elen ©   (2007-01-23 13:10) [1]


> Sventitskiy

Поменять значение в var DecimalSeparator: Char;
на нужный разделитель и обратно.


← →
Sventitskiy ©   (2007-01-23 13:14) [2]

Это, как я понимаю, вот так:

DecimalSeparator:=".";
.........
DecimalSeparator:=??????;

Но что присвоить вместо ?????. Нужно знать старое системное значение (в моем случае это запятая). Как его узнать?


← →
clickmaker ©   (2007-01-23 13:16) [3]


> Как его узнать?

это страшная тайна. Даже не пытайся, если опасаешься за здоровье


← →
Elen ©   (2007-01-23 13:17) [4]


> clickmaker

:)

> Но что присвоить вместо ?????.

Присвой медаль за смекалку ;) (после того как почитаеш на него хелп)


← →
Desdechado ©   (2007-01-23 13:18) [5]

Старое значение находится там же.

ЗЫ имей в виду, что при смене разделитея в системе при запущенной твоей программе он и у тебя опять поменяется автоматом


← →
DrPass ©   (2007-01-23 13:19) [6]


> Но что присвоить вместо ?????. Нужно знать старое системное
> значение (в моем случае это запятая). Как его узнать?

Не обижайся... но за такие вопросы в Древней Спарте тебя бы сбросили в пропасть.


← →
Sventitskiy ©   (2007-01-23 13:28) [7]


> Старое значение находится там же.
>
> ЗЫ имей в виду, что при смене разделитея в системе при запущенной
> твоей программе он и у тебя опять поменяется автоматом


Если Вас не затруднит, не могли бы Вы пояснить, то что написали. Не совсем просто понятно.

Благодарю


← →
Sventitskiy ©   (2007-01-23 13:31) [8]


> Не обижайся... но за такие вопросы в Древней Спарте тебя
> бы сбросили в пропасть.


Вы меня конечно извините, но я бы на Вашем месте вместо того чтобы выпендриваться помог бы. Я так понимаю, что форум для этого и существует. Если Вы находите мой вопрос смешным, просто нечего на него отвечать.

Спасибо


← →
TRUNK ©   (2007-01-23 13:49) [9]


> нужно снова восстановить старый системный разделитель

так же, как это делается в модуле SysUtils:

DecimalSeparator := GetLocaleChar(GetThreadLocale, LOCALE_SDECIMAL, ".");


← →
Kolan ©   (2007-01-23 13:56) [10]

«DecimalSeparator:=".";
&#133
DecimalSeparator:=??????;»

var
 Temp: Char;
begin
 Temp := DecimalSeparator;
 DecimalSeparator := ".";
 //
 DecimalSeparator := Temp;
end;


← →
clickmaker ©   (2007-01-23 14:06) [11]


> [10] Kolan ©   (23.01.07 13:56)

а можно позанудствовать?

Temp := DecimalSeparator;
DecimalSeparator := ".";
try
//
finally
 DecimalSeparator := Temp;
end;


← →
MsGuns ©   (2007-01-23 15:49) [12]

Я извиняюсь, а зачем вообще МЕНЯТЬ системные настройки ?
Может, лучше в приложении просто использовать переменную и ее "лепить" где надо для юзера вместо системной ?



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
2-1169733873
Help!
2007-01-25 17:04
2007.02.11
Runtime


1-1166610505
ZubrZubr
2006-12-20 13:28
2007.02.11
Component под Component


15-1168984170
Tirael
2007-01-17 00:49
2007.02.11
основной шлюз


3-1164021718
Feds
2006-11-20 14:21
2007.02.11
Узнать тип поле таблицы?


15-1169176403
Tirael
2007-01-19 06:13
2007.02.11
стоит дороже




   Наверх