Показать сообщение отдельно

  #2  
Старый 14.11.2008, 01:05
cash$$$
Banned
Регистрация: 06.01.2008
Сообщений: 413
Провел на форуме:
1301036

Репутация: 1334
Отправить сообщение для cash$$$ с помощью ICQ
По умолчанию

Попробуй сделать так.

Код:
{$IFDEF WIN32}

{$R STRTBL32.RES}
{$ELSE}

{$R STRTBL16.RES}
const
  LANG_ENGLISH = $09;
const
  LANG_SPANISH = $0A;
const
  LANG_SWEDISH = $1D;
{$ENDIF}

function GetLanguage: word;
{$IFDEF WIN32}
{$ELSE}

var
  s: string;
  i: integer;
{$ENDIF}
begin
{$IFDEF WIN32}

  GetLanguage := GetUserDefaultLangID and $3FF;
{$ELSE}

  s[0] := Char(GetProfileString('intl',
    'sLanguage',
    'none',
    @s[1],
    sizeof(s) - 2));
  for i := 1 to length(s) do
    s[i] := UpCase(s[i]);
  if s = 'ENU' then
    GetLanguage := LANG_ENGLISH
  else if s = 'ESN' then
    GetLanguage := LANG_SPANISH
  else if s = 'SVE' then
    GetLanguage := LANG_SWEDISH
  else
    GetLanguage := LANG_ENGLISH;
{$ENDIF}
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  a: array[0..255] of char;
  StrTblOfs: integer;
begin
  {Получаем текущий язык системы и начало соответствующих строк в таблице}
  case GetLanguage of
    LANG_ENGLISH: StrTblOfs := 0;
    LANG_SPANISH: StrTblOfs := 16;
    LANG_SWEDISH: StrTblOfs := 32;
  else
    StrTblOfs := 0;
  end;

  {Загружаем и устанавливаем заголовок кнопки "Yes" в соответствии с языком}
  if LoadString(hInstance,
    StrTblOfs + 1,
    @a,
    sizeof(a)) <> 0 then
    Button1.Caption := StrPas(a);

  {Загружаем и устанавливаем заголовок кнопки "No" в соответствии с языком}
  if LoadString(hInstance,
    StrTblOfs + 2,
    @a,
    sizeof(a)) <> 0 then
    Button2.Caption := StrPas(a);
end;