![]() |
WideString / Unicode in INI schreiben
ihr merkt schon, ich bin gerade auf dem unicode-trip ;)
bisher hat alles ganz gut hingehauen, wobei ihr einen großen teil dazu beigetragen habt :) danke! jetzte stehe ich aber vor dem problem, dass ich auch gerne unicodetext in einer ini datei speichern würde. der text liegt in einem widestring. und normalerweise würde ich einen string ja so speichern:
Delphi-Quellcode:
das speichern geht zwar, jedoch werden alle unicodezeichen durch "?" ersetzt.
ini.WriteString(xxx,yyy,MyWideString);
ich habe die ini datei außerhalb von delphi extra als unicode-textfile gespeichert. das bleibt dann sogar nach einem delphi zugriff immer noch unicode, jedoch hat das nichts geholfen. ini.WriteWideString gibts leider nicht :P also irgendwie den widesring in ansistring umwandeln, wobei die besonderen zeichen in #1234 umwandeln und dann erst speichern? und wieder richtig auslesen? :? ... hilfe ... :? |
Re: WideString / Unicode in INI schreiben
Hi,
wenn es noch keinen gibt, der bereits ein "TIniFileW" Object hat, dann könntest Du Dich selbst ans Werk machen. Die API Funktionen, welche von dem TIniFile Object verwendet werden, gibt es als A(ANSI) und W(Unicode) Variante.
Delphi-Quellcode:
Die API Funktion GetPrivateProfileString gibt es als GetPrivateProfileStringA und GetPrivateProfileStringW. Bedeuted ein bischen Arbeit, aber unmöglich ist es nicht.
function TIniFile.ReadString(const Section, Ident, Default: string): string;
var Buffer: array[0..2047] of Char; begin SetString(Result, Buffer, GetPrivateProfileString(PChar(Section), PChar(Ident), PChar(Default), Buffer, SizeOf(Buffer), PChar(FFileName))); end; |
Re: WideString / Unicode in INI schreiben
Oder du suchst dir eine schon fertige Implementation der TIniFile Klasse für Unicode. Gibt es bestimmt irgendwo.
|
Re: WideString / Unicode in INI schreiben
|
Re: WideString / Unicode in INI schreiben
Zitat:
|
Re: WideString / Unicode in INI schreiben
Zitat:
|
Re: WideString / Unicode in INI schreiben
Zitat:
|
Re: WideString / Unicode in INI schreiben
Hallo Bernhard,
kannst Du mir sagen in welcher Unit sich das TIniFile (Unicodeversion) Object befindet? Davon mal abgesehen, ist sicher hilfreich sich an so einem einfachen Object zu versuchen. Die Erfahrungen, die man dabei gewinnt, sind sehr hilfreich. MFG |
Re: WideString / Unicode in INI schreiben
Zitat:
Aber wer mit Unicode sich herumplagen muß ist schon geschädigt genug :???: |
Re: WideString / Unicode in INI schreiben
Zitat:
|
Re: WideString / Unicode in INI schreiben
Zitat:
Zitat:
|
Re: WideString / Unicode in INI schreiben
Danke für den netten aggressiven Hinweis. Habe schon mitbekommen, dass man hier sofort alles verstehen und können muss. Scheinbar ist man hier der Döddel, wenn man nicht diesem Standard entspricht. Es kann natürlich auch sein, das Du mich kennst und daher einschätzen kannst, das ich wahrscheinlich zu "intelligent" zum suchen war oder mir erst gar keine Mühe gemacht habe.
|
Re: WideString / Unicode in INI schreiben
Zitat:
Zitat:
Zähl mal bis 10 und atme aus ... :roll: |
Re: WideString / Unicode in INI schreiben
Zitat:
Aber vor kurzen hatten wir eine Diskussion wo ein "Hilfesuchender" jede Quellzeile vorgekaut haben wollte. |
Re: WideString / Unicode in INI schreiben
Bernhard ...
woher willst Du wissen, ob ich alles vorgekaut haben möchte? Olli woher weist Du, ob ich meine Hausaufgaben gemacht habe? Es kann keiner wissen! Manchmal ist es einfach so, dass man den Wald vor lauter Bäumen nicht sieht. Da ist es dann gut, wenn man qualifizierte Hinweise bekommt. Im Grundsatz des Kodex dieses Forums steht etwas sehr wichtiges: "Bedenke also grundsätzlich bei Deinem Handeln, dass auf der anderen Seite auch 'nur' ein Mensch sitzt.". Keiner weis wer auf der anderen Seite sitzt, was er kann, welche Aufgaben oder Probleme ihn plagen, ob er Anfänger oder Profi ist. Das muss aber auch egal sein. Und sollte jemand nur Wissen abschöpfen wollen, dann gibt es zwei Möglichkeiten: 1. nicht antworten 2. eine direkte Nachricht zukommen lassen. Vielleicht ist nun doch jemand so nett, mir einen Link auf die gesuchte Datei oder das gesuchte Archiv (in dem sich die Datei befindet) zu nennen. Ich habe sie noch nicht gefunden. |
Re: WideString / Unicode in INI schreiben
|
Re: WideString / Unicode in INI schreiben
Zitat:
![]() "Unicode Enabled TIniFile" |
Re: WideString / Unicode in INI schreiben
wie wäre es mit
![]() ? (edit, ok jetzt hast du es drei mal. wurde nicht auf neue posts hingewiesen. sorry). |
Re: WideString / Unicode in INI schreiben
Besten Dank.
Jetzt habe ich die Stelle auch gefunden und was war es. Eine defekte Seite im Cache unseres Proxies. Bei dieser wurde ab "Unicode Fixes for Delphi 5" nichts mehr angezeigt. Und genau das ist es. Keiner weis auf der anderen Seite, warum jemand nach etwas fragt. |
Re: WideString / Unicode in INI schreiben
Zitat:
Mehr ist dazu nicht zu sagen! |
Re: WideString / Unicode in INI schreiben
Hat noch jemand diese TntIniFiles.zip bzw. TntIniFiles.pas irgendwo herumliegen?
Ich habe das irgendwie nicht mehr und auf den verlinkten Seiten lässt sich das nicht merh beziehen, da die TNT Componenten einen kommerziellen Weg eingeschlagen haben. |
Re: WideString / Unicode in INI schreiben
Zitat:
![]() Zitat:
|
Re: WideString / Unicode in INI schreiben
Zitat:
Dort gibt es noch. Allerdings nicht für Gäste: ![]() |
Re: WideString / Unicode in INI schreiben
Zitat:
Waren die nicht Standard-Bestandteil der TNT's? |
Re: WideString / Unicode in INI schreiben
Leider nicht. Aber wenn man kein TIniFile sondern nur TMemIniFile benötigt, kann man die Unit IniFiles nehmen und umschreiben.
|
Re: WideString / Unicode in INI schreiben
Zitat:
![]() |
Re: WideString / Unicode in INI schreiben
Zitat:
|
Re: WideString / Unicode in INI schreiben
Eine Alternative mit Delphi-Bordmitteln wären normale Ini-Files, in die man UTF8-kodierte Widestrings (Utf8Decode/Utf8Encode) schreibt. Das einzige, was dann nicht geht, sind "Unicode-Dateinamen" für die Inidatei.
|
Re: WideString / Unicode in INI schreiben
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:36 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