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 :

[BP]Borland Pascal : modifier les couleurs par défaut.


Sujet :

Turbo Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut [BP]Borland Pascal : modifier les couleurs par défaut.
    Bonjour,

    Existe-t-il un moyen de modifier et donc personnaliser les 15 couleurs par défaut de Borland Pascal 7 pour le mode texte ? (ClBlue, etc...)

    Merci

  2. #2
    Responsable Pascal, Lazarus et Assembleur


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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 945
    Points : 59 442
    Points
    59 442
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Il est possible de modifier les valeurs de palette au niveau de la carte vidéo à l'aide de l'interruption BIOS 10h. Mais n'est-ce pas un peu "hard" ? Que veux-tu faire exactement ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Ce que je veux faire exactement?
    Pour des raisons purement esthétiques pour l'interface du logiciel, utiliser d'autres couleurs que les 16 proposées par défaut.

  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
    Si tu utilises Turbo Vision (je ne sais pas si Turbo Vision est disponible pour BP7, mais à priori il n'y a pas de raison ), tu peux "déplacer" les couleurs (les échanger entre elles) mais tu ne pourras en aucun cas en redéfinir de nouvelles. Et même en trifouillant la palette, via l'int 10h ou les registres VGA, je ne suis pas sûr que cela marche pour le mode texte... C'est à tester !

    a+

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Bon ben tant pis

    Merci quand meme.

  6. #6
    Responsable Pascal, Lazarus et Assembleur


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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 945
    Points : 59 442
    Points
    59 442
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par wormful_sickfoot
    (je ne sais pas si Turbo Vision est disponible pour BP7)
    Turbo Vision est bien disponible.
    Citation Envoyé par wormful_sickfoot
    Et même en trifouillant la palette, via l'int 10h ou les registres VGA, je ne suis pas sûr que cela marche pour le mode texte... C'est à tester !
    Ca marche aussi pour le mode texte.
    Citation Envoyé par Pipoland
    Bon ben tant pis
    Il ne faut pas baisser les bras ! C'est relativement facile à réaliser.

  7. #7
    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 Alcatîz
    Ca marche aussi pour le mode texte.
    Merci du renseignement Ca peut être intéressant

    a+

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Alcatîz
    Citation Envoyé par wormful_sickfoot
    "]Et même en trifouillant la palette, via l'int 10h ou les registres VGA, je ne suis pas sûr que cela marche pour le mode texte... C'est à tester !
    Ca marche aussi pour le mode texte.
    Vous pouvez m'en dire plus? Je ne connais pas trop la programmation hard sous DOS.

    Cordialement,

  9. #9
    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
    Je pense que nous parlons de la même chose, Alcatîz et moi, c'est-à-dire reprogrammer le DAC. Pour celà, deux possibilités donc :
    - utiliser les fonction 1010h et 1012h de l'int 10h;
    - modifier les valeurs directement avec les ports VGA, les ports concernés étant les ports 03C7h à 03C9h (si je me souviens bien)

    Concernant la programmation du DAC, tu peux déjà regarder les unités d'Haypo, disponibles ici : http://turbo-pascal.developpez.com (dans la partie 'Unité', regarder les fichiers 'EcranVGA', 'ModeX'). Ca ne demande pas de très hautes compétences, mais il faut tout de même une certaine maîtrise du langage

    a+

  10. #10
    Responsable Pascal, Lazarus et Assembleur


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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 945
    Points : 59 442
    Points
    59 442
    Billets dans le blog
    2
    Par défaut
    Effectivement, je pensais à la modification du contenu des 16 registres de palette du contrôleur d'attributs.

    Mais il faut absolument être sous DOS pur car ce genre d'opérations engendre des violations système dans toutes les versions de Windows (je viens même d'essayer sur Windows 3.11 ).

  11. #11
    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
    Voilà à la demande générale , et surtout parce que j'avais envie de tester en mode texte, voici le code pour changer une couleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure SetPalette(Index: Word; Red, Green, Blue: Byte); assembler;
    asm
      MOV AX, 1010h;
      MOV BX, Index;
      MOV DH, Red;
      MOV CH, Green;
      MOV CL, Blue;
      INT 10h;
    end;
    Testé en mode texte, et c'est assez impressionant ! Les valeurs pour Red, Green et Blue doivent être comprises entre 0 et 63...

    a+

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Ah ben voilà ce que je voulais

    Merci, je m'en vais de ce pas tester la chose.

  13. #13
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Bon, la modification des couleurs peut se faire (et se fait générallement) en touchant directement aux ports VGA $3C7, $3C8 et $3C9.
    En mode texte, il suffit de redéfinir les couleurs de 0 à 15. En mode graphique (la BGI), ce sont des index de couleurs plus originaux, puisqu'il faut piocher dans les codes 54 et suivants. Je peux les retrouver dans la doc au besoin.

    En attendant, pour le simple mode texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure SetRGBPalette(Index, R, G, B: Byte);
    begin
      Port[$3C7] := Index;
      Port[$3C9] := R;
      Port[$3C9] := G;
      Port[$3C9] := B;
    end;
    Il faut bien prendre garde au fait que les composantes (R, G, B) doivent être codés sur 6 bits, donc doivent se situer dans l'intervalle de 0 à 63.

    A+

  14. #14
    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
    Le résultat est assez marrant, puisque vous pouvez repeindre l'interface de l'IDE de turbo pascal... Car à la fin de l'exécution de votre programme, l'IDE ne redessine pas la palette quand vous êtes en mode texte évidemment... Si vous voulez "customizer" votre IDE, vous pouvez commencer par ça

    a+

Discussions similaires

  1. le langage pascal et les couleurs
    Par mickael.be dans le forum Langage
    Réponses: 3
    Dernier message: 22/09/2006, 22h14
  2. Réponses: 1
    Dernier message: 21/09/2006, 13h15
  3. [C#][ProgressBar] Comment modifier les couleurs ?
    Par wiLL_ dans le forum Windows Forms
    Réponses: 6
    Dernier message: 11/02/2006, 14h55
  4. Comment modifier les couleurs de Windows ?
    Par Harry dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 29/09/2005, 09h55
  5. Comment modifier les couleurs système ?
    Par yousserr dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 24/07/2005, 10h57

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