Уроки по Delphi



         

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


// 1. LangSection - передаваемый параметр в процедуру. В процедуру передается название секции для выбранного языка

// 2. Name+Components[i-1].Name - Name - название формы, Components[i-1].Name - название компонента

// 3. (Components[i-1] as TButton).Caption - в случае неудачного чтения этого параметра из ini файла (нет такого параметра), то ничего меняться не будет

// аналогично для других типов:

            if Components[i-1].ClassType=TLabel then

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

            if Components[i-1].ClassType=TEdit then

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

            // ...

            // ...

            // ...

         end;

      LangIniFile.Free; // освобождаем ресурс

   end;

end;

Этот пример можно забрать по этой ссылке

(4КБ). Обратите внимание, в программе два окна. В каждом модуле для каждого отдельного окна присутствует эта вышеописанная процедура.

Вместо строк // ... вы можете добавлять другие типы компонентов, например, можете описать тип компонента TCheckBox, если таковой имеет место в вашей программе. В идеале описывайте по шаблону все или большинство типов компонентов, имеющиеся в наличие в delphi. Для этого вам понадобится несколько десятков строк программного кода, но зато вы гарантированно можете применять эту процедуру не только в одной вашей программе, не проверяя наличие всех используемых типов компонентов.




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