Уроки по Delphi



         

Урок24. Программа с многоязычным интерфейсом - часть 4


В раздел Uses необходимо дописать модуль для работы с ini-файлами:

Uses IniFiles;

Раздел public дописываем одну строку объявления процедуры:

public

   { Public declarations }

   procedure ChangeLang(LangSection:string);

Сама процедура пишется изначально вручную вместе с заголовком:

procedure TForm1.ChangeLang(LangSection:string);

Var i:Integer; // временная числовая переменная для выборки всех компонентов

    LangIniFile:TIniFile;

    ProgramPath:String; // строковая переменная для получения каталога, где находится запущенный EXE файл

begin

if ComponentCount<>0 then // если в окне больше одного компонента

   begin

      ProgramPath:=ExtractFileDir(Application.ExeName); // получаем каталог, где лежит запущенный EXE файл

      if ProgramPath[Length(ProgramPath)]<>'\' then ProgramPath:=ProgramPath+'\'; // гарантированно устанавливаем последний символ '\' в конце строки

      LangIniFile:=TIniFile.Create(ProgramPath+'lang.ini'); // подготавливаем INI файл. Он должен иметь название lang.ini и должен находиться в каталоге программы

      Caption:=LangIniFile.ReadString(LangSection,Name,Caption); // читаем заголовок окна

      for i:=1 to ComponentCount do // перебираем все компоненты в этом окне

         begin

            if Components[i-1].ClassType=TButton then // если выбран из массива компонент Button, то изменяем текст на кнопке

               (Components[i-1] as TButton).Caption := LangIniFile.ReadString(LangSection, Name+Components[i-1].Name, (Components[i-1] as TButton).Caption);

// Напомню описание функции ReadString:

// LangIniFile.ReadString( СЕКЦИЯ, ПАРАМЕТР, ЗНАЧЕНИЕ_ПО_УМОЛЧАНИЮ );




Содержание  Назад  Вперед