Консультация № 159381
02.02.2009, 02:22
0.00 руб.
0 1 1
Здравствуйте уважаемые эксперты! Помогите пожалуйста: как сохранить измененные в процессе выполнения программы свойства формы в файле .ini ?
Надеюсь на Вашу помощь, если можно - с примером. Спасибо

Обсуждение

Неизвестный
02.02.2009, 10:01
общий
это ответ
Здравствуйте, Николай // Programmator !

Привожу пример. См. ниже.

Приложение:
uses ... IniFiles

...

procedure TForm1.FormCreate(Sender: TObject);
begin
// При создании формы прочитаем настройки
with TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini')) do // Имя нашей ини-шки будет такое же,
// как у программы, но с расширением INI
try
Width := ReadInteger('FORM', 'Width', Width); // читаем ширину формы из ключа Width секции FORM.
// Если такого ключа нету, то используем ту ширину,
// которая у формы.
// Т.е. - третий параметр функций чтения из INI -
// это значение по умолчанию, если нет указанного ключа
Height := ReadInteger('FORM', 'Height', Height);
Caption := ReadString('FORM', 'Caption', 'Заголовок по умолчанию');
// Узнаем - коглда был прошлый запуск. Если не указано - подставим текущую дату-время
Label1.Caption := 'Последний запуск: '+DateTimeToStr(ReadDateTime('STUFF', 'LastStart', Now));
// Теперь запишем время последнего запуска (т.е. - текущее)
WriteDateTime('STUFF', 'LastStart', Now);
finally
Free;
end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// Сохраним настройки при выходе
with TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini')) do
try
WriteInteger('FORM', 'Width', Width);
WriteInteger('FORM', 'Height', Height);
WriteString('FORM', 'Caption', Caption);
finally
Free;
end;
end;
Форма ответа