Текущий архив: 2002.12.26;
Скачать: CL | DM;
ВнизРазделитель дробной части Найти похожие ветки
← →
Sour (2002-12-17 00:34) [0]Как получить и изменить разделитель дробной части числа, установленной в Windows. Т.е. надо программно проверить является ли разделитель точкой, если нет, то сменить его на точку?
← →
Моджахед (2002-12-17 00:47) [1]Не помню сейчас как именно извенить в НАСТРОЙКАХ ВИНДОВС, но если определить в своей программе и там же изменить, то переменная DecimalSeparator. Ее начальное значение берется из виндовых настроек. А там делай с ней что хочешь. Только смотри, она вилияет на трактование чисел в функциях StrToFloat и проч.
← →
AndrewVolkov (2002-12-17 00:50) [2]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:51) [3]А! Вспомнил. Если надобно поменять значение для ВСЕЙ СИСТЕМЫ (но учти, за это пользователи твоей проги тебе рожу набьют), то оно хранится HKEY_CURRENTUSER\ControlPanel\International\sDecimal (для текущего юзера, конечно). Ну и в LOCAL_MACHINE для всех юзеров.
Короче, меняй, но помни о последствиях.
← →
Моджахед (2002-12-17 00:55) [4]Вот и опоздал с отсылкой. Но теперь ты в курсе.Но помни об NT (LOCAL_MACHINE) и помни о злобных юзерах, которые до тебя-таки доберутся %)
← →
Спрашивающий (2002-12-17 01:44) [5]На сколько я правильно понял требуется не изменять системные настройки а чтобы при вводе пользователем точки или запятой в проге всегда был результат разделитель системы. Это делается так:
If (Key=".") or (Key=",") Then Key:=DecimalSeparator;
← →
Моджахед очень пьян (2002-12-17 02:16) [6]А вы, народ, предыдущие посты читаете, а?
С уважением,
Моджахед горизонтальный
Страницы: 1 вся ветка
Текущий архив: 2002.12.26;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c