home *** CD-ROM | disk | FTP | other *** search
/ PC World Plus! (NZ) 2001 June / HDC50.iso / Runimage / Delphi50 / Doc / INIFILES.INT < prev    next >
Text File  |  1999-08-11  |  4KB  |  85 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Borland Delphi Visual Component Library         }
  5. {                                                       }
  6. {       Copyright (c) 1995,99 Inprise Corporation       }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. unit IniFiles;
  11.  
  12. {$R-,T-,H+,X+}
  13.  
  14. interface
  15.  
  16. uses Windows, SysUtils, Classes;
  17.  
  18. type
  19.   TCustomIniFile = class(TObject)
  20.   public
  21.     constructor Create(const FileName: string);
  22.     function SectionExists(const Section: string): Boolean;
  23.     function ReadString(const Section, Ident, Default: string): string; virtual; abstract;
  24.     procedure WriteString(const Section, Ident, Value: String); virtual; abstract;
  25.     function ReadInteger(const Section, Ident: string; Default: Longint): Longint; virtual;
  26.     procedure WriteInteger(const Section, Ident: string; Value: Longint); virtual;
  27.     function ReadBool(const Section, Ident: string; Default: Boolean): Boolean; virtual;
  28.     procedure WriteBool(const Section, Ident: string; Value: Boolean); virtual;
  29.     function ReadDate(const Section, Name: string; Default: TDateTime): TDateTime; virtual;
  30.     function ReadDateTime(const Section, Name: string; Default: TDateTime): TDateTime; virtual;
  31.     function ReadFloat(const Section, Name: string; Default: Double): Double; virtual;
  32.     function ReadTime(const Section, Name: string; Default: TDateTime): TDateTime; virtual;
  33.     procedure WriteDate(const Section, Name: string; Value: TDateTime); virtual;
  34.     procedure WriteDateTime(const Section, Name: string; Value: TDateTime); virtual;
  35.     procedure WriteFloat(const Section, Name: string; Value: Double); virtual;
  36.     procedure WriteTime(const Section, Name: string; Value: TDateTime); virtual;
  37.     procedure ReadSection(const Section: string; Strings: TStrings); virtual; abstract;
  38.     procedure ReadSections(Strings: TStrings); virtual; abstract;
  39.     procedure ReadSectionValues(const Section: string; Strings: TStrings); virtual; abstract;
  40.     procedure EraseSection(const Section: string); virtual; abstract;
  41.     procedure DeleteKey(const Section, Ident: String); virtual; abstract;
  42.     procedure UpdateFile; virtual; abstract;
  43.     function ValueExists(const Section, Ident: string): Boolean;
  44.     property FileName: string;
  45.   end;
  46.  
  47.   { TIniFile - Encapsulates the Windows INI file interface
  48.     (Get/SetPrivateProfileXXX functions) }
  49.  
  50.   TIniFile = class(TCustomIniFile)
  51.   public
  52.     function ReadString(const Section, Ident, Default: string): string; override;
  53.     procedure WriteString(const Section, Ident, Value: String); override;
  54.     procedure ReadSection(const Section: string; Strings: TStrings); override;
  55.     procedure ReadSections(Strings: TStrings); override;
  56.     procedure ReadSectionValues(const Section: string; Strings: TStrings); override;
  57.     procedure EraseSection(const Section: string); override;
  58.     procedure DeleteKey(const Section, Ident: String); override;
  59.     procedure UpdateFile; override;
  60.   end;
  61.  
  62.   { TMemIniFile - loads and entire ini file into memory and allows all
  63.     operations to be performed on the memory image.  The image can then
  64.     be written out to the disk file }
  65.  
  66.   TMemIniFile = class(TCustomIniFile)
  67.   public
  68.     constructor Create(const FileName: string);
  69.     destructor Destroy; override;
  70.     procedure Clear;
  71.     procedure DeleteKey(const Section, Ident: String); override;
  72.     procedure EraseSection(const Section: string); override;
  73.     procedure GetStrings(List: TStrings);
  74.     procedure ReadSection(const Section: string; Strings: TStrings); override;
  75.     procedure ReadSections(Strings: TStrings); override;
  76.     procedure ReadSectionValues(const Section: string; Strings: TStrings); override;
  77.     function ReadString(const Section, Ident, Default: string): string; override;
  78.     procedure Rename(const FileName: string; Reload: Boolean);
  79.     procedure SetStrings(List: TStrings);
  80.     procedure UpdateFile; override;
  81.     procedure WriteString(const Section, Ident, Value: String); override;
  82.   end;
  83.  
  84. implementation
  85.