![]() |
Delphi-Version: 12 Athens
TiniFile.ReadString Fehler, wenn ...
Hi Leute,
Haben INI-Dateien gewisse Voraussetzungen? Meine ini-Datei:
Code:
Zeile 1:[base]
Zeile 2:MeinName=MeinWert Zeile 3: usw.
Delphi-Quellcode:
Anschließend ist LMeinWert = '' also leer
LiniFile := TIniFile.Create( Pfad + 'Datei.ini'); // Pfad/Dateiname ist alles richtig
LMeinWert := LiniFile.ReadString( 'base', 'MeinName', ''); Wenn ich aber die ini-Datei wie folgt ändere:
Code:
und dann die Abfrage mache, ist alles so wie es sein soll.
Zeile 1:; dummy
Zeile 2: Zeile 3:[base] Zeile 4:MeinName=MeinWert Zeile 5: usw. Gibt es hier einen Bug? Kann das jemand nachvollziehen? VG Thomas |
AW: TiniFile.ReadString Fehler, wenn ...
Kann ich hier nicht nachvollziehen. Meine Ini:
Code:
Der Auslese-Code dazu:
[base]
MeinName=MeinWert
Delphi-Quellcode:
Es wird erwartungsgemäß "MeinWert" ausgegeben.
var
lIni: TIniFile; begin lIni := TIniFile.Create('E:\Test.ini'); try var s := lIni.readString('base', 'MeinName', ''); ShowMessage(s); finally lIni.Free; end; |
AW: TiniFile.ReadString Fehler, wenn ...
Haben die beiden Dateien das gleiche Encoding, ggf. mit BOM? Oder sonst irgendwie komische Zeichen in der Datei, die nicht geht?
Ansonsten solltest du besser TMemIniFile verwenden, das andere ist veraltet. |
AW: TiniFile.ReadString Fehler, wenn ...
joooo, an BOM dachte ich auch.
UTF-8? Die INI-WinAPI kann offiziell ausschließlich ANSI und Unicode (UCS2 UTF-16). Versuch es mal mit TMemIniFile ... das nutzt intern TStringList, welche mit Anderem klarkommen sollte. Vor der [ dürfen ja nur Leerzeichen und Tabs stehen (oder vielleicht einfach kleiner-gleich Leerzeichen), aber dann wären im ANSI (da es nicht als UTF-16 erkannt wird) andere "Zeichen" davor. |
AW: TiniFile.ReadString Fehler, wenn ...
Jupp, das war's. Die Datei hatte ich im Notepad++ geschrieben und sie war UTF8-BOM
ini-Dateien nehme ich eigentlich gar nicht mehr, aber die Info zu welcher DB ich gerne möchte, muss ja irgendwo eingetragen werden. Und da ist ini praktisch, weil auch auf Linux möglich. (klar, nicht mir TIniFile) |
AW: TiniFile.ReadString Fehler, wenn ...
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 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