IniFilesTMemIniFile (Delphi)
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 )