Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Unicode in Ressourcefiles (https://www.delphipraxis.net/34340-unicode-ressourcefiles.html)

SirThornberry 21. Nov 2004 14:59


Unicode in Ressourcefiles
 
Ich versuche gerade kramphaft eine sprachdatei für eine hebräische sprache für unser Programm zu erstellen aber ich komm nicht weiter. Das ganze ist bei uns über sogenannte Ressource-Dlls gelöst in denen die Übersetzungen stehen. Je nach dem welche Sprache ausgewählt ist wird somit eine andere DLL eingebunden.

Bei der hebräischen Sprache bin ich jetzt soweit, das ich die ressourcendatei (.rc) als unicode abspeichern muss damit die hebräischen Zeichen nicht verlorgen gehen. Doch sobald die ressourcendatei als unicode abgespeichert ist will der ressourcecompiler diese nicht mehr compilieren. Fehler: "Error strings.rc 1 3: Expecting resource name or resource type name"
und in Zeile 1 steht:
Code:
#include "..\strings.inc"
Da dies nicht ging hab ich mir gedacht das ich das ganze auf die schnelle über eine extra datei mache. Mein Problem dabei ist aber wie ich die datei dann öffnen soll und einlesen. Ich hab es bereits mit FileStream probiert und das ganze versucht auf einen Widestring zuzuweisen aber auch das hat nicht so recht geklappt.

Wie kann man also unicode-dateien öffnen und auf einer Canvas ausgeben lassen?
Habs bereits mit
Delphi-Quellcode:
var LStream: TStream;
    LBuffer: WideString;
begin
  LStream := TFileStream.Create('e:\test.txt', fmOpenRead);
  LBuffer := '';
  setlength(LBuffer, LStream.Size);
  LStream.Read(LBuffer[1], LStream.Size);
  TextOutW(canvas.Handle, 0, 0, PWideChar(LBuffer), LStream.Size);
  LStream.Free;
end;
versucht aber auch da werden nicht die hebräischen zeischen sondern nur vierecke etc. dargestellt. (das eingeben der zeischen im notepad klappt ohne probleme (delphi weigert sich allerdings auch))

Bernhard Geyer 30. Nov 2004 22:15

Re: Unicode in Ressourcefiles
 
Zitat:

Zitat von SirThornberry
Doch sobald die ressourcendatei als unicode abgespeichert ist will der ressourcecompiler diese nicht mehr compilieren. Fehler: "Error strings.rc 1 3: Expecting resource name or resource type name"
und in Zeile 1 steht:
Code:
#include "..\strings.inc"

Die Resourcen-Compiler von Borland sind nicht Unicode-Fähig. Dazu mußt du auf den Resourcen-Compiler von M$ zurückgreifen.
Zitat:

Zitat von SirThornberry
Wie kann man also unicode-dateien öffnen und auf einer Canvas ausgeben lassen?
...versucht aber auch da werden nicht die hebräischen zeischen sondern nur vierecke etc. dargestellt. (das eingeben der zeischen im notepad klappt ohne probleme (delphi weigert sich allerdings auch))

Die Vierecke bedeuten das Du mit einem Font die Ausgabe versuchtst, der diese Zeichen nicht enhält (und nur den Platzhalter "Viereck").

Such einfach mal im Forum nach Unicode und meinen Namen. Du solltest genügent Links/Infos finden (z. B. das ElPack).


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