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))