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 texte et couleur


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Par défaut [TP] Affichage texte et couleur
    Salut

    J'ai créé une fonction qui affiche du texte et j'ai petit un problème pour la couleur. Merci pour votre aide
    Voilà ma fonction
    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
    Const
     MemEcran = $B800;
    Function Affiche(X,Y : Word; S : String): String;
     var
      i : Integer;
      Offset:Word;
    begin
      Offset:= Y * 160 + X * 2;
      for i := 1 to Length(s) do
      begin
        Mem[MemEcran:Offset]:=Ord(s[i]);
        Inc(Pos,2);
      end;
     
    end;

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 051
    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 : 8 051
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue !

    Dans la mémoire vidéo, chaque caractère est défini par un couple d'octets : code ASCII + attribut de couleur.
    Donc, dans ta boucle, tu pourrais ajouter quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mem[MemEcran:Offset+1]:=Couleur;
    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]

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Par défaut affiche texte
    merci ;-)

  4. #4
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Par défaut
    Mem[MemEcran:Offset+1]:=Couleur;
    ce byte est composé comme suit
    4 bits pour la couleur
    3 bit pour la couleur de fond
    1 bit pour le mode blink
    si on inhibe le blink, alors on peut avoir 4 bits pour la couleur du fond

  5. #5
    Membre chevronné
    Homme Profil pro
    .
    Inscrit en
    Juin 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2002
    Messages : 239
    Par défaut
    Il me semble qu'il y a une erreur dans l'intruction Inc(Pos,2).
    Il faudrait plutôt écrire Inc(Offset,2).

    Par ailleurs, l'utilisation d'une fonction me parait ici incorrect, même s'il n'y pas d'erreur au sens strict.
    Il s'agit en fait d'une procédure, puisqu'elle ne retourne aucune valeur.

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

Discussions similaires

  1. Ecrire du texte en couleurs dans un composant
    Par wutang dans le forum Composants
    Réponses: 11
    Dernier message: 12/07/2004, 10h55
  2. [FLASH MX 2004] Affichage texte dynamique
    Par Sun3clipse dans le forum Flash
    Réponses: 8
    Dernier message: 25/06/2004, 16h24
  3. affichage texte style splash screen
    Par scorbo dans le forum MFC
    Réponses: 4
    Dernier message: 13/06/2004, 12h03
  4. Afficher du texte en couleur sous Borland C++ 4.02
    Par Cthulhu 22 dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/11/2003, 00h53

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