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 ) dotryReadSectionValues( Section, Self);for Index:= 0 to Count - 1 dobegin{ Удаляем имя идентификатора ...}Line:= Values[ IntToStr( Index ) ];{ Удаляем тильду ... }System.Delete( Line, 1, 1);Strings[ Index ]:= Line;end;finallyFree;end;end; procedure TIniStringList.SaveToIni( const FileName, Section: string); var Index: Integer;Line: string;begin with TIniFile.Create( FileName ) dotryEraseSection( Section );for Index:= 0 to Count - 1 dobegin{ Сохраняем белые пробелы, пустые строки ...}Line:= '~' + Strings[ Index ];WriteString( Section, IntToStr( Index ), Line);end;finallyFree;end;end; end. |
Применение:
var L: TIniStringList;begin L:= TIniStringList.Create;L.LoadFromIni('MyFile.Ini', 'Alati');{Загружаем L..}L.Free;end. |