Autor Beitrag
SteheAufDerLeitung
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Fr 17.08.07 07:32 
Hallo!

Ich habe ein IniFile mit rund 20 Sections. Die Sections, deren Name mit "TabSheet" beginnen, möchte ich in eine neue Section schreiben. Mein Hintergrund: In einer Schleife will ich genau diese Sections durchsuchen.

Kann ich denn diese Sections in eine neue Section schreiben? Oder gibt es vielleicht einen besseren Weg gezielt Sections zu durchsuchen?

Danke schon mal...

Sebastian
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 17.08.07 09:14 
Moin!

Deine Beschreibung hört sich so an, als ob du im Aufbau der INI-Datei einen Konzept-Fehler drin hast... :? Das führt dann meistens zu den interessantesten Effekten... :| Wenn Nutzdaten in den Section-Namen enthalten sind, ist das IMHO ein Fehler. :nixweiss:

Beispiel, "ungeschickt":
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
[Person1]
Name=Tilo Testmann
Age=18
[Person2]
Name=Rainer Uhser
Age=19
[Person3]
Name=Kai Neahnung
Age=20

Besser so: :idea:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
[Persons]
Count=3
Name1=Tilo Testmann
Age1=18
Name2=Rainer Uhser
Age2=19
Name3=Kai Neahnung
Age3=20

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
arj
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 378

Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
BeitragVerfasst: Fr 17.08.07 09:53 
@narses: Das er nen Fehler hat, hat er wohl gemerkt, sonst hätte er nicht gefragt wie man es korrigiert! :roll:

@SteheAufDerLeitung: Post doch mal einen Teil der INI wie sie momentan ist, und wie sie sein sollte.
Dann kann man dir helfen :)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 17.08.07 09:56 
Moin!

user profile iconarj hat folgendes geschrieben:
@narses: Das er nen Fehler hat, hat er wohl gemerkt, sonst hätte er nicht gefragt wie man es korrigiert! :roll:

Den konnteste dir aber nicht verkneifen, was? :zwinker: Dumm nur, dass mein Posting ggü deinem schon Hilfe enthält... :P

cu
Narses du bist hoffentlich nicht zart besaitet und verstehst das jetzt nicht falsch

//EDIT:
user profile iconarj hat folgendes geschrieben:
Eine Lösung hast du ihm noch nicht gegeben! Du hast nur das Problem das er hat formuliert!

Das ist idR doch schon die halbe Lösung... :)

_________________
There are 10 types of people - those who understand binary and those who don´t.


Zuletzt bearbeitet von Narses am Fr 17.08.07 10:09, insgesamt 1-mal bearbeitet
arj
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 378

Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
BeitragVerfasst: Fr 17.08.07 10:02 
>>> OFF TOPIC <<<
@narses: Ja, da hast allerdings recht, deines enthält schon Hilfe allerdings weiß ich noch nicht, ob er genau
das gemeint hat :-P
>>> OFF TOPIC <<<

@Stehaufderleitung:
Kannst dich ja mal melden ob narses mit geschultem blick *g* dein Problem erkannt hat ;)

Wobei: Eine Lösung hast du ihm noch nicht gegeben! Du hast nur das Problem das er hat formuliert!
SteheAufDerLeitung Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Fr 17.08.07 12:40 
Na dann list ich mal kurz was:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
[TabSheetReglerKont]
NoOfObjects = 5
NoOfParameter = 3
item0 = bsp0
item0.1 = bsp0.1
item0.2 = bsp0.2
item0.3 = bsp0.3
item1 = bsp1
item1.1...
...
...

[TabSheetReglerZweipunkt]
NoOfObjects = 17
NoOfParameter = 5
item0 = bsp0
item0.1 = bsp0.1
item0.2 = bsp0.2
item0.3 = bsp0.3
item0.4 = bsp...
item0.5 = bsp 0.5
item1 = bsp1
item1.1...
...
...


So siehts für knapp zwanzig Sections aus. Dabei beginnen aber nicht alle SectionNamen mit TabSheet. Will mir aber irgendwo nur die listen, die auch mit TabSheet beginnen, damit ich sie nach Items und Values durchsuchen kann..

hilft das?

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
Calculon
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 676

Win XP Professional
Delphi 7 PE, Delphi 3 PRO
BeitragVerfasst: Fr 17.08.07 18:07 
SteheAufDerLeitung hat folgendes geschrieben:
Will mir aber irgendwo nur die listen, die auch mit TabSheet beginnen, damit ich sie nach Items und Values durchsuchen kann..

Du könntest doch die ini-Textdatei in einer Schleife mit beispielsweise while not eof() durchlaufen und für jede Zeile prüfen, ob 'TabSheet' vorkommt. Wenn ja, in einer Stringlist zwischenspeichern und diese dann am Ende nach deinen Wünschen an die Ini ankleben.

Hier erfährst du, wie du prüfen kannst, ob ein String in einem anderen String vorkommt. Wie du siehst, hab' ich immer die besten Einfälle... user defined image

Gruß

Calculon
--
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: So 19.08.07 18:10 
Mit der Funktion ReadSections von TIniFile kannst du alle Sections einer TStringList übergeben. Das könnte auch helfen.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
SteheAufDerLeitung Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Di 21.08.07 10:34 
Genau so bin ich es angegangen! Am Anfang wollte ich keine StringList verwenden, sondern nur das IniFile. Der Weg ist aber nicht schlecht! ;-)

Besten Dank - ReadSections läuft :-D