![]() |
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! |
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... |
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Guten Morgen,
oder je nach Art der Daten macht sich auch ein TClientDataset ganz gut... Grüße |
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Zitat:
|
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?
|
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?
|
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.
|
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Zitat:
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. |
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Zitat:
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. |
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Zitat:
|
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Siehe
![]() |
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Zitat:
|
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Das ließe sich ggf. über einen Aufruf von TMemIniFile.UpdateFile regeln:
![]() |
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Wie es ja auch im verlinkten Code steht :roll:
|
AW: Delphi 2010 INI oder mitgelieferte Alternative?
TIniFile basiert auf seit mehr als 15 Jahren veralteten API-Funktionen aus Windows 3.x für 16-Bit (die auch z.B. Anführungszeichen nicht korrekt behandeln) und sollte daher sowieso nicht mehr benutzt werden.
Wer unbedingt heutzutage noch INIs nutzen will, für den ist TMemIniFile auf jeden Fall besser, da es nativ in Delphis RTL implementiert ist. |
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Ok muss ich wohl so leben. Aber ich verstehe nicht wieso embarcadero es nicht schaff ALLES, aber wirklich alles unicodefähig zu machen.
|
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Zitat:
TMemIniFile <> TIniFile!!! TMemIniFile := Wird von der RTL behandelt (basierend auf TStringList); TIniFile := Wrapper um die veralteten WinAPI-Funktionen (NICHT nehmen!); Vgl. den Post von blackfin! |
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Thx... :thumb:
|
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Zitat:
|
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Warum sollte der User das auch machen sollen?
Entweder ist es eine gewollte Konfiguration, dann gibt es normalerweise einen Dialog dafür, oder es ist nicht gewollt, dass die Datei modifiziert wird, dann muss man das auch nicht vereinfachen. :gruebel: |
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Weil wir für Admins versteckte Optionen und Features anbieten, die man nur über die Inis freischalten kann. Man kann damit z.B. Verschlüsselung und Internetzugriff erlauben oder eben nicht.
|
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Anmerkung am Rande: Such doch mal mit dem Gockel nach UniObjectIni. Hab ich GENAU deswegen erfunden :-)
|
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Zitat:
|
AW: Delphi 2010 INI oder mitgelieferte Alternative?
Die haben wir auch, bis halt auf die versteckten Funktionen, die für normale User nicht sofort zugänglich sein sollen. :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz