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 :

Encodage préférable du fichier source d'un programme utilisant l'unité ptcGraph [Free Pascal]


Sujet :

Free Pascal

  1. #1
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 100
    Points : 15 574
    Points
    15 574
    Billets dans le blog
    9
    Par défaut Encodage préférable du fichier source d'un programme utilisant l'unité ptcGraph
    Bonjour !

    Je cherche l'encodage idéal pour mes programmes utilisant l'unité ptcGraph. Voici un cas concret.

    Dans Geany, mon code source se présente comme ça. Remarquez le mot "août".

    Nom : geany.png
Affichages : 245
Taille : 5,9 Ko

    L'encodage détecté par Geany est "ISO-8859-1".

    La commande file de Linux dit ceci :

    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [roland@localhost echecs]$ file -bi echecs.pas
    text/plain; charset=unknown-8bit

    Lorsque je compile le programme, le mot "août" s'affiche comme il faut.

    Nom : screenshot-part.png
Affichages : 234
Taille : 255 octets

    Ces deux commandes me donnent un fichier UTF-8 qui s'affiche comme il faut dans Geany :

    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    iconv -f 437 -t UTF8 echecs.pas -o echecs-utf8-from-437.pas
    iconv -f 850 -t UTF8 echecs.pas -o echecs-utf8-from-850.pas

    Mais évidemment ça ne donnerait pas le bon résultat à l'écran, donc ce n'est pas la bonne stratégie, à moins de reconvertir les chaînes avant de les afficher. Il faudrait quand même que j'essaie.

    J'aimerais bien que le code source s'affiche correctement dans l'éditeur et bien sûr avoir le bon résultat à l'écran.

    Qu'en pensez-vous ?

    J'ajoute en pièce jointe une capture d'écran de l'Expert Encodage.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 967
    Points : 59 662
    Points
    59 662
    Billets dans le blog
    2
    Par défaut
    Bonjour Roland,

    Sans surprise, le code source s'affiche correctement dans l'éditeur natif de Free Pascal (sous Linux).

    Depuis la version 3 de Free Pascal, les chaînes de types AnsiString et ShortString sont associées à une page de code. Dans le code source, il est possible de définir la page de code d'un littéral à l'aide de la directive {$codepage xxx}. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {$codepage utf8}
      OutTextXY(630, 220, 'programmation par Luc ROUSSEAU (27 août 1996)');
    Une autre possibilité, lorsque l'on veut qu'une variable de type chaîne ait l'encodage désiré : préciser la page de code dans le type, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    type
      TStringCP1252 = type AnsiString(1252);
    var
      ChaineLatin1: TStringCP1252;
    Peut-être ces considérations te permettront-elles d'avancer dans la résolution de ton casse-tête.

  3. #3
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 100
    Points : 15 574
    Points
    15 574
    Billets dans le blog
    9
    Par défaut
    Merci Alcatîz !

    Citation Envoyé par Alcatîz Voir le message
    Sans surprise, le code source s'affiche correctement dans l'éditeur natif de Free Pascal (sous Linux).
    Ah, c'est vrai, je n'y avais pas pensé. Après avoir lu ta réponse, j'ai passé un quart d'heure à l'essayer. Il est pas mal du tout, tout compte fait, cet éditeur ; et effectivement mon fichier s'affiche bien. Donc ça pourrait être une solution.

    Par contre, je n'arrive pas à entrer au clavier des caractères accentués. Regarde ce qui se passe quand je tape "hélène".

    Nom : helene.png
Affichages : 203
Taille : 6,8 Ko

    Si j'enregistre le fichier, je vois ensuite que c'est de l'UTF-8... Qui s'affiche correctement dans... Geany.
    Fichiers attachés Fichiers attachés

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 967
    Points : 59 662
    Points
    59 662
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Par contre, je n'arrive pas à entrer au clavier des caractères accentués. Regarde ce qui se passe quand je tape "hélène".
    Ah mince, je n'avais pas fait attention, en effet. J'ai essayé de démarrer l'éditeur avec luit, mais sans succès. L'interface de l'éditeur affiche l'UTF-8 octet par octet.

  5. #5
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 100
    Points : 15 574
    Points
    15 574
    Billets dans le blog
    9
    Par défaut
    Entre-temps je viens de découvrir, dans Geany, la fonction Fichier/Recharger en tant que... Un éditeur dont je me sers depuis des années.

    À ne pas confondre avec Document/Définir l'encodage (qui modifie le fichier).

    En choisissant "IBM850", mon fichier s'affiche correctement.

  6. #6
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 967
    Points : 59 662
    Points
    59 662
    Billets dans le blog
    2
    Par défaut
    Bien vu ! Je ne connaissais pas cette fonctionnalité.

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

Discussions similaires

  1. [Lazarus] Rendre une procédure accessible au programme utilisant l'unité
    Par Darkyl dans le forum Lazarus
    Réponses: 6
    Dernier message: 11/05/2015, 20h56
  2. Nom des fichiers source d'un programme ELF
    Par kaoutarre dans le forum Débuter
    Réponses: 1
    Dernier message: 27/07/2013, 10h57
  3. Comment modifier l'encodage des fichiers sources ?
    Par ChPr dans le forum NetBeans
    Réponses: 2
    Dernier message: 01/05/2007, 22h16
  4. utiliser fichier XML dans un programme C++
    Par ilimo dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 13/04/2006, 12h42
  5. Réponses: 6
    Dernier message: 20/10/2005, 09h59

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