TStringList в TIniFile

unit IniStr;
{Записал Ed Jordan}
interface

uses
Classes;

type
TIniStringlist = class( TStringList )
public

procedure LoadFromIni( const FileName, Section: string);
procedure SaveToIni( const FileName, Section: string);
end;

implementation

uses
IniFiles, SysUtils;

procedure TIniStringList.LoadFromIni( const FileName,Section: string);
var
Index: Integer;
Line: string;
begin
with TIniFile.Create( FileName ) do
try
ReadSectionValues( Section, Self);
for Index:= 0 to Count - 1 do
begin
{ Удаляем имя идентификатора ...}
Line:= Values[ IntToStr( Index ) ];
{ Удаляем тильду ... }
System.Delete( Line, 1, 1);
Strings[ Index ]:= Line;
end;
finally
Free;
end;
end;

procedure TIniStringList.SaveToIni( const FileName, Section: string);
var
Index: Integer;
Line: string;
begin
with TIniFile.Create( FileName ) do
try
EraseSection( Section );
for Index:= 0 to Count - 1 do
begin
{ Сохраняем белые пробелы, пустые строки ...}
Line:= '~' + Strings[ Index ];
WriteString( Section, IntToStr( Index ), Line);
end;
finally
Free;
end;
end;

end.

Применение: var

L: TIniStringList;
begin
L:= TIniStringList.Create;
L.LoadFromIni('MyFile.Ini', 'Alati');
{Загружаем L..}
L.Free;
end.