Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TInifile: Problem mit mehreren " im String (https://www.delphipraxis.net/98011-tinifile-problem-mit-mehreren-im-string.html)

Helmi 20. Aug 2007 18:00


TInifile: Problem mit mehreren " im String
 
Hallo,

irgendwie mach ich was falsch:

Ich hab eine Ini-datei mit folgender Section:
Delphi-Quellcode:
[Abweisen]
Nummern="(012345) 6448"|"(087974) 69"
soweit so gut.

In einer function frag ich den String so ab:
Delphi-Quellcode:
S := ReadString('Abweisen', 'Nummern', '');
Schau ich mir aber gleich danach den Inhalt von "S" an, dann erhalt ich folgendes:
Zitat:

(012345) 6448"|"(087974) 69
Wie man sieht, wird das erste und letzte " abgeschnitten.
Ich brauch die aber, weil ich leerzeigen in den Strings habe.

Ach ja, als Delimiter ist "|" eingetragen.

Wieso geht das nicht?

arbu man 20. Aug 2007 18:14

Re: TInifile: Problem mit mehreren " im String
 
Ich würde Sagen das ist ein Feature von TIniFile wenn ein Wert in Anführungszeichen steht werden diese entfernt. Aber die kannst du ja leicht wieder anfügen :wink:

mfg, Björn

Helmi 20. Aug 2007 18:19

Re: TInifile: Problem mit mehreren " im String
 
mmh, also wenn ich die " hinten und vorne anhänge gehts

Aber das kann doch nicht im Sinne des Erfinders sein, dass man die selbt hinhängen muss...

marabu 20. Aug 2007 18:22

Re: TInifile: Problem mit mehreren " im String
 
Hallo,

das Verhalten findest du nur bei TIniFile. Nimm TMemIniFile und alles funktioniert so, wie du es willst.

Grüße vom marabu

MCXSC 20. Aug 2007 18:24

Re: TInifile: Problem mit mehreren " im String
 
Ich weiß zwar nicht, was genau du vorhast, aber versuch mal:

Versuch mal als Delimiter bzw. QuoteChar eine andere Zeichenkette zu benutzen... Das ReadString der Ini-Unit "verschluckt" die äußeren Anführungsstriche...

//Edit: Zu langsam. Wäre aber auch ganz gut zu wissen, wie du die Daten speicherst, vielleicht kann man dann so direkter helfen... :D

Helmi 20. Aug 2007 18:33

Re: TInifile: Problem mit mehreren " im String
 
gespeichert wird so:

Delphi-Quellcode:
WriteString('Abweisen', 'Nummern', Liste_IgnoreNummern.DelimitedText);
Liste_IgnoreNummern ist vom Typ TStringList.
Und deren Delimiter ist ein '|'

Hab auch schon andere Zeichen ausprobiert, aber mit dem gleichen Verhalten

MCXSC 20. Aug 2007 19:07

Re: TInifile: Problem mit mehreren " im String
 
Liste der Anhänge anzeigen (Anzahl: 1)
Du kannst mittels "Liste_IgnoreNummern.Delimiter" und "Liste_IgnoreNummern.QuoteChar" die Zeichenketten ändern...

Schau dir einfach mal den Source im Anhang an... Anders als den Delimiter und des QuoteChar zu ändern geht es mit der TIniFile nicht, da ist das verschlucken eine "normale" Sache.

Helmi 20. Aug 2007 19:11

Re: TInifile: Problem mit mehreren " im String
 
Danke für die Mühe!

Ich hab aber jetzt einfach hinten und vorne ein " hinzugefügt.
Das geht auch

Zacherl 20. Aug 2007 19:48

Re: TInifile: Problem mit mehreren " im String
 
Ansonsten kann man immer Werte JEDLICHER Art in einer Ini speichern, indem man die Zeichenketten BASE64 kodiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:28 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