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

Free Pascal Discussion :

Caractères spéciaux Windows 7 et Windows 10 [Free Pascal]


Sujet :

Free Pascal

  1. #1
    Membre du Club
    Homme Profil pro
    Gérant d'un site
    Inscrit en
    Février 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Gérant d'un site
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 59
    Points : 44
    Points
    44
    Par défaut Caractères spéciaux Windows 7 et Windows 10
    Bonjour
    J'ai créé un programme qui tourne très bien dans la fenêtre MSDOS Windows 7 mais avec MSDOS Windows 10 les caractères accentués (é, è, ê...) n'apparaissent pas comme attendu, les caractères correspondant à pique, coeur, carreau et trèfle (chr(3) à chr(6)) non plus.
    Pouvez-vous m'indiquer comment adapter ce programme pour MSDOS Windows 10 ?
    En vous remerciant
    Bernard

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    alors MSDOS n'existe plus depuis Windows 2000

    tu parles d'une application CONSOLE

    c'est un problème de page de code, le source est en ANSI alors soit tu utilises l'API CharToOEM, soit tu modifies le source pour avoir une page de code compatible avec le mode console, ce doit être possible avec NotePad++ par exemple.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    J'ai fabriqué un petit éditeur de texte pour résoudre ce problème :

    Éditeur OEM

    J'ouvre mon fichier dans l'éditeur, je corrige les accents, puis j'enregistre le fichier.

    Mais je confirme qu'on peut aussi le faire dans Notepad++, en sélectionnant, dans le menu Encodage, Codage de caractères, Langues d'Europe occidentale, OEM 850.

    Cela règle le problème des accents. Pour ce qui est des caractères pique, cœur, carreau et trèfle, je ne sais pas.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #4
    Membre du Club
    Homme Profil pro
    Gérant d'un site
    Inscrit en
    Février 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Gérant d'un site
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 59
    Points : 44
    Points
    44
    Par défaut Caractères spéciaux Windows 7 et Windows 10
    J'ai téléchargé EditeurOEM. Je lance EditeurEOM.exe
    Quel est le fichier que je dois ensuite ouvrir ? avec extension .pas ?

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par escargot72 Voir le message
    J'ai téléchargé EditeurOEM. Je lance EditeurEOM.exe
    Quel est le fichier que je dois ensuite ouvrir ? avec extension .pas ?
    Le fichier dans lequel se trouvent les chaînes de caractères en question, le fichier qui contient votre code. Oui, le fichier *.pas (si c'est l'extension que vous utilisez).

    Lorsque vous l'ouvrirez, vous verrez que les caractères accentués ne s'affichent pas correctement. Vous les corrigerez et enregistrerez le fichier. Après cela, les caractères devraient s'afficher correctement dans la console (la fenêtre noire) lorsque vous exécuterez votre programme.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  6. #6
    Membre du Club
    Homme Profil pro
    Gérant d'un site
    Inscrit en
    Février 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Gérant d'un site
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Le fichier dans lequel se trouvent les chaînes de caractères en question, le fichier qui contient votre code. Oui, le fichier *.pas (si c'est l'extension que vous utilisez).

    Lorsque vous l'ouvrirez, vous verrez que les caractères accentués ne s'affichent pas correctement. Vous les corrigerez et enregistrerez le fichier. Après cela, les caractères devraient s'afficher correctement dans la console (la fenêtre noire) lorsque vous exécuterez votre programme.
    Merci
    J'ai changé les caractères à accentuer. J'ai compilé avec dev-Pascal.
    Mais comme mon ordi est W7, je ne peux vérifier la transformation, ils reviennent en virgule,etc.., alors que sans cette transformation ils sont corrects.
    J'attends !

  7. #7
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Je ne vois pas bien quelle différence il peut y avoir entre Windows 7 et Windows 10 sur ce point. Dans l'un comme dans l'autre, si vous ouvrez l'invite de commande et que vous entrez la commande chcp, je pense que vous aurez la même réponse, à savoir :

    Page de codes active : 850
    Mais peut-être que la police utilisée par la console n'est pas la même sur vos deux machines ?

    Quand vous dites que vous voyez des virgules à la place des caractères accentués, si c'est dans l'éditeur (dans Dev-Pascal), c'est normal. Mais dans la console, lorsque le programme s'exécute, les caractères devraient s'afficher normalement.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  8. #8
    Membre éclairé

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 807
    Points
    807
    Par défaut
    Bonjour

    Citation Envoyé par Roland Chastain
    Mais peut-être que la police utilisée par la console n'est pas la même sur vos deux machines ?
    C'est pire qu'une question de police, c'est une question de CONSOLE elle-même !
    En effet les quelques test auxquels je vient de me livrer montre que W10 est doté d'une "nouvelle console" !
    Les nouveautés concernent essentiellement la saisie clavier (raccourcis, copier-coller, etc). Pour l'affichage il semblerait que cette nouvelle console appliquerait strictement la page de code qui lui est assignée (850 dans notre cas).

    Ce qui signifie qu'il faut dissocier le cas des lettres accentuées (qui relèvent des spécifications de la page de code) des glyphes de carte à jouer qui ne sont pas spécifiés dans la norme CP850, les codes correspondants étant, (comme dans la plupart des pages de code ANSI ou OEM), des codes de contrôle non représentables.

    Les caractères trèfle, carreau, coeur, pique (comme de tous les symboles de Chr(1) à chr(31)) n'était qu'une particularité d'affichage "hors norme" propre aux consoles MS-Dos puis Windows (jusqu'à W8).

    La solution, pour escargot72, pourrait être de re-paramètrer la console de Windows 10 ainsi :
    1. Cliquez droit dans la barre de titre de la fenêtre console
    2. Sélectionnez la commande Propriété puis l'onglet Options
    3. Juste en dessous de la mention de la Page de code Courante (qui devrait être 850), cochez la case "Utiliser l'ancienne console"
    4. Validez puis redémarrez la console.

  9. #9
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    je me permet tout de même une petite question...c'est quoi l'intérêt de le faire en mode console ?

    il y a fort longtemps j'avais fait un projet Delphi qui simule la console DOS en mode graphique aussi
    http://tothpaul.free.fr/sources.php?dprgrp.dosbox
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #10
    Membre du Club
    Homme Profil pro
    Gérant d'un site
    Inscrit en
    Février 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Gérant d'un site
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    je me permet tout de même une petite question...c'est quoi l'intérêt de le faire en mode console ?

    il y a fort longtemps j'avais fait un projet Delphi qui simule la console DOS en mode graphique aussi
    http://tothpaul.free.fr/sources.php?dprgrp.dosbox
    Bonjour
    Une fois mon programme compilé avec free-pascal, ne suis-je pas obligé d'ouvrir la fenêtre DOS pour pouvoir exécuter dans celle-ci le programme .exe ?
    Avez-vous une autre idée ?

  11. #11
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par escargot72 Voir le message
    Bonjour
    Une fois mon programme compilé avec free-pascal, ne suis-je pas obligé d'ouvrir la fenêtre DOS pour pouvoir exécuter dans celle-ci le programme .exe ?
    Avez-vous une autre idée ?
    des idées j'en ai des tas, mais sur cette question - que je ne comprend pas - aucune.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  12. #12
    Membre du Club
    Homme Profil pro
    Gérant d'un site
    Inscrit en
    Février 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Gérant d'un site
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    des idées j'en ai des tas, mais sur cette question - que je ne comprend pas - aucune.
    Merci quand même ! Le schmilblick a avancé ..

  13. #13
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par escargot72 Voir le message
    Une fois mon programme compilé avec free-pascal, ne suis-je pas obligé d'ouvrir la fenêtre DOS pour pouvoir exécuter dans celle-ci le programme .exe ?
    Free Pascal ne produit pas seulement des applications console mais aussi des applications "graphiques", qui ne s'exécutent pas dans la console (ce que vous appelez la fenêtre DOS) mais dans une "vraie" fenêtre.

    Si vous avez besoin d'afficher des cartes, il paraît plus indiqué de faire une application graphique.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  14. #14
    Membre du Club
    Homme Profil pro
    Gérant d'un site
    Inscrit en
    Février 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Gérant d'un site
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Free Pascal ne produit pas seulement des applications console mais aussi des applications "graphiques", qui ne s'exécutent pas dans la console (ce que vous appelez la fenêtre DOS) mais dans une "vraie" fenêtre.

    Si vous avez besoin d'afficher des cartes, il paraît plus indiqué de faire une application graphique.
    Je joins le fichier ecran-alea.docx. Je ne sais pas l'agrandir pour qu'il soit plus lisible.
    Les symboles pique, coeur, carreau et trèfle sont obtenus à l'aide des chr(3) à chr(6).
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/10/2015, 17h57
  2. Réponses: 0
    Dernier message: 05/06/2014, 12h02
  3. Réponses: 2
    Dernier message: 08/12/2011, 21h42
  4. Réponses: 4
    Dernier message: 07/01/2011, 14h22
  5. Ligne de commande windows et caractère spéciaux
    Par black is beautiful dans le forum Windows XP
    Réponses: 3
    Dernier message: 19/12/2007, 19h03

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