Из "Visual Developer Journal" Июль/Июнь 1996 страница 108, unit IniStr автор Ed Jordan:
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. |