Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2010, 07:48   #1
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию Многоязычный интерфейс приложений

Доброго времени суток, уважаемые эксперты!
Я хотел бы создать именно так как здесь в примере.

[Language]
ErrorRegOpenKey=Ошибка открытия
ErrorRegCreateKey=Ошибка создания
ErrorRegWriteKey=Ошибка записи

[Language]
ErrorRegOpenKey=Error opening
ErrorRegCreateKey=Error creating
ErrorRegWriteKey=Error writing

т.е. есть 2-ва iniFil(а) English.ini и Russian.ini

ЗАРАНЕЕ БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 01.02.2010, 08:04   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хы... Во-первых:
Цитата:
[Russian]
ErrorRegOpenKey=Ошибка открытия
ErrorRegCreateKey=Ошибка создания
ErrorRegWriteKey=Ошибка записи

[English]
ErrorRegOpenKey=Error opening
ErrorRegCreateKey=Error creating
ErrorRegWriteKey=Error writing
Ну а дальше через TIniFiles открывай нужную ветку (можно даже выяснить какой язык винды и его ветку считывать) и считывай ключи.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.02.2010, 08:12   #3
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

А исходник кода можно ПОЖАЛУЙСТА
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 01.02.2010, 08:30   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пожалуйста:
http://www.delphiworld.narod.ru/base...any_langs.html
http://www.delphiworld.narod.ru/base/multilang_app.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.02.2010, 12:34   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А у нас ?
http://www.programmersforum.ru/showt...ht=Russian.ini
Все разжевано и в рот положено...
mihali4 вне форума Ответить с цитированием
Старый 01.02.2010, 18:48   #6
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

в тех примерах нету такого как я здесь вписал (((
я же написал то что хотелось бы именно так как здесь

Код:
ErrorRegOpenKey=Ошибка открытия
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 01.02.2010, 22:02   #7
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от KWN, lnc Посмотреть сообщение
в тех примерах нету такого как я здесь вписал (((
я же написал то что хотелось бы именно так как здесь

Код:
ErrorRegOpenKey=Ошибка открытия
Вот накидал на скорую руку. Можно еще прикрутить что бы PopupMenu и MainMenu тоже сохранял, но это нужно с вложенными циклами делать и с кучей проверок.
Под себя надеюсь изменишь?
Код:
procedure TForm1.Button5Click(Sender: TObject);
var
  lang: TStringList;
  i: Integer;
  Comp: TComponent;
begin
  lang := TStringList.Create;
  for i := 0 to Self.ComponentCount - 1 do
  begin
    Comp := Self.Components[i];
    if (Comp.ClassType = TLabel) or (Comp.ClassType = TButton) then
    begin
      lang.Values[Comp.Name] := TLabel(Comp).Caption;
    end;
  end;
  lang.SaveToFile('language.txt');
  lang.Free;
end;

procedure TForm1.Button6Click(Sender: TObject);
var
  lang: TStringList;
  i: Integer;
  Comp: TControl;
begin
  lang := TStringList.Create;
  lang.LoadFromFile('language.txt');
  for i := 0 to Self.ControlCount - 1 do
  begin
    Comp := Self.Controls[i];
    if (Comp.ClassType = TLabel) or (Comp.ClassType = TButton) then
    begin
      TLabel(Comp).Caption := lang.Values[Comp.Name];
    end;
  end;
  lang.Free;
end;
Вложения
Тип файла: rar MultiLang.rar (167.9 Кб, 54 просмотров)
psycho-coder вне форума Ответить с цитированием
Старый 02.02.2010, 02:47   #8
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

psycho-coder, ну тут опять же - идет обработка через компонент.
Код:
Label(i).Caption
((( а мне надо чтобы так как здесь в примере + в *.ini формате!!! вот о чем речь.

Код:
ErrorRegOpenKey=Ошибка открытия
а через компонент я уже давным давно сообразил.
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 02.02.2010, 02:57   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

ТС...KWN, lnc
Я так понял (если понял вашу замаскированную донельзя замысловатость) - вам нужно, чтобы сообщения при исключениях были на разных язЫках ?
mihali4 вне форума Ответить с цитированием
Старый 02.02.2010, 18:04   #10
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

mihali4, Да!
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интерфейс masterlomaster Помощь студентам 3 22.10.2009 11:42
COM-интерфейс Rekky Общие вопросы Delphi 2 16.09.2009 06:05
Интерфейс [Smarik] Общие вопросы Delphi 16 18.06.2008 10:37