Seite 1 von 1

Probleme mit Chr() [Gelöst]

Verfasst: 16.03.2013 20:10
von Biozynotiker
Hallo Zusammen,

ich bin gerade dabei etliche meiner AutoIT Projekte auf PureBasic zu portieren,
darunter auch einige Consolen Programme.

Hierbei bin ich auf ein Problem mit Chr() gestoßen. Ich erhalte unterschiedliche Zeichen,
wenn Chr() einmal mit einem Wert gefüttert wird und einmal über eine Variable.
Das ganze tritt aber nur auf, wenn die Exe als Unicode compiliert wird.

Im Beispiel Code verwende ich Chr(1030), das Pik/Schippe Symbol bei Codepage 850.
Ich verwende die aktuelle PB Version 5.10.
Kann mir dieses Verhalten jemand erklären?

Code: Alles auswählen

OpenConsole("test")

     PrintN( Chr(1030) )
     x.i = 1030
     PrintN( Chr(x) )

     Input()
CloseConsole()

Re: Probleme mit Chr()

Verfasst: 16.03.2013 20:37
von STARGÅTE
Chr() mit einer Konstanten wird schon zu Kompilierungszeit umgewandelt.
Wenn also deine PB-Datei nicht im UTF-8-Format ist, wird aus Chr(1030) ein Ascii-Zeichen wennes kompiliert wird.

Stelle also bitte bei Datei -> Datei-Format -> Codierung: UTF-8 um.

Re: Probleme mit Chr()

Verfasst: 16.03.2013 20:42
von Biozynotiker
STARGÅTE hat geschrieben:Stelle also bitte bei Datei -> Datei-Format -> Codierung: UTF-8 um.
Hat funktioniert, danke!
Auf die Idee wäre ich nie gekommen, danke nochmal!