![]() |
chr für unicode?
gibt es eine function wie chr (also int in char nach ascii), mit der man den kompletten unicode benutzen kann?
|
Re: chr für unicode?
Nein, da es die Funktion Chr ja auch nicht gibt.
Ein Zeichen ist ja eine Zahl. Kommt bloß darauf an wie man jene Interpretiert. Chr wiederrum gehört zur Sprache Pascal und zeigt das der Programmierer diese Zahl als Zeichen darstellen möchte.
Delphi-Quellcode:
var cw : WideChar;
c : char; begin cw := WideChar($0064); c = char($64); // Äquivalent zu Chr end; |
Re: chr für unicode?
Chr() ist identisch mit einem Cast nach (Ansi)Char. Folglich kannst du einfach nach WideChar casten.
|
Re: chr für unicode?
Zitat:
habbich doch eben noch benutzt :gruebel: :gruebel: :gruebel:
Delphi-Quellcode:
muss ich jetzt da für $64 meine int-variable reintun?
var c:char;
begin c = char($64); end; |
Re: chr für unicode?
Für Ansi eine Byte-Variable und für UniCode eine Word-Variable.
Delphi-Quellcode:
Übrigens habe ich oben geschrieben was für eine Art Funktion Chr ist.
var cw : WideChar;
c : char; w : Word; b : Byte; begin w := $0064; b := $64; cw := WideChar(w); c = char(b); // Äquivalent zu Chr end; Writeln, Readln, Write, Read, Inc, Dec, ... sind auch keine Funktionen im Prozessorischen sinne. |
Re: chr für unicode?
achso... :oops: sry
naja, jedenfalls wenn ich longint bzw int nehme, steht in der liste n paar mal der ascii-satz unternander ist da zwingend word erforderlich? |
Re: chr für unicode?
In der Delphi-VCL kann man Uni-Code-Zeichen nur über die Function TextOutW zeichnen. Da die VCL auf den alten Ansi-Funktion von Windows beruht.
Will man ein Uni-Code-Programm schreiben, so muss man die pure Windows-API verwenden. Und dabei nur die *W-Functionen. |
Re: chr für unicode?
Zitat:
![]() ![]() Ich würde ElPack empfehlen, da hier die Controls auch erweitert wurden (zusätzliche Controls und auch die Standard-Controls verbessert). Falls Du mehr Infos benötigst, so kannst Du dir ja mal meinen Artikel ![]() |
Re: chr für unicode?
ich will keine proggies, ich will einfach eine funktion die mir das unicode-zeichen einer zahl gibt!!! mit char() gehts nit, weiler dann immer wieder den ascii ausgibt....
|
Re: chr für unicode?
Gib doch die Zeichen via TextOutW aus.
Das ist die einzige Möglichkeit.
Delphi-Quellcode:
Rede ich ein bisschen undeutlich?
var ws : array [0..1] of WideChar;
begin ws[0] := WideChar(????); ws[1] := 0; TextOutW(Canvas.Handle, 0, 0, @ws, 1); end; |
Re: chr für unicode?
hmmm..
diese WideChar(....) gibts bei mir nit... :gruebel: |
Re: chr für unicode?
WideChar ist auch keine Funktion, sondern ein Cast auf den Typ WideChar, der ein elementarere Datentyp von Delphi ist.
|
Re: chr für unicode?
Ich hab se jetzt doch, komisch... :gruebel: :gruebel: :gruebel:
naja, jedenfalls, jetzt brauch für ne listbox ne charset, der unicode unterstützt... |
Re: chr für unicode?
Ich habe eher den anschein das noch arge Verständnisschwierigkeiten herschen.
Zwischen Worten wie Ansi und UniCode. Ansi gibt es nicht nur Deutsch sondern auch Schwedisch, Englisch, Tschechisch usw. (nur die ersten 128 Zeichen sind gleich!) Deswegen kann man ja bei Font auch den CharSet einstellen. UniCode vereint alle Zeichensätze. Charset ist unnötig. Unterstützt Windows überhaupt schon die 4 Byte Zeichensätze? :gruebel: |
Re: chr für unicode?
Zitat:
Aber es soll ja Leute geben, die ihre Menüs gerne in Keilschrift haben :mrgreen: |
Re: chr für unicode?
Ja, aber bei 90% der Zeichen kommen ?...
|
Re: chr für unicode?
Zitat:
|
Re: chr für unicode?
ich sach WideChar(Word)
und bei fats allen über 255 komnmt ein ? |
Re: chr für unicode?
Und woher weißt du, was da steht? Wie lässt du dir es anzeigen? Im Debugger, in einem Label, in einer Datei, etc.?? Denn höchstwahrscheinlich liegt da der Fehler und nicht in der Umwandlung.
|
Re: chr für unicode?
OK, Kommando zurück. Sogar im Debugger werden nur Fragezeichen angezeigt. Ich vermute, es hängt mit dem Zeichensatz zusammen, aber ich weiß auch nicht, wie man das beheben kann.
|
Re: chr für unicode?
Zitat:
Du kannst aber einzelne Zeichen überprüfen, indem du im als überwachten Ausdruck Ord(MeinWideString[3]) um das dritte Zeichen Anzuzeigen. Ist umständlig, aber solange die IDE nicht aufgebohrt wird ... |
Re: chr für unicode?
also ich lass mir das ganze inner listbox anzeigen, so in etwa:
1 - 00000001 - 01 - ... also code, binär, hex, zeichen und da ist das zeichen hgalt fast immer ein fragezeichen |
Re: chr für unicode?
Zitat:
Dazu benötigst Du Unicode-Controls oder Du must die Anzeige im Owner-Draw mittels TextOutW durchführen |
Re: chr für unicode?
was sind unicode-controls?
gibts sowat wie ne TUnicodeListBox oder wie? |
Re: chr für unicode?
Ja.
Die ![]() Die ![]() In meinem Artikel "We are a word" in der ![]() |
Re: chr für unicode?
hab se mal runtergeladen, sieht gut aus, werds ma testen, thx :thuimb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:39 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