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.