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 :

[TP] Affichage bizarre sous XP


Sujet :

Turbo Pascal

  1. #1
    En attente de confirmation mail
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [TP] Affichage bizarre sous XP
    Bonjour,

    Ayant écrit un ou deux programmes en Pascal il y a quelques années, j'ai été pris ces jours-ci de l'envie d'en rebidouiller un peu. J'ai récupéré le compilateur TP7 présent sur ce site, installé sans problème sous XP SP2 Home.

    J'ai par contre un bug assez bizarre en mode graphique, les dessins passent très bien, mais le texte s'affiche mal : à la place de certains caractères (espaces, points, chiffres de 1 à 9, etc) apparait une espèce de carré grisé. Les programmes incriminés utilisent outext de l'unité graph pour afficher le texte; le pilote utilisé est VGA et le mode VGAHi.

    Tout fonctionnait bien il y a 3 ans, depuis j'ai changé de PC et de version de windows. Je ne vois pas trop d'où peut venir ce comportement, s'il s'agit d'un bug bien connu, merci de ne pas taper (ou pas trop fort alors), j'ai essayé de faire une recherche sur le forum et dans la FAQ mais je suis un peu fatigué en ce moment

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    Il me revient un problème que j'avais diagnostiqué: il est possible que les bios de cartes graphiques n'implémentent plus en entier les polices VGA des différents modes, ce qu'il fait que les premiers caractères s'affichent correctement, et les suivants ne s'affichent plus de la bonne façon (carrés grisés ou "mosaiqués"). Si c'est le cas pour toi, dommage, change de carte graphique Je dois dire que ce problème est très rare quand même, il qu'il n'y a pas de problème pour les cartes graphiques de tour, car ce problème était seulement trouvable sur un ordinateur portable.

    Sinon, je vois pas trop Mais il nous faudrait plus d'informations

  3. #3
    En attente de confirmation mail
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par wormful_sickfoot
    dommage, change de carte graphique Je dois dire que ce problème est très rare quand même, il qu'il n'y a pas de problème pour les cartes graphiques de tour, car ce problème était seulement trouvable sur un ordinateur portable.
    Euh, et si je te dis que j'utilise un ordinatueur protable? J'ai failli préciser ça, ainsi que le modèle de la carte graphique (VIA/S3G Unichrome Pro IGP, avec mémoire partagée), mais je me suis dis, quand même, il s'agit de VGA, n'importe quelle carte sait faire ça...

    Citation Envoyé par wormful_sickfoot
    Sinon, je vois pas trop Mais il nous faudrait plus d'informations
    Je vais essayer de voir plus précisément quels caractères ne sont pas affichés etc, mais à première vue c'est étrange, par exemple 0 existe mais pas 1 !!! Sinon ce qui m'inquiète c'est que ça correspond à ce que tu décris : des carrés "mosaïqués".

    Là je n'ai pas le temps de faire les tests tout de suite, je m'en occuperait ce soir, d'ici là demande-moi toute information qui te paraît utile.

    Je me demande s'il n'y a pas moyen de tourner le problème en chargeant à la main des polices?

    Merci pour ton aide en tout cas, j'ai peur que tu n'aies mis dans le mille ^^

  4. #4
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    Certes c'est VGA, mais comme VGA n'est plus trop utilisé, comparé à VESA. Par contre c'est assez étrange que le 1 ne s'affiche pas normallement. Le plus simple à faire pour toi, c'est d'afficher tous les caractères puis voir ceux qui ne s'affichent pas bien.

    Les indices confirment mes hypothèses mais il est possible que je me trompe , ce que j'espère

  5. #5
    En attente de confirmation mail
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Ha, d'accord je pensais que VGA restait le mode de base standard... [Question en aparté : Au démarrage, sans aucun OS, par exemple dans les écrans de configuration du BIOS, ou de démarrage de Grub ou Lilo, on est sous quel mode graphique?] Si VESA marche mieux, peut-on utiliser un mode VESA sous Pascal? (par exemple sous TP7 ou sous FreePascal?)

    Sinon pour le test, je ne suis pas chez moi à l'instant, je regarde en rentrant. Je vais aussi passer les exécutables à un ami qui va tester chez lui sur son desktop et son laptop, histoire de vérifier si c'est un problème plutôt logiciel ou lié à mon matos.

    La suite au prochain épisode...

  6. #6
    En attente de confirmation mail
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bon, je viens de tester l'affichage des caractères ayant un code compris entre 24 et 127, je dispose exactement de :
    - les lettres majuscules et minuscules
    - les caractères [\]^_`
    - le chiffre 0
    J'ai oublié de préciser lors de mon tout premier message que même les espaces s'affichent mal (carré mosaïqué à la place), ce qui est quand même assez fort.
    Grosso modo, il semble donc que j'aie les caractères 65 à 122 exclusivement, avec le 0 en plus, qui est peut-être un O d'ailleurs...

    J'attends le feed-back du copain qui doit tester si ça marche sur son PC.

    Edit : pourquoi ne tester que de 24 à 127? Je viens de vérifier, j'ai sans problème tous les caractères de 128 à 255 (de 123 à 127 j'ai des espaces d'ailleurs)...

  7. #7
    En attente de confirmation mail
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Tiens, je viens de faire le test en compilant avec FreePascal, il n'y a pas le moindre bug d'affichage

    Comme de toute façon j'avais bien envie de passer sous FreePascal, on peut dire que ça résout le problème, modulo le fait qu'il faut sans doute que je change un ou deux trucs (pub discrète pour mon autre post), car actuellement le clavier ne répond pas...

    Par contre je me demande si ça ne met pas un peu à mal l'explication par bug de la carte graphique?

  8. #8
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    Citation Envoyé par DioManU
    Par contre je me demande si ça ne met pas un peu à mal l'explication par bug de la carte graphique?
    Si totalement Heureusement que ce n'est pas ça

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut solution au problème
    j'ai trouvé une solution à ce problème. il suffit de changer la police d'affichage utilisée en mode graphique avec la commande SetTextStyle:

    par exemple :

    SetTextStyle(SmallFont, HorizDir, 4);

    en utilisant cette commande avant outtextxy je peux afficher correctement tous les caractères, mêmes les chiffres.

    pour une aide sur l'utilisation de cette commande
    http://www.cybwarrior.com/articles/read.php?id=72

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

Discussions similaires

  1. Affichage div bizarre sous internet explorer
    Par frboyer dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/07/2011, 12h17
  2. Réponses: 4
    Dernier message: 16/04/2008, 11h41
  3. Affichage bizarre sous VC2005.
    Par deubelte dans le forum Visual C++
    Réponses: 3
    Dernier message: 20/05/2007, 16h28
  4. Affichage graphique sous forme de tableau.
    Par eulone dans le forum C++
    Réponses: 2
    Dernier message: 24/11/2004, 20h34
  5. Affichage étrange sous directGraphic
    Par Cyrik dans le forum DirectX
    Réponses: 7
    Dernier message: 13/09/2003, 13h29

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