IniFilesTMemIniFile (Delphi)
From RAD Studio Code Examples
Language:
Description
This example demonstrates the use of Ini files for storing and loading form configurations between sessions. This example requires a RadioGroup and two buttons.
Code
procedure TForm2.btLoadClick(Sender: TObject); var SettingsFile : TCustomIniFile; begin { Open an instance } SettingsFile := OpenIniFileInstance(); try { Read all saved values from the last session. The section name is the name of the form. Also use the form's properties as defaults. } Top := SettingsFile.ReadInteger(Name, 'Top', Top ); Left := SettingsFile.ReadInteger(Name, 'Left', Left ); Width := SettingsFile.ReadInteger(Name, 'Width', Width ); Height := SettingsFile.ReadInteger(Name, 'Height', Height ); Caption := SettingsFile.ReadString (Name, 'Caption', Caption); { Load last window state. } case SettingsFile.ReadBool(Name, 'InitMax', WindowState = wsMaximized) of true : WindowState := wsMaximized; false: WindowState := wsNormal; end; finally SettingsFile.Free; end; end; procedure TForm2.btStoreClick(Sender: TObject); var SettingsFile: TCustomIniFile; begin { Open an instance. } SettingsFile := OpenIniFileInstance(); { Store current form properties to be used in later sessions. } try SettingsFile.WriteInteger (Name, 'Top', Top); SettingsFile.WriteInteger (Name, 'Left', Left); SettingsFile.WriteInteger (Name, 'Width', Width); SettingsFile.WriteInteger (Name, 'Height', Height); SettingsFile.WriteString (Name, 'Caption', Caption); SettingsFile.WriteBool (Name, 'InitMax', WindowState = wsMaximized ); SettingsFile.WriteDateTime(Name, 'LastRun', Now); finally SettingsFile.Free; end; end; function TForm2.OpenIniFileInstance: TCustomIniFile; begin { Open/create a new INI file that has the same name as your executable, but a INI extension. } case RadioGroup1.ItemIndex of 0: begin { Registry mode selected: in HKEY_CURRENT_USER\Software\... } Result := TRegistryIniFile.Create('Software\' + Application.Title); end; 1: begin { Ini file mode selected } Result := TIniFile.Create(ChangeFileExt(Application.ExeName, '.INI')); end; 2: begin { Memory based Ini file mode selected } Result := TMemIniFile.Create(ChangeFileExt(Application.ExeName, '.INI')); end; end; end;
Uses
- System.Win.Registry.TRegistryIniFile ( fr | de | ja )
- System.IniFiles.TIniFile ( fr | de | ja )
- System.IniFiles.TMemIniFile ( fr | de | ja )
- System.IniFiles.TCustomIniFile ( fr | de | ja )
- System.IniFiles.TCustomIniFile.ReadInteger ( fr | de | ja )
- System.IniFiles.TCustomIniFile.ReadString ( fr | de | ja )
- System.IniFiles.TCustomIniFile.ReadBool ( fr | de | ja )
- System.IniFiles.TCustomIniFile.WriteInteger ( fr | de | ja )
- System.IniFiles.TCustomIniFile.WriteString ( fr | de | ja )
- System.IniFiles.TCustomIniFile.WriteBool ( fr | de | ja )
- System.IniFiles.TIniFile.ReadString ( fr | de | ja )
- System.IniFiles.TIniFile.WriteString ( fr | de | ja )
- System.IniFiles.TMemIniFile.ReadString ( fr | de | ja )
- System.IniFiles.TMemIniFile.WriteString ( fr | de | ja )
- System.Win.Registry.TRegistryIniFile.ReadInteger ( fr | de | ja )
- System.Win.Registry.TRegistryIniFile.ReadString ( fr | de | ja )
- System.Win.Registry.TRegistryIniFile.WriteInteger ( fr | de | ja )
- System.Win.Registry.TRegistryIniFile.WriteString ( fr | de | ja )