IniFilesTMemIniFile (C++)
From RAD Studio Code Examples
Language:
Description
This example demonstrates the usage of Ini files in order to store and load form configuration between sessions. Example requires that a RadioGroup and two buttons are present on the main form.
Code
void __fastcall TForm2::btStoreClick(TObject *Sender) { /* Open an instance. */ TCustomIniFile* 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 ); } catch(Exception* e) { } delete SettingsFile; } void __fastcall TForm2::btLoadClick(TObject *Sender) { /* Open an instance. */ TCustomIniFile* 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. if (SettingsFile->ReadBool(Name, "InitMax", WindowState == wsMaximized)) WindowState = wsMaximized; else WindowState = wsNormal; } catch(Exception* e) { } delete SettingsFile; } TCustomIniFile* __fastcall TForm2::OpenIniFileInstance() { /* Open/create a new INI file that has the same name as your executable, only with the INI extension. */ switch (RadioGroup1->ItemIndex) { case 0: /* Registry mode selected: in HKEY_CURRENT_USER\Software\... */ return new TRegistryIniFile(String("Software\\") + Application->Title); case 1: /* Ini file mode selected */ return new TIniFile(ChangeFileExt(Application->ExeName, ".INI")); case 2: /* Memory based Ini file mode selected */ return new TMemIniFile(ChangeFileExt(Application->ExeName, ".INI")); } }
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 )