Page 1 sur 1

Caractère bizard en mode console ? [REGLE]

Publié : lun. 30/juil./2007 12:21
par pastor
Re-bonjour,

Une nouvelle question pour un champion :

En mode console, les caractères accentués éê etc.. s'affichent bizarement, ainsi ceci :

Code : Tout sélectionner

PrintN ("Message envoyé !")
donne :

Message envoyù

Pour info, j'utilise un Windows XP.

Laurent

Publié : lun. 30/juil./2007 12:44
par gnozal
Je pense que la console utilise un code de page ASCII (DOS) plutôt que ANSI (Windows).
En faisant une petite conversion, çà fonctionne !

Code : Tout sélectionner

If OpenConsole()
  ; Conversion ANSI vers OEM (ASCII)
  MonMessageANSI.s = "Message envoyé !"
  MonMessageASCII.s = MonMessageANSI
  CharToOEM_(@MonMessageANSI, @MonMessageASCII)
  ;
  PrintN (MonMessageASCII)
  While Inkey() = "" : Wend
  CloseConsole()
EndIf

Publié : lun. 30/juil./2007 13:12
par pastor
Merci bien Gnozal,

Avec ton code, j'ai fait une petite procédure :

Code : Tout sélectionner

Procedure.s AnsiToAscii(MonMessageANSI.s)
    
    MonMessageASCII.s = MonMessageANSI
    CharToOem_ (@MonMessageANSI, @MonMessageASCII)

    ProcedureReturn MonMessageASCII
  EndProcedure 
Que j'appelle de cette manière :

Code : Tout sélectionner

PrintN (AnsiToAscii("Commande exécutée."))
Bonne journée à tous,

Laurent