Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Смена разделителя дробной части [D7, XP]


Sventitskiy ©   (2007-01-23 13:08:00) 

Друзья,

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

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


MsGuns   (2007-01-23 15:49:00) [1]

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


clickmaker   (2007-01-23 14:06:00) [2]


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

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

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


Kolan   (2007-01-23 13:56:00) [3]

«DecimalSeparator:='.';
…
DecimalSeparator:=??????;»

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


TRUNK   (2007-01-23 13:49:00) [4]


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

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

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


Sventitskiy   (2007-01-23 13:31:00) [5]


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


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

Спасибо


Sventitskiy   (2007-01-23 13:28:00) [6]


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


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

Благодарю


DrPass   (2007-01-23 13:19:00) [7]


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

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


Desdechado   (2007-01-23 13:18:00) [8]

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

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


Elen   (2007-01-23 13:17:00) [9]


> clickmaker

:)

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

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


clickmaker   (2007-01-23 13:16:00) [10]


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

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


Sventitskiy   (2007-01-23 13:14:00) [11]

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

DecimalSeparator:='.';
.........
DecimalSeparator:=??????;

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


Elen   (2007-01-23 13:10:00) [12]


> Sventitskiy

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо