im VIO Modus, also ohne /PM:PM, bekommst du das RootCRT() und man kann IMHO im VIO Fenster nicht den Font verändern.
Code: Alles auswählen
PROCEDURE MAIN
LOCAL oCrt := SetAppWindow()
oCrt:fontName := "WingDings" // das crasht
? CHR(252)
? "alles OK äöüÄÖÜß"
? CHR(213)
WAIT
RETURN
oError:args :
-> VALTYPE: O CLASS: RootCrt
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: N
oError:cargo : NIL
oError:description : Member-Variable ist für dieses Objekt unbekannt
oError:filename :
oError:genCode : 26
oError:operation : fontName
oError:osCode : 0
oError:severity : 2
oError:subCode : 2240
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
im Hybrid-Modus könntest du andere Fonts verwenden
Code: Alles auswählen
PROCEDURE APPSYS
#define DEF_ROWS 43
#define DEF_COLS 80
#define DEF_FONTHEIGHT 16
#define DEF_FONTWIDTH 8
LOCAL oCrt, nAppType := AppType()
LOCAL aSizeDesktop, aPos
DO CASE
// Anwendung wurde im PM Modus gelinkt, eine XbpCrt Instanz
// ist zu erzeugen.
CASE nAppType == APPTYPE_PM
aSizeDesktop := AppDesktop():currentSize()
aPos := { (aSizeDesktop[1]-(DEF_COLS * DEF_FONTWIDTH)) /2, ;
(aSizeDesktop[2]-(DEF_ROWS * DEF_FONTHEIGHT)) /2 }
// XbpCRT-Fenster erzeugen
oCrt := XbpCrt():New ( NIL, NIL, aPos, DEF_ROWS, DEF_COLS )
oCrt:FontWidth := DEF_FONTWIDTH
oCrt:FontHeight := DEF_FONTHEIGHT
oCrt:title := AppName()
* oCrt:FontName := "Alaska Crt" // OK
* oCrt:FontName := "Courier" // nicht alle Zeichen
* oCrt:FontName := "Arial" // falsche Zeichen
oCrt:FontName := "Terminal" //
oCrt:Create()
oCrt:PresSpace()
SetAppWindow ( oCrt )
CASE nAppType == APPTYPE_VIO .OR. nAppType == APPTYPE_NOVIO
...
ENDCASE
RETURN
PROCEDURE MAIN
? "alles OK äöüÄÖÜß"
? CHR(213)
WAIT
RETURN
jedoch haben die, ausser TERMINAL, nicht die deutschen Umlaute und kein € Zeichen
siehe dir mal c:\ALASKA\XPPW32\Source\samples\basics\FONT\fontdb.prg an.
modifiziere den "Text" im Source mit Umlauten und € Sonderzeichen zur Anzeige
es gibt den Zeichensatz "WingDings" wo es das Zeichen gibt aber man kann IMHO es nicht "in" einem CRT Fenster nutzen.
( Anzeige erfolgt ausserhalb des Browse auf einen XbpStatic )
grob gesagt : im CRT Fenstern kannst du die Zeichen darstellen was Cl*pper kann ... nicht mehr !
du kann aber, wie bei Cl*pper, deinen "eigenen" DOS Fontsatz verwenden ...
UNICODE im CRT Fenster kannst du ganz vergessen
![Shame on you [-X](./images/smilies/eusa_naughty.gif)