В раздел Uses необходимо дописать
В раздел 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( СЕКЦИЯ, ПАРАМЕТР, ЗНАЧЕНИЕ_ПО_УМОЛЧАНИЮ );
Содержание Назад Вперед