Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Региональные настройки


Автор: Том Сойер 24.9.2004, 11:29
Привет...

Такая проблемка - необходимо на время работы программы выставить ненормальные региональные настройки (скажем, Английский (Великобритания)), и, чтоб других программ это не коснулось...

Нашел TSysLocale тип, в нем вроде нужные переменные... Нашел даже UpdateFormatSettings.... Но что-то, видимо, не то делаю....

Подскажите, плиз....

Да и кстати, кто мне скажет как в таблицу, видимую в гриде, запихать в формат поля знак ФУНТА, то есть - F ###.## (вместо F должен стоять фунт)... Если кто мучился - сообщите, пожалуйста....

Автор: Alex 24.9.2004, 16:22
Код
procedure MyBeforeCreateForms;
// Подстройки некоторых объектов Delphi
begin
 with  Application  do begin
   HintPause     := 20;
   HintHidePause := 20000;
   UpdateFormatSettings := False; // Запрет отслеживания изменений
                                  // интернациональных параметров во
                                  // время работы программы
 end;
 // Настройка интернациональных параметров под себя
 DecimalSeparator := '.';
 DateSeparator    := '.';
 TimeSeparator    := ':';
 ShortDateFormat  := 'dd.mm.yyyy';
 ShortTimeFormat  := 'hh:mm:ss';
 LongTimeFormat   := 'hh:mm:ss';
end;

Автор: Том Сойер 24.9.2004, 16:57
Спасибо, конечно.... но как раз до этого я допер...

у меня формат стоит - dddd, что означает

dddd The day as a full name (Sunday-Saturday) using the strings given by the LongDayNames global variable.

То есть выписывается "Понедельник", если понедельник и в контрольной панели РУССКИЙ, а если поставить АНГЛИЙСКИЙ - то "Monday"....

Но юзверю неохота лазить по контрольной панели и ставить АНГЛИЙСКИЙ....

Как прогу обмануть?

Автор: Pakshin A. S. 24.9.2004, 19:46
Переключить язык?
просто:
Код

// в начале проги заполняем глобальные переменные
var
  russian, latin: HKL;
...
begin
...
russian:=LoadKeyboardLayout('00000419', 0);
latin:=LoadKeyboardLayout('00000409', 0);
...
end;

// гле-то в проге
SetActiveKeyboardLayout(latin{для примера});

Самый простой способ переключения языка...

Автор: Том Сойер 25.9.2004, 11:24
Pakshin A. S.
Догорой эксперт, раскладка клавиатуры и региональные настройки - не совсем одно и то же.... Можете открыть свою контрольную панель и убедится...

Поможите, кто-нить....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)