Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   INI-Datei: Zeilenbegrenzung? (https://www.delphipraxis.net/90435-ini-datei-zeilenbegrenzung.html)

yankee 17. Apr 2007 16:11

Re: INI-Datei: Zeilenbegrenzung?
 
Zitat:

Wie liest bzw. schreibt man Werte/Gruppen in deine Ini-Klasse? So wie in deiner Demo? :shock:

Man vermisst hier regelrecht die gewohnten Read/Write- Methoden.
Ja, so wie in der Demo... Das sieht erstmal natürlich kompliziert aus, ist aber sehr schnell. Zumindest solange, wie man mehrere Sections hat und mehrere Values in eine Section schreibt, weil man sich immer nur mit der Section beschäftig und nicht immer wieder erst die Section und dann das Item finden muss.
Wenn einem das egal ist, könnte man sowas schreiben:
Delphi-Quellcode:
ini.findSection('aSection',true).AddItem('aKey','aValue');
//das wäre das selbe wie bei TIniFile:
dini.writeString('aSection','aKey','aValue');
Aber der Vorteil der untergliederung ist natürlich sowas:
Delphi-Quellcode:
dini.writeString('aSection','aKey','aValue');
dini.writeString('aSection','aKey1','aValue');
dini.writeString('aSection','aKey2','aValue');
dini.writeString('aSection','aKey3','aValue');
dini.writeString('aSection','aKey4','aValue');
dini.writeString('aSection','aKey5','aValue');
//Wird in TYIniFile zu:
with ini.findSection('aSection',true) do
begin
  AddItem('aKey','aValue');
  AddItem('aKey1','aValue');
  AddItem('aKey2','aValue');
  AddItem('aKey3','aValue');
  AddItem('aKey4','aValue');
  AddItem('aKey5','aValue');
end;

bigg 17. Apr 2007 16:24

Re: INI-Datei: Zeilenbegrenzung?
 
Zitat:

Zitat von yankee
Das sieht erstmal natürlich kompliziert aus...

Eigentlich nicht, aber es ist für INI-Klassen recht ungewöhnlich. Ich habe es in meiner INI-Klasse so geregelt,
das ich die Gruppe, bevor ich darin lese/schreibe vorher öffne. Anschließend kann man, wie gewohnt per Read/ Write auf die Werte in der geöffneten Gruppe zugreifen.

Delphi-Quellcode:
  IniFile := TMyIni.Create;
  try
   
    {MainForm}
    if IniFile.OpenSection('MainForm', True) then // lege sie an, insofern sie nicht existiert
    begin
      IniFile.WriteInteger('Left',       MainForm.Left);
      IniFile.WriteInteger('Top',        MainForm.Top);
      IniFile.WriteInteger('Height',     MainForm.Height);
      IniFile.WriteInteger('Width',      MainForm.Width);

      IniFile.CloseSection;
    end;
    {\MainForm}
 
   //IniFile.SaveToFile('Pfad...');

  finally
    IniFile.Free;
  end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz