Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Delphi 2010 INI oder mitgelieferte Alternative? (https://www.delphipraxis.net/172103-delphi-2010-ini-oder-mitgelieferte-alternative.html)

OrNEC 12. Dez 2012 23:16

Delphi-Version: 2010

Delphi 2010 INI oder mitgelieferte Alternative?
 
Ich grüße Sie,

ich habe vor einige Werte in eine Ini-Datei zu speichern, aber die IniFiles-Uses kann wohl kein Unicode und deswegen überlege ich wie ich jetzt vorgehen soll. Eine zusätzliche Komponente möchte ich meiden, daher meine Frage: was liefert Delphi 2010 mit um die ini-Lösung zu ersetzen? Oder kann man dieser doch irgendwie Unicode beibringen?

Danke!

blackfin 13. Dez 2012 00:31

AW: Delphi 2010 INI oder mitgelieferte Alternative?
 
Normalerweise sollte D2010 INI-Files auch standardmäßig in Unicode erstellen und beschreiben.
Hast du evtl. versucht eine bereits bestehende ANSI-codierte INI-Datei zu verändern? Dann schreibt Delphi die Datei AFAIK auch weiterhin mit ANSI.

Ansonsten probiers doch mal mit einer TMemInifile und Angabe des Encodings:
Delphi-Quellcode:
FIniFile := TMemIniFile.create(Filename, TEncoding.UTF8);
FIniFile.WriteString(...,...);
...
FIniFile.UpdateFile();


Aber generell: was spricht gegen XML statt INI? Ist meist für komplexere Werte eleganter und auch nicht sonderlich schwer zu handeln...

Lemmy 13. Dez 2012 05:55

AW: Delphi 2010 INI oder mitgelieferte Alternative?
 
Guten Morgen,

oder je nach Art der Daten macht sich auch ein TClientDataset ganz gut...

Grüße

Bernhard Geyer 13. Dez 2012 06:29

AW: Delphi 2010 INI oder mitgelieferte Alternative?
 
Zitat:

Zitat von OrNEC (Beitrag 1195302)
ich habe vor einige Werte in eine Ini-Datei zu speichern, aber die IniFiles-Uses kann wohl kein Unicode und deswegen überlege ich wie ich jetzt vorgehen soll. Eine zusätzliche Komponente möchte ich meiden, daher meine Frage: was liefert Delphi 2010 mit um die ini-Lösung zu ersetzen?

Mit etwas Einarbeitung ist XML die flexibelste Alternative

cookie22 13. Dez 2012 07:25

AW: Delphi 2010 INI oder mitgelieferte Alternative?
 
Für einige wenige Werte ist der Overhead von XML oder TClientDataset doch viel zu groß, noch dazu bringt es keinen Vorteil. D2010 kann Unicode-Inis, wo also ist das Problem?

OrNEC 13. Dez 2012 07:44

AW: Delphi 2010 INI oder mitgelieferte Alternative?
 
Bei mir kann es leider nicht, obwohl die ini-Datei von Delphi neu erstellt wird. Liegt es vllt daran, dass ich ganz normalen String Datentyp verwende und nicht WideString und wie die da alle heißen?

DeddyH 13. Dez 2012 07:51

AW: Delphi 2010 INI oder mitgelieferte Alternative?
 
Wenn ich den Code von blackfin anwende, bekomme ich eine Ini in UTF8-Kodierung. Du musst wohl irgend etwas falsch machen.

Bernhard Geyer 13. Dez 2012 07:54

AW: Delphi 2010 INI oder mitgelieferte Alternative?
 
Zitat:

Zitat von cookie22 (Beitrag 1195321)
Für einige wenige Werte ist der Overhead von XML oder TClientDataset doch viel zu groß, noch dazu bringt es keinen Vorteil.

Da wir nicht wissen wie aufgebläht seine Ini-Datei ist wird das spekulation sein ob das Overhead ist oder nicht.
Gut ist wenn man sich grundsätzlich damit auseinander setzt. Wir setzten selbst bei kleinen Tools auf XML weil wir eine "XML-Ini"-Klasse haben welche den Mehraufwand gegenüber einer Ini-Datei gegen 0 streben lässt.

Bernhard Geyer 13. Dez 2012 07:57

AW: Delphi 2010 INI oder mitgelieferte Alternative?
 
Zitat:

Zitat von OrNEC (Beitrag 1195323)
Bei mir kann es leider nicht, obwohl die ini-Datei von Delphi neu erstellt wird. Liegt es vllt daran, dass ich ganz normalen String Datentyp verwende und nicht WideString und wie die da alle heißen?

Der Type String = UnicodeString unter D2010.
Dein Problem ist wohl eher das die WinApi (TIniFile verwendet im Hintergrund die WinAPI) bei Neuanlegen standardmäßig erstmal mit Ansi-Dateien arbeitet und nicht bei bedarf diese nach Unicode ändern kann.
Wenn du die Inidatei hart mit Unicode (Ich denke eine Leere Ini-Datei mit einem UTF8/Unicode-BOM-Header sollte reichen) anlegst sollte Windows auch weiter mit Unicode arbeiten.

OrNEC 13. Dez 2012 08:22

AW: Delphi 2010 INI oder mitgelieferte Alternative?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1195327)
Wenn du die Inidatei hart mit Unicode (Ich denke eine Leere Ini-Datei mit einem UTF8/Unicode-BOM-Header sollte reichen) anlegst sollte Windows auch weiter mit Unicode arbeiten.

Wie mache ich das genau? Hast du vllt ein Beispiel? Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:02 Uhr.
Seite 1 von 3  1 23      

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