Ini Datei: Section und Ident sind mehrere Wörter
-
hi,
kann es sein, dass TIniFile mit mehreren Wörtern in der Section oder Ident nicht klar kommt?
AnsiString bla = dat->ReadString(" Race Conditions ", "CURNT Formation Lap", "LEER");will einen Editor für ein Spiel programmieren. aber hierbei bekommt er immer wieder den default wert "LEER" raus. der pfad und alles stimmt. das hab ich überprüft. kann mir jemand weiterhelfen ?
danke schon mal.
-
Lies mal mit ReadSections die Sektionen aus und überprüf sie mit dem was du erwartest... Mir fällt spontan nur das führende und nachfolgende Leerzeichen auf...
-junix
-
die sections werden richtig gelesen, aber es geht dann nicht weiter. rechtschreibfehler kann nicht sein, da ich <CURNT Formation Lap> mehrmals kopiert habe. So ist die datei aufgebaut:
[ Race Conditions ]
...
CURNT Formation Lap="1"
...ist da vielleicht irgendein fehler meinerseits?
-
Ich würde dir einfach mal empfehlen die Einträge selbst (per Software) in die Datei zu schrieben, dann siehst du gleich wie das drinstehen muss...
-
hab ich gemacht. da macht er die selbe section noch einmal. dann gibts auf einmal 2 gleiche!!! sectionen. (rechtschreibfehler ausgeschlossen)
-
Interessanter Effekt.

da ich mit meinen INIs keine derartigen Probleme hab', und der einzige Unterschied, der ist, das ich keine Leerzeichen in den Bezeichnern habe: Versuch's doch einfach mal ohne die Leerzeichen (zumindest mal ohne die am Anfang und Ende)
EDIT: Ups, sehe gerade, junix hatte das auch schon angeregt, has Du es dann schon probiert?
-
ja. hab ich. passiert irgendwie das gleiche.
-
hm, sehr seltsam. Kannst Du die Datei irgendwo zum Download bereitstellen? Würde ich mir gerne mal ansehen.
-
ich hab jetzt glaub ich den fehler.
dat->WriteString(" Race Condition[b]s "[/b], "CURNT Formation Lap", "\"TEST\"" );wenn ich den wert so in die datei schreiben lasse kommt das bei raus:
[ Race Conditions]
CURNT Formation Lap="TEST"das leerzeichen am ende des strings wird nicht brücksichtigt. wie kann ich das richtig hinbekommen?
-
Nur durch nachträgliche manuelle String-Manipulation oder durch explizites Einfassen in zusätzliche Anführungszeichen ("\" Race Conditions \"").
TIniFile entfernt beim Schreiben alle leading und trailing spaces.