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

Turbo Pascal Discussion :

[TPW] Affichage des caractères Ascii 128 à 255


Sujet :

Turbo Pascal

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut [TPW] Affichage des caractères Ascii 128 à 255
    Bonjour,

    Comment afficher les caractères ascii au-dessus de 128 ?

    writeln(chr(218)); n'affiche pas ┌ mais affiche la lettre U accentuée, par exemple.

    merci de votre aide.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 980
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 980
    Par défaut
    Gio,

    Il n'y a pas de caractères ASCII de code > 127.

    Si je me souviens bien, la fenêtre WinCrt n'a pas les caractères semi-graphiques du MSDOS de base.
    Il faut changer la page de code utilisée, mais j'avoue ne plus savoir comment faire, pour autant que ce soit possible.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    Si, ça existe et j'aurais justement besoin de ces caractères, comme ┌ (218), ┘ (217), │ (179), ─ (196) etc pour dessiner un cadre...

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 980
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 980
    Par défaut
    Gie,
    Citation Envoyé par dimi2 Voir le message
    Si, ça existe et j'aurais justement besoin de ces caractères, comme ┌ (218), ┘ (217), │ (179), ─ (196) etc pour dessiner un cadre...
    Je n'ai pas dit qu'il n'existait pas de caractères de code > 127, mais qu'il n'existe pas de caractères ASCII de code > 127.
    (La table de caractères ASCII ne concerne que les codes de 0 à 127 inclus)

    Ton problème est dû à la table de code utilisée par la console, comme déjà dit.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    Merci

    Pour encadrer du texte, il me faudra passer par l'unité graph je suppose ?

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 980
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 980
    Par défaut
    Jio,
    Citation Envoyé par dimi2 Voir le message
    Merci

    Pour encadrer du texte, il me faudra passer par l'unité graph je suppose ?
    C'est un moyen.

    Il serait plus simple de réussir à changer la page de code utilisée par WinCrt, mais j'ignore comment faire, en admettant que ce soit possible.

    Sinon, un autre moyen est de faire une véritable application Windows, c'était le but principal de TPW par rapport à TP.

    Si tu choisis ce dernier moyen, il serait plus simple de passer à Lazarus.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    wahooo... ce n'est pas simple d'encadrer du texte sous pascal...
    Merci, en tout cas, pour votre aide.

  8. #8
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 980
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 980
    Par défaut
    Goe,
    Citation Envoyé par dimi2 Voir le message
    wahooo... ce n'est pas simple d'encadrer du texte sous pascal...
    Merci, en tout cas, pour votre aide.
    Ce n'est pas Pascal qui est en cause, le problème serait le même avec tout autre langage utilisant une fenêtre avec une page de code caractères inappropriée.

    Profite du problème pour passer à un compilateur moderne, ce sera tout bénéfice pour toi.

    (Je pense l'avoir déjà dit, mais il est ridicule de persister à utiliser ces vieux compilateurs 16 bits, alors qu'aujourd'hui, la majeure partie des machines vendues sont des 64 bits, même si de fait la plupart sont "bridées" par l'utilisation d'un OS 32 bits)

  9. #9
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Au pire fait une boucle d'affichage de tous les caractères entre 128 et 255, comme ça tu verras quel caractère est associé à quel code.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    Citation Envoyé par Loceka Voir le message
    Au pire fait une boucle d'affichage de tous les caractères entre 128 et 255, comme ça tu verras quel caractère est associé à quel code.
    Je l'ai essayé en effet, mais les caractères que je veux ne s'affichent pas. Quand on a la poisse.....

    Il me reste à suivre les conseils de droggo... bien que, pour moi, c'est sortir l'artillerie lourde pour abattre une palissade...

  11. #11
    Responsable Pascal, Lazarus et Assembleur


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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 070
    Billets dans le blog
    2
    Par défaut
    Il est possible de tracer des lignes sur la fenêtre WinCRT mais cela n'est pratricable sans trop d'efforts que si l'affichage ne doit pas scroller.

    Pour ce faire, tu peux récupérer le handle de la fenêtre WinCRT (avec GetFocus, par exemple) et utiliser les fonctions de dessin de l'API Windows.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    Je ne suis pas assez calé pour faire toutes ces choses... Il me faudrait une formation sérieuse.

  13. #13
    Responsable Pascal, Lazarus et Assembleur


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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 070
    Billets dans le blog
    2
    Par défaut
    C'est fort simple en réalité.
    Compile le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Program Contour;
     
    Uses WinCRT, WinTypes, WinProcs;
     
    Var hFenetre : hWnd;
        DC : hDC;
     
    Begin
      InitWinCRT;
      GotoXY(3,2);
      WriteLn('Démonstration');
      hFenetre := GetFocus;
      DC := GetDC(hFenetre);
      MoveTo(DC,10,10); LineTo(DC,128,10);
      MoveTo(DC,10,10); LineTo(DC,10,36);
      MoveTo(DC,10,36); LineTo(DC,128,36);
      MoveTo(DC,128,10); LineTo(DC,128,36);
      ReleaseDC(hFenetre,DC);
      ReadLn;
      DoneWinCRT;
    End.
    Les unités WinTypes et WinProcs contiennent toutes les déclarations de l'API Windows. Grâce à GetFocus, tu récupères le handle (l'identificateur interne) de la fenêtre WinCRT. La fonction GetDC te renvoie un contexte de périphérique d'affichage ("Device Context" en anglais) qui te permet de dessiner dans la fenêtre. Tu traces tes lignes dans le contexte de périphérique grâce à MoveTo et LineTo. Il ne faut pas oublier de libérer le contexte de périphérique avant la fermeture du programme, grâce à ReleaseDC.

    Voilà.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    Je ne sais comment vous remercier... c'est exactement ce que je souhaite. C'est vrai que ça parait fort simple, quelques lignes et hop ! Mais rien n'est plus difficile que d'être simple ou de faire simple... Je vais me mettre à étudier sérieusement tout ça.
    Merci encore pour votre patience et bravo pour votre savoir-faire.

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

Discussions similaires

  1. Affichage des caractères spéciaux
    Par Mister Nono dans le forum Langage
    Réponses: 1
    Dernier message: 16/01/2007, 16h46
  2. Affichage des caractères
    Par Wilvart dans le forum C++
    Réponses: 2
    Dernier message: 24/04/2006, 14h28
  3. Réponses: 10
    Dernier message: 31/03/2006, 21h46
  4. problème avec l'affichage des caractères spéciaux
    Par michelkey dans le forum Général Python
    Réponses: 4
    Dernier message: 19/08/2005, 09h09
  5. Problème d'affichage des caractères accentués
    Par ostaquet dans le forum JBuilder
    Réponses: 1
    Dernier message: 10/03/2005, 07h58

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