Autor Beitrag
Benedikt1983
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 24.09.03 11:57 
Hallo!

Ich habe ein Problem mit der Umwandlung von 2-Byte-Zeichencodes (Unicode) in die zugehörigen Zeichen. Solange das hohe Byte 0 ist (also bis $00FF) funktioniert die Funktion Chr(). Bei höheren Zeichen-Codes aber nicht mehr.
Was kann ich machen? Gibt es vielleicht einen Ersatz?

Vielen Dank
Bene
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Mi 24.09.03 12:00 
Chr() entspricht einem Typecast in Char. Versuchs dementsprechend mal mit einem Typecast in Word.

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Mi 24.09.03 12:41 
Oder einfach WideChar($1234)
em-zed
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 17

Win 2003 Server Pro
D1
BeitragVerfasst: Mi 24.09.03 13:39 
Titel: Ja es gibt da eine simple lösung
Nutze doch einfach die Laufzeitverzögerung - damit müsste es gehen.
Ich ahtte auch schon mal so ein Problem. Oder einfach vddx(par1) aus der FX-Lib. Den MMX-Timer gibts dort auch. Einfach mal danach suchen (www.fireball.de) - da findest du immer was. Such z.B. mal nach "mmx 3jk", da findest du ne menge!

Probier doch mal folgendes: (nicht erschrecken, weil es so lang ist. ist wirklich total simple)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
program TestProgramm-MMX;

$FXlib.jk;
uses ...
...
var meineVar : int;
bind: FXlib; 
vddx(meineVar);
SEND_MMX.timer: "3JK" ; 
main-mmx = 3jk;
surf.mmx ? (003);
try: FX ; 
wait(3000);
goto [fx]];
 if FX := 0
  begin
   write ('Fehler') 
  end;"switch(73f/nkz=tes2)
select
 (EE = 0): x := 19
 (EE = 1): x := 2
  else: x := 1
()) =3K + j;
 Chr();
 Chr(22);
$00FF = 0;
WideChar($1234);


Moderiert von user profile iconUGrohne: Schriftgröße korrigiert
Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.
Benedikt1983 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 24.09.03 18:04 
Titel: WideChar() works!
Danke Vielmals, WideChar() funktioniert perfekt!

Ciao
Benedikt