Page 1 sur 1

Console et les accents ?

Publié : mer. 25/août/2004 20:48
par comtois
programme exemple pour input() dans l'aide :

Code : Tout sélectionner

If OpenConsole() 
  Print("Entrez votre nom et appuyez sur 'Return': ") 
  name$=Input() 
  
  ; La pression de 'Return' n'est pas prise en compte par la console 
  ; donc nous devons utiliser PrintN("") pour aller a la ligne 
  PrintN("") 
  
  PrintN("Bonjour, "+name$+", enchanté.") 
  PrintN("Appuyer sur 'Return' pour quitter") 
  Input() 
  CloseConsole() 
EndIf 
End 
il y a un truc bizarre , si je saisis des accents dans name$ , ils seront bien affichés , par contre les accents dans un PrintN() ne le sont pas , par exemple le mot enchanté s'écrira enchantù.

Publié : mer. 25/août/2004 22:01
par filperj
C'est pas vraiement un bug: en console, c'est le code ansi-dos qui est utilisé, et c'est pas le même que le code ascii du mode graphique :?
C'est encore la faute à MS, qui ont décidé de changer les codes des caractères quand ils sont passés du mode texte(DOS) au mode graphique...

Publié : mer. 25/août/2004 22:24
par comtois
d'accord mais comment expliques-tu que si tu mets des accents à l'aide d'un input(), qu'ils soient correctement affichés par un print() ?

Publié : mer. 25/août/2004 22:42
par filperj
Parceque le système ne traduit pas les codes du clavier de la même façon selon qu'il s'adresse à une console ou à une fenêtre.
Saisis quelques lignes avec input(), puis enregistre-les dans un fichier texte ouvre-le avec le bloc-note: ça sera pas les mêmes.

Publié : mer. 25/août/2004 22:43
par comtois
d'accord ,ça me va comme réponse :)

Merci filperj

Publié : jeu. 26/août/2004 7:28
par Heis Spiter
Pour afficher des caractères dit spéciaux en console, il faut utiliser la fonction Chr(Code).
Les plus fréquents :
- Chr(130) : é
- Chr(136) : ê
- Chr(133) : à
- Chr(138) : è