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

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

Разделитель дробной части [D5]


Sour ©   (2002-12-17 00:34:00) 

Как получить и изменить разделитель дробной части числа, установленной в Windows. Т.е. надо программно проверить является ли разделитель точкой, если нет, то сменить его на точку?


Моджахед очень пьян   (2002-12-17 02:16:00) [1]

А вы, народ, предыдущие посты читаете, а?
С уважением,
Моджахед горизонтальный


Спрашивающий   (2002-12-17 01:44:00) [2]

На сколько я правильно понял требуется не изменять системные настройки а чтобы при вводе пользователем точки или запятой в проге всегда был результат разделитель системы. Это делается так:
If (Key=".") or (Key=",") Then Key:=DecimalSeparator;


Моджахед   (2002-12-17 00:55:00) [3]

Вот и опоздал с отсылкой. Но теперь ты в курсе.Но помни об NT (LOCAL_MACHINE) и помни о злобных юзерах, которые до тебя-таки доберутся %)


Моджахед   (2002-12-17 00:51:00) [4]

А! Вспомнил. Если надобно поменять значение для ВСЕЙ СИСТЕМЫ (но учти, за это пользователи твоей проги тебе рожу набьют), то оно хранится HKEY_CURRENTUSER\ControlPanel\International\sDecimal (для текущего юзера, конечно). Ну и в LOCAL_MACHINE для всех юзеров.

Короче, меняй, но помни о последствиях.


AndrewVolkov   (2002-12-17 00:50:00) [5]

Var
RegIni:TRegIniFile;
ch:string;
begin
try
begin
RegIni:=TRegIniFile.Create("Control panel");
RegIni.RootKey:=HKEY_CURRENT_USER;
ch:=Regini.ReadString("International","sDecimal","");
regIni.free;
end
except

end;

end;

Я лично проверял так


Моджахед   (2002-12-17 00:47:00) [6]

Не помню сейчас как именно извенить в НАСТРОЙКАХ ВИНДОВС, но если определить в своей программе и там же изменить, то переменная DecimalSeparator. Ее начальное значение берется из виндовых настроек. А там делай с ней что хочешь. Только смотри, она вилияет на трактование чисел в функциях StrToFloat и проч.


Наверх

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