IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Changer le type et la taille de police de la console


Sujet :

C

  1. #1
    Invité
    Invité(e)
    Par défaut Changer le type et la taille de police de la console
    Bonjour,
    J'ai codé un programme qui tourne sur la console, mais voilà dans celui ci il y a des accents (Ah cette langue française !), et donc je souhaiterais savoir si il y a des lignes de codes qui pourrait passer la police de la console, de Raster à Lucida Console (qui elle affiche les accents, tant qu'on a chargé la code page 1252, ce qui est mon cas), comme c'est possible en editant les propriétés de la console.
    Est il possible également d'augmenter la taille de la police via ces lignes de codes ?
    Je suis tomber la dessus, est ce que ca a un rapport ?
    http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
    Je ne souhaite pas procéder autrement, je veut imperativement changer la police de la console, et non pas convertir les caractères de mon code.
    Merci
    Bonne journée.
    Skanner

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 074
    Billets dans le blog
    145
    Par défaut
    Bonjour,

    Changer la police utilisé par la console n'est pas possible. Ni même la taille de celle ci. J'en suis désolé pour vous.
    Par contre, cela n'aurait pas corrigé votre problème d'accents car celui ci ne vient pas de là.
    Le problème des accents et un problème avec Microsoft Visual Studio, qui se corrige dans les paramètres.
    Donc dans les options du projet courant, sur la première page, il faudra changer l'encodage des caractères pour prendre soit du multi byte, ou l'autre ( la première ).
    Pardon pour le manque de précision, je n'ai pas VS sous la main.

    Pour la fonction qui change le buffer de la console, cela n'a pas de rapport.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci pour votre explication.
    J'ai donc changé le paramètre que vous m'avez indiqué, j'avais le choix entre Multioctet(ou Multibyte) et Unicode, j'ai essayé les deux paramètres et parès compilation, toujours ce même souci d'accent dans la console.
    Je précise que je code en C.
    Une autre idée ?

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    C'est bien un problème d'encodage, mais pas celui que tu crois... C'est l'encodage Windows (ANSI, celui de Visual) contre celui de la console (OEM, celui du DOS).

    Règle ton projet en MBCS, mais appelle la fonction CharToOemBuff sur tes chaînes avant de les expédier sur la sortie standard, cela devrait résoudre ton problème.
    N'oublie pas de faire l'inverse si tu acceptes des saisies utilisateur, bien entendu.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 074
    Billets dans le blog
    145
    Par défaut
    Je n'ai jamais eu à faire ça ... bon peut être que j'ai évité les accents finalement :s
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Je n'ai jamais eu à faire ça ... bon peut être que j'ai évité les accents finalement :s
    Cela date de Windows 3.0 au minimum, pourtant, c'est donc loin d'être un problème "récent" !

    Tu peux utiliser un palliatif très efficace aussi, c'est de convertir tes fichiers sources au format OEM (par défaut, les éditeurs Windows sauvegardent au format Ansi). Par exemple, UltraEdit possède cette fonction, il faudrait voir avec ton éditeur habituel s'il le fait. Je ne crois pas que Visual Studio effectue cette conversion, ou alors c'est vachement planqué.

    Sinon, le truc "simple", c'est d'écrire uniquement dans une chaîne (sprintf), puis de faire ce truc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sprintf(buffer, ......);
    // On peut convertir la chaîne elle-même "sur place" si c'est du MBCS.
    // Il faut une chaîne destination différente en Unicode, par contre.
    CharToOemBuff(buffer,buffer,strlen(buffer));
    printf(buffer);
    Rien de bien sorcier, donc.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Note: Utiliser explicitement CharToOemBuffA() pour ce genre de code.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je vous remercie pour votre réponse, je vais essayer ça, bien que ce n'était pas de cette manière dont je voulait procéder au départ.
    Si jamais j'ai un souci, je reviens vous voir , mais je suis quasiment certain que ca va marcher !

    Bonne soirée.
    Et merci, Amicalement, Skanner

  9. #9
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par skanner Voir le message
    bien que ce n'était pas de cette manière dont je voulait procéder au départ.
    Je comprends bien, mais tu n'as que deux "bonnes méthodes" :
    • Utiliser un fichier source encodé en OEM (cas par défaut sur les éditeurs DOS, notamment).
    • Appeler la fonction de conversion explicitement.


    Toute autre méthode est "mauvaise", dans le sens où elle n'est pas garantie marcher sur n'importe quel Windows.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  10. #10
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Sinon, j'ai tendance à utiliser directement WriteConsoleW(), mais ça a l'inconvénient de ne pas marcher si la sortie a été redirigée vers un fichier...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  11. #11
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Sinon, j'ai tendance à utiliser directement WriteConsoleW(), mais ça a l'inconvénient de ne pas marcher si la sortie a été redirigée vers un fichier...
    Je trouve ça rédhibitoire, pour ma part, le gros intérêt des programmes Win32 console étant, justement, de pouvoir utiliser les redirections...

    Sinon, n'écrire qu'en anglais : ça résout le problème, et ça évite d'écrire du français plein de fautes (absence d'accents).
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  12. #12
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 074
    Billets dans le blog
    145
    Par défaut
    Écrire en anglais, ou utiliser Linux. Enfin je tombe dans les deux cas ( pour ça que j'ai pas du voir trop souvent le problème des accents :p )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  13. #13
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    ou utiliser Linux.
    Oh, tu l'as aussi sur Linux, ce souci, principalement entre l'encodage ISO-8859-1 et l'UTF-8...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer la taille des polices Xlabel, Ylabel
    Par bendesarts dans le forum MATLAB
    Réponses: 1
    Dernier message: 02/11/2014, 01h25
  2. [Python 2.X] comment changer taille de police dans un entry gtk3 python 2.7
    Par alito dans le forum GUI
    Réponses: 2
    Dernier message: 07/10/2014, 20h09
  3. [XL-2003] impossible de changer la taille de police d'un graph
    Par _developpeur_ dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/03/2012, 19h29
  4. [AC-2007] Changer taille/couleur/police dans les MessageBox
    Par Imitator92 dans le forum IHM
    Réponses: 12
    Dernier message: 16/09/2009, 18h13
  5. Changer la taille de police dans un tableau
    Par Steinz dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 31/05/2008, 13h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo