В процедуру передается название секции
// 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. Для этого вам понадобится несколько десятков строк программного кода, но зато вы гарантированно можете применять эту процедуру не только в одной вашей программе, не проверяя наличие всех используемых типов компонентов.
Содержание Назад Вперед