Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi INI-Sektionen (https://www.delphipraxis.net/4327-ini-sektionen.html)

CyberFred 24. Apr 2003 17:45


INI-Sektionen
 
Hi!
Gibt es eine Möglichkeit, wie ich aus einer ini-Datei die Anzahl ihrer Sektionen auslesen kann?

ciao

Luckie 24. Apr 2003 17:48

TIniFile.ReadSections. Und dann die Anzahl der Einträge in der Stringlist mit Count ermitteln.

Stanlay Hanks 24. Apr 2003 17:49

Wenn du die Ini selber anlegst, würde ich die erste Section z.B. [Allgemein] nennen und dann ein Value mit Anzahl= anlegen und da dann bei dejdem hinzufügen eins dazu addieren. Ansonsten würde ich mit Readsections(Listbox1) alle Sections in eine Listbox laden und dann mit Listbox1.items.count die Anzahl abfragen.

Mist... zu langsam :twisted: :evil: :twisted: :evil: :twisted:

Man liest sich, Stanlay :coder:

sakura 24. Apr 2003 17:50

ReadSections von TIniFile ließt alle Sektionsnamen in eine String Liste. Dort kannst Du dann vie der Eigenschaft Count die Anzahl ermitteln.

...:cat:...

CyberFred 24. Apr 2003 18:06

@Luckie:
Also ich hab jetzt folgendes:
Delphi-Quellcode:
ini:=TIniFile.Create(location)
Was genau muss ich da jetzt bei ini.ReadSections() reinschreiben und was hast du mit den 'count' gemeint??? :(

ciao

Luckie 24. Apr 2003 18:10

Delphi-Quellcode:
uses IniFiles;
procedure TForm1.FormActivate(Sender: TObject);

var
  AppIni: TIniFile;
begin
  AppIni := TIniFile.Create('WIN.INI');
  AppIni.ReadSections(ListBox1.Items);
  AppIni.ReadSection('Ports',Listbox2.Items);
  AppIni.ReadSectionValues('Ports',ListBox3.Items);
  AppIni.Free;
end;
Aus der Delphi-Hilfe. :roll:

Alexander 24. Apr 2003 18:13

du musst eine Stringliste reinschreiben. Mit der kannst du dann mit Count die Anzahl abfrage (stringliste.count)

Alexander 24. Apr 2003 18:41

mist zu spät.....
würde das ganze aber noch zwischen try und finally packen, damit AppIni auch wirklich wieder freigegeben wird

Pseudemys Nelsoni 24. Apr 2003 22:08

wird doch auch ohne try finally wieder freigegeben oder nicht

MrSpock 25. Apr 2003 06:59

Hallo silent,

hier ist "oder nicht" richtig :mrgreen: .

Wenn das Auslesen der Ini-Datei einen Fehler verursacht, wird die Abarbeitung abgebrochen und eine exception ausgelöst. Der Code nach der Anweisung, die den Fehler verursacht hat wird nicht mehr ausgeführt. Erstellst du jedoch einen try ... finally Block, wird die exception zwar noch nicht als "behandelt" markiert (dazu wäre ein try ... except Block nötig), aber der Code nach dem "finally" wird immer (also auch, wenn keine exception ausgelöst wird) ausgeführt.

sakura 25. Apr 2003 08:18

Wobei mir gerade auffällt, dass das hier rein gar nichts mit Datenbanken zu tun hat -> Sonstiges :roll:

...:cat:...

Alexander 25. Apr 2003 13:07

Wieso haben Ini-Dateien nichts mit Datenbanken zu tun? Es ist doch genau wie die Registry eine Datenbank oder wie würdest du das sagen?
Hätte eine Ini-Frage wohl auch im forum datenbank gestellt, deswegen frage ich!? danke

Stanlay Hanks 25. Apr 2003 13:16

Hab meine erste Frage auch in Datenbanken gestellt, weil ich dachte, da wird ja auch irgendwie was abgefragt, nämlich Sections und Values. Aber wenn man sich das so überlegt, ist eine Ini auch nur eine Datei wie jede andere, weil man ja aus jeder Datei was rauslesen (abfragen) kann.

man liest sich, Stanlay

:D

Alexander 25. Apr 2003 13:18

naja ich finde man kann das aber auhc als Datenbank sehen...aber du hast auch recht....


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr.

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