Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi chr für unicode? (https://www.delphipraxis.net/25502-chr-fuer-unicode.html)

glkgereon 7. Jul 2004 17:02


chr für unicode?
 
gibt es eine function wie chr (also int in char nach ascii), mit der man den kompletten unicode benutzen kann?

neolithos 7. Jul 2004 17:10

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;

Chewie 7. Jul 2004 17:10

Re: chr für unicode?
 
Chr() ist identisch mit einem Cast nach (Ansi)Char. Folglich kannst du einfach nach WideChar casten.

glkgereon 7. Jul 2004 17:14

Re: chr für unicode?
 
Zitat:

Nein, da es die Funktion Chr ja auch nicht gibt.
aha....
habbich doch eben noch benutzt :gruebel: :gruebel: :gruebel:

Delphi-Quellcode:
var c:char;
begin
 c = char($64);
end;
muss ich jetzt da für $64 meine int-variable reintun?

neolithos 7. Jul 2004 17:29

Re: chr für unicode?
 
Für Ansi eine Byte-Variable und für UniCode eine Word-Variable.

Delphi-Quellcode:
var cw : WideChar;
    c : char;
    w : Word;
    b : Byte;
begin
  w := $0064;
  b := $64;
  cw := WideChar(w);
  c = char(b); // Äquivalent zu Chr
end;
Übrigens habe ich oben geschrieben was für eine Art Funktion Chr ist.
Writeln, Readln, Write, Read, Inc, Dec, ... sind auch keine Funktionen im Prozessorischen sinne.

glkgereon 7. Jul 2004 18:42

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?

neolithos 7. Jul 2004 19:12

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.

Bernhard Geyer 8. Jul 2004 06:59

Re: chr für unicode?
 
Zitat:

Zitat von neolithos
Will man ein Uni-Code-Programm schreiben, so muss man die pure Windows-API verwenden. Und dabei nur die *W-Functionen.

Nicht ganz. Es gibt sowohl eine kostenlose Lösung welche ab NT funktioniert (TNT-Controls) als auch eine Lösung welche zwar ein paar € kostet, jedoch auch Win9x/ME unterstützt (ElPack)
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 We are a world in der Zeitschrift "Der Entwickler 5.2003" antun.

glkgereon 8. Jul 2004 07:06

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

neolithos 8. Jul 2004 09:46

Re: chr für unicode?
 
Gib doch die Zeichen via TextOutW aus.
Das ist die einzige Möglichkeit.

Delphi-Quellcode:
var ws : array [0..1] of WideChar;

begin
  ws[0] := WideChar(????);
  ws[1] := 0;
  TextOutW(Canvas.Handle, 0, 0, @ws, 1);
end;
Rede ich ein bisschen undeutlich?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.
Seite 1 von 3  1 23      

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