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 :

Unité Graph : retour au mode texte [Free Pascal]


Sujet :

Free Pascal

  1. #1
    Membre à l'essai
    Homme Profil pro
    ingenieur
    Inscrit en
    Octobre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Unité Graph : retour au mode texte
    Bonjour,

    J'utilise Free Pascal pour des calculs et ensuite transformer ces résultats de calcul en graphique de courbe. J'ai utilisé l'unité graph sous Turbo Pascal il y a bien longtemps et j'ai pu constaté avec plaisir la qualité de l'évolution. J'utilise l'environnement Free Pascal (pas Lazarus) avec les unités Dos et Crt.

    Je rencontre un problème lorsque je quitte l'environnement graphique pour retourner à l'environnement Crt : ça ne fonctionne pas. Lorsque je veux réutiliser les commandes de l'unité Crt, il ne se passe rien et j'ai un écran tout bizarre. Je suis obligé d'arrêter mon programme et de le recommencer. Avez-vous une solution ?

    Je quitte l'environnement graphique avec les commandes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CLOSEGRAPH;
    RESTORECRTMODE;
    OS : Windows 7 32 bits

  2. #2
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 43
    Points : 114
    Points
    114
    Par défaut
    Bonsoir!

    Je ne suis pas sous windows et sous linux je ne peux pas tester.
    Mais il me semble que le 'RESTORECRTMODE' est inutile. Peut-être est-ce à cause de ça?
    Normalement, le petit programme suivant (de mémoire) devrait suffire, mais je vais laisser à d'autres membres, mieux placés que moi, vous répondre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    program utilisation_graph;
    uses graph;
    var a,b : smallint;
    begin
      a:=0; b:=0;
      initgraph(a,b,'');          //Ouverture.
    // ...
      readln;                     //Attente du clavier avant de quitter.
      closegraph;                 //Fermeture.
    end.
    Sinon, pour info, il y a d'autres façons plus perfectionnées pour faire des graphismes (l'unité graph ne permettra d'utiliser -de mémoire aussi- qu'au maximum une résolution de 640x480x16couleurs).
    Il y a par exemple :
    wingraph + (pour la souris) winmouse.
    ptcgraph + (pour la souris) ptcmouse.
    ...

    Bonne soirée.

  3. #3
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Le code suivant fonctionne. Je n'utilise pas la procédure RestoreCrtMode et surtout je ne déclare pas l'unité Crt mais l'unité WinCrt.

    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
    22
    23
    24
    25
    26
    27
    28
    29
     
    program Graph_01;
    {$APPTYPE CONSOLE}
     
    uses
      Graph, WinCrt;
     
    function OpenGraph: boolean;
    var
      d, m: smallint;
    begin
      d := d8bit;
      m := m800x600;
      InitGraph(d, m, '');
      result := (GraphResult = grOK);
    end;
     
    begin
      if OpenGraph then
      begin
        SetColor(Yellow);
        Rectangle(10, 10, GetMaxX - 10, GetMaxY - 10);
        OutTextXY(20, 20, 'Appuyez sur une touche...');
        ReadKey;
        CloseGraph;
        Write('Appuyez sur la touche Entr'#130'e... ');
        ReadLn;
      end;
    end.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #4
    Membre à l'essai
    Homme Profil pro
    ingenieur
    Inscrit en
    Octobre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Bonjour
    merci de vos réponses mais aucune des solutions que vous proposez fonctionne.
    Je n'ai pas la possibilité d'utiliser Win Crt car mes programmes fonctionnent avec l'unité CRT
    que je trouve beaucoup plus riche que wincrt que j'ai testé il y a quelques mois, mais les instructions ne sont pas
    compatibles entre CRT et Wincrt.
    Bref tous mes programmes fonctionnent avec l'unité CRT et je ne peux pas changer.
    Contrairement à ce que vous dite, l'unité Graph est d'une excellente résolution
    je suis en 1050 x 1980 sur un écran 17 pouces et je suis en multi écran.
    merci de me dire si vous avez d'autres idées.
    il doit bien y avoir une possibilité de faire un RAZ vidéo.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Points : 9
    Points
    9
    Par défaut
    Bonjour,
    Pour moi le couple crt+graph fonctionne bien à condition de réouvrir output en sortie de l'écran graphique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CloseGraph;
    assign(Output,'');
    rewrite(Output);

  6. #6
    Membre à l'essai
    Homme Profil pro
    ingenieur
    Inscrit en
    Octobre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    OUI
    cela fonctionne merci
    mise à part que j'ai un écran en Noir et blanc
    les instructions couleur ne fonctionne plus
    mais c'est un moindre mal

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Points : 9
    Points
    9
    Par défaut
    Effectivement ; il faut en fait mettre AssignCrt(output) au lieu de assign(output,'').

  8. #8
    Membre à l'essai
    Homme Profil pro
    ingenieur
    Inscrit en
    Octobre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Merci beaucoup.
    cela fonctionne en effet.
    Problème soldé

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

Discussions similaires

  1. [Turbo Pascal] Unité complète de gestion d'écran en mode texte
    Par Alcatîz dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 11/11/2010, 15h55
  2. [Turbo Pascal] Initialisation/utilisation du mode graphique (unité graph)
    Par malfoy dans le forum Turbo Pascal
    Réponses: 11
    Dernier message: 30/05/2010, 23h27
  3. [Dev-Pascal] L'unité graph et le text
    Par Sasuke90 dans le forum Autres IDE
    Réponses: 1
    Dernier message: 12/02/2008, 15h48
  4. Retour au mode texte par défaut
    Par coca dans le forum x86 16-bits
    Réponses: 6
    Dernier message: 12/12/2002, 17h22
  5. Réponses: 5
    Dernier message: 11/12/2002, 12h31

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