Decimal Separator

Здравствуйте все! Требуется написать процедуру программного переключения "делителя дробной и целой части" в настройках региональных параметров. (с запятой на точку и обратно). Может кто-то занимался этим вопросом, подскажите? Не могу понять, как добраться до этого делителя. ОС XP service pack 3. Спасибо, Михаил.

Задал вопрос, но наверно не понятно. Попробую так. Как из моей программы получить доступ к глобальной переменной "DecimalSeparator"? Необходимо из программы оперативно переключать разделитель с запятой на точку и обратно. Михаил.

Что-то уж больно низкая активность на сайте.Вот написАл процедуру, работает,но не изменяет значение переменной.

procedure TForm1.BitBtn1Click(Sender: TObject);
  var
  Registry: TRegistry;
   msg: string;
   s:Char;
  begin
  if (DecimalSeparator = ',') then
  begin
   Registry := TRegistry.Create;
   Registry.RootKey :=HKEY_LOCAL_MACHINE;
   Registry.OpenKey('SoftWare\Borland\DatabaseEngine\
   Settings\System\Formats\Number\DECIMALSEPARATOR'
,true);

   Registry.WriteString(DecimalSeparator, '.');
   Registry.CloseKey;
   Registry.Free;
   end;
 //проверка
   s:= DecimalSeparator;
   case s of
      ',': msg:='запятая';
      '.': msg:='точка';
   end;
   ShowMessage(msg);
  end;
end.
Что, где не так? Помогите пожалуйста. Михаил.

Решение подсказал модератор Ildvild с сайта DelphiExpert. Если менять в системе, то значение хранится в другом ключе реестра [HKCU]\Control Panel\International

Код:

begin

    Registry := TRegistry.Create;

    Registry.RootKey := HKEY_CURRENT_USER;

    Registry.OpenKey('\Control Panel\International', False);

    Registry.WriteString('sDecimal', '.');

    Registry.CloseKey;

    Registry.Free;

  end;

Спасибо всем.

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...