RAD Studio VCL Reference
|
Writes a string value to an INI file.
procedure WriteString(const Section: String; const Ident: String; const Value: String); override;
virtual __fastcall WriteString(const AnsiString Section, const AnsiString Ident, const AnsiString Value);
Call WriteString to write a string value to an INI file. Section identifies the section in the file that contain the key to which to write. Ident is the name of the key for which to set a value. Value is the string value to write.
C++ Examples:
/* This example demonstrates the usage of Ini files in order to store and load form configuration between sessions. Example assumes a RadioGroup and two buttons are present on the main form. */ 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 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 our 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")); } }
Delphi Examples:
{ This example demonstrates the use of Ini files in order to store and load form configurations between sessions. This example requires a RadioGroup and two buttons. } 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 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 our executable only with the 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;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|