Jul 24

Некоторые варианты работы с INI-файлами.

Рассмотрим сегодня некоторые варианты сохранения INI-файлов…

Представленный ниже пример, сохранять будет в INI-файл config.ini абсолютно все записи со всех без исключения Edit, в независимости от того, сколько их находится у Вас.

В uses необходимо добавить IniFiles

Загружаем INI-файл config.ini при пуске самой программы

procedure TForm1.FormCreate(Sender: TObject);

var

ini : TiniFile;

I : Integer;

begin

ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'config.ini');

try

for I := 0 to ComponentCount - 1 do

begin

if (Components[i] is TEdit) then

(Components[i] as TEdit).Text := ini.ReadString(Components[i].ClassName, Components[i].Name, '');

end;

finally

ini.Free;

end;

end;

Сберегаем в INI-файл config.ini всю информацию, представленную во всех наших Edit на форме при самом закрытии данной программы

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

var

ini : TiniFile;

i : integer;

begin

ini := TiniFile.Create(ExtractFilePath(Application.ExeName)+'config.ini');

try

for I := 0 to ComponentCount - 1 do

if Components[i] is TEdit then

ini.WriteString(Components[i].ClassName, Components[i].Name, (Components[i] as TEdit).Text);

finally

ini.Free;

end;

end;

Необходимо отметит также, ещё один пример для грамотной работы с INI-файлами, но здесь, в отличии от вышеприведенного примера, будет сохраняться исключительно указанный компонент.

В uses необходимо добавить IniFiles

type

...

procedure OpenIniFile;

procedure SaveIniFile;

procedure TForm1.OpenIniFile;

var

Ini : TIniFile;

begin

Ini := TiniFile.Create(extractfilepath(Application.ExeName)+'settings.ini');

Edit1.Text := Ini.ReadString('Main','Edit1',Edit1.Text);

Ini.Free;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

OpenIniFile;

end;

procedure TForm1.SaveIniFile;

var

Ini : TIniFile;

begin

Ini := TiniFile.Create(extractfilepath(Application.ExeName)+'settings.ini');

Ini.WriteString('Main','Edit1',Edit1.Text);

Ini.Free;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

SaveIniFile;

end;

Спонсор поста: предлагаем вашему вниманию лучший рейтинг блогов на сайте продвинутого СЕО-блоггера Счастливчика. В блоге автора доступно и подробно описаны практически все самые популярны системы блог-рейтингов в русскоязычном сегменте Интернета.


Поделитесь вашими мыслями

Поддерживаемые теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>