Probleme mit Chr() [Gelöst]

Anfängerfragen zum Programmieren mit PureBasic.
Biozynotiker
Beiträge: 8
Registriert: 16.03.2013 19:44

Probleme mit Chr() [Gelöst]

Beitrag 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()
Zuletzt geändert von Biozynotiker am 16.03.2013 20:59, insgesamt 1-mal geändert.
PureBasic 5.60
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Probleme mit Chr()

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Biozynotiker
Beiträge: 8
Registriert: 16.03.2013 19:44

Re: Probleme mit Chr()

Beitrag 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!
PureBasic 5.60
Antworten