AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Unicode in Ressourcefiles

Ein Thema von SirThornberry · begonnen am 21. Nov 2004 · letzter Beitrag vom 30. Nov 2004
Antwort Antwort
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

Unicode in Ressourcefiles

  Alt 21. Nov 2004, 15:59
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))
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Unicode in Ressourcefiles

  Alt 30. Nov 2004, 23:15
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 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).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz