Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Ini-Dateien und ReadSection (https://www.delphipraxis.net/193134-ini-dateien-und-readsection.html)

H.Bothur 24. Jun 2017 11:40

Ini-Dateien und ReadSection
 
Moin,

ich verstehe etwas bei INI-Dateien nicht ganz ... angenommen ich habe folgende Ini-Datei:

Delphi-Quellcode:
[ADNummern]
1. AD = A
2. AD = B
3. AD = C
4. AD = D
5. AD = E
6. AD = F
Angebommen ich möchte die Buchstaben A-F in eine Stringlist bekommen, wie mache ich das ??

Mit
Delphi-Quellcode:
Ini.ReadSection('ADNummern', TStringList);
bekomme ich die Texte "1. AD", "2. AD" usw. in die TStringList
Mit
Delphi-Quellcode:
Ini.ReadSection[B]S[/B]('ADNummern', TStringList);
bekomme ich "ADNummern" usw. in die TStringList

Natürlich kann ich die Texte einfach umdrehen und in diesem Fall es so schreiben ... aber entweder ich denke falsch oder es ist komplett anders als bei allen anderen Ini-Einträgen.

Delphi-Quellcode:
[ADNummern]
A = 1. AD
B = 2. AD
C = 3. AD
D = 4. AD
E = 5. AD
F = 6. AD
Oder mache ich da was vollkommen falsch ??

Gruß
Hans

Helmi 24. Jun 2017 11:44

AW: Ini-Dateien und ReadSection
 
Hallo,

was du willst die die Werte, also die Values.

Probier mal
Delphi-Quellcode:
Ini.ReadSectionValues

SneakyBagels 24. Jun 2017 12:01

AW: Ini-Dateien und ReadSection
 
Zitat:

aber entweder ich denke falsch oder es ist komplett anders als bei allen anderen Ini-Einträgen.
Ich glaube du denkst falsch.

Wobei ich das hier auch viel zu umständlich ansehe
Delphi-Quellcode:
[ADNummern]
1. AD = A
2. AD = B
3. AD = C
4. AD = D
5. AD = E
6. AD = F

himitsu 24. Jun 2017 12:04

AW: Ini-Dateien und ReadSection
 
PS, im Gegensatz zu XML sind in INI/CSV/usw. führende&folgende Lehrzeichen gültig und werden nicht automatisch entfernt.

Der Name "1. AD " hat also den Valud " A".

juergen 24. Jun 2017 12:25

AW: Ini-Dateien und ReadSection
 
Hallo,

wie wär's mit:
Delphi-Quellcode:
sl.Add(my_ini.ReadString('ADNummern', '1. AD', '1. AD-Error'));
sl.Add(my_ini.ReadString('ADNummern', '2. AD', '2. AD-Error'));
sl.Add(my_ini.ReadString('ADNummern', '3. AD', '3. AD-Error'));
...
sl.Add(my_ini.ReadString('ADNummern', '6. AD', '6. AD-Error'));

himitsu 24. Jun 2017 12:53

AW: Ini-Dateien und ReadSection
 
Delphi-Quellcode:
Ini.ReadSection('ADNummern', SL);
for i := SL.Count - 1 downto 0 do
  SL[i] := SL.ValueByIndex[i];
Nun ja, im Allgemeinen ist eine INI eine Liste aus Name&Wert-Paaren,
wobei immer einem "eindeutigen" Name irgendein "beliebiger" Wert zugewiesen ist. (gleiche Werte können auch mehrmals vorkommen)

Da ein Wert praktisch ohne seinen Namen keine Bedeutung besitzt, gibt es standardmäßig auch keine Funktion, um alle Werte ohne ihren Namen auszulesen.

Luckie 24. Jun 2017 13:23

AW: Ini-Dateien und ReadSection
 
Mal klarer gefragt: Was ist der Bezeichner und was ist der Wert?

H.Bothur 24. Jun 2017 18:40

AW: Ini-Dateien und ReadSection
 
Moin,

Zitat:

Zitat von Helmi (Beitrag 1375272)
Hallo,

was du willst die die Werte, also die Values.
Probier mal
Delphi-Quellcode:
Ini.ReadSectionValues

bei
Delphi-Quellcode:
Ini.ReadSectionValues
bekomme ich aber beide Seiten vom Gleichheitszeichen. :-(
ich will aber nur die rechte Seite wie sonst auch.

Hans

H.Bothur 24. Jun 2017 18:41

AW: Ini-Dateien und ReadSection
 
Zitat:

Zitat von juergen (Beitrag 1375276)
Hallo,

wie wär's mit:
Delphi-Quellcode:
sl.Add(my_ini.ReadString('ADNummern', '1. AD', '1. AD-Error'));
sl.Add(my_ini.ReadString('ADNummern', '2. AD', '2. AD-Error'));
sl.Add(my_ini.ReadString('ADNummern', '3. AD', '3. AD-Error'));
...
sl.Add(my_ini.ReadString('ADNummern', '6. AD', '6. AD-Error'));

so in der Art geht es - hätte aber den Nachteil das ich schon vorher wissen muss wie viele Einträge es gibt.

Hans

Helmi 24. Jun 2017 18:47

AW: Ini-Dateien und ReadSection
 
Zitat:

Zitat von H.Bothur (Beitrag 1375283)
Moin,

Zitat:

Zitat von Helmi (Beitrag 1375272)
Hallo,

was du willst die die Werte, also die Values.
Probier mal
Delphi-Quellcode:
Ini.ReadSectionValues

bei
Delphi-Quellcode:
Ini.ReadSectionValues
bekomme ich aber beide Seiten vom Gleichheitszeichen. :-(
ich will aber nur die rechte Seite wie sonst auch.

Hans

ist ja nicht tragisch

führe ini.ReadSectionValue aus und schreibe in eine StringList
danach kannst du folgendes machen:

Delphi-Quellcode:
for i := 0 to Pred(StringList.Items.Count) do
  S := Stringlist.ValueFromIndex[i];
So bekommst du den einzelnen Wert jeder Zeile.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr.
Seite 1 von 2  1 2      

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