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 :

Initialisation/utilisation du mode graphique (unité graph)


Sujet :

Turbo Pascal

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Initialisation/utilisation du mode graphique (unité graph)
    salut !
    En fait j'ai un problème avec l'initialisation du mode graphique. Quand je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    initgraph(gd,gm,'c:\documents and settings\ramatoulaye\bureau\rmx\tp7\bgi');
    ...
    à chaque fois on me signale une erreur au niveau de cette ligne :

    Error: call by var parameters have to match exactly: Got LONGINT expected SMALLINT

    je comprend pas d'où vient l'erreur. SVP j'ai vraiment besoin d'aide !
    voici le programme en entier :

    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
    program graphik;
    uses crt, graph;
    var gd, gm : integer;
     
    begin
    clrscr;
    gd := detect;
    initgraph(gd,gm,'c:\documents and settings\ramatoulaye\bureau\rmx\tp7\bgi');
    if graphresult <> grok then
    begin
         writeln(grapherrormsg(graphresult));
         writeln;
         halt;
    end;
     
    readln;
    closegraph;
    end.

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    La compilation sous Turbo Pascal et FPC se passe bien et sans message d'erreur.
    De plus, j'ai ajouté juste avant le ReadLn et le texte s'affiche correctement. Je ne vois donc aucun problème.

    As-tu compilé sous un autre compilateur ?
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Lau,

    Avec cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    initgraph(gd,gm,'c:\documents and settings\ramatoulaye\bureau\rmx\tp7\bgi');
    TP devrait crier à l'exécution : il ne connaît pas les noms longs.
    Si les cons volaient, il ferait nuit à midi.

  4. #4
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut Re
    Non il faut éviter les long chemin,
    tu dois juste spécifier dans l'IDE pascal le chemin vers les librairies et ça devrait marcher

    Cordialement,
    et vint le 20siècle et l'homme se mit à réflechir comme la machine auteur: diden138
    Langage: Pascal,OCaml,Delphi,c/c++.
    Langages web:Xhtml,Css,Php/Mysql,Javascript,Actionscript 2.0
    Plate forme:Windows XP Pro SP2./Red Hat 9.0/SUSE 10.2
    Config :Intel P4 3.2GHZ,2MO cach,512 RAM.
    Outils:Tp7,objective caml,Delphi 6 perso, C++builder 6,Visual C++ Express edition sous win,code-block sous linux(Ubuntu) .

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Hoa,

    C'est à moi que tu réponds ?

    Si oui, et vu le contexte avec la ligne citée, c'était clair.
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Pourtant ça compile sur ma machine !!!!!!

    Peut-être que le compilateur cherche en premier dans le dossier indiqué dans le code et s'il ne trouve pas, il cherche dans le dossier spécifié dans l'IDE.

    Cela se fait pour les applications créées sous VB par exemple, pour TP ou BP, je ne sais pas.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Heo,

    Ne pas confondre compilation et exécution.

    À la compilation, on attend une string, il ne va pas aller contrôler si le chemin est valide ou pas (avec le chemin que j'ai cité, ça voudrait dire que tu as exactement la même configuration de dossiers que malfoy ?).

    Essaye d'exécuter.
    Si les cons volaient, il ferait nuit à midi.

  8. #8
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Et à l'exécution aussi ça marche.

    Pour la configuration, si tu parles du chemin d'accès au dossier BGI, voici ce que j'ai mis(en recopiant le dossier BGI en entier) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'C:\Documents and Settings\Mon_Nom\Bureau\RMX\TP7\BGI'
    et pour en être sûr, j'ai renommé le dossier BGI d'origine.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  9. #9
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Dia,

    Ce n'est pas logique, sauf peut-être si tu exécutes en fait dans une fenêtre Invite de commandes de Windows. Et même comme ça, je suis surpris.

    Mais on ne va pas y passer notre vie.
    Si les cons volaient, il ferait nuit à midi.

  10. #10
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut Re
    @autodidact Incroyable ! tu est sous quel compilateur ?
    Si je me souviens bien la longueur maxi c'est 8 caractères alors la je suis surpris que ça marche, peut être que tu est sous FreePascal ? si c'est le cas c'est normal

    Cordialement,
    et vint le 20siècle et l'homme se mit à réflechir comme la machine auteur: diden138
    Langage: Pascal,OCaml,Delphi,c/c++.
    Langages web:Xhtml,Css,Php/Mysql,Javascript,Actionscript 2.0
    Plate forme:Windows XP Pro SP2./Red Hat 9.0/SUSE 10.2
    Config :Intel P4 3.2GHZ,2MO cach,512 RAM.
    Outils:Tp7,objective caml,Delphi 6 perso, C++builder 6,Visual C++ Express edition sous win,code-block sous linux(Ubuntu) .

  11. #11
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Je t'assure que ça s'est passé comme je l'ai décrit.
    Moi aussi je ne comprends pas ce qui se passe.
    Pourtant quand je teste avec 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
    uses crt,add;
    const Fich='F:\Documents and settings\mon_Nom\Bureau\Test.txt';
    var f:Text;
        i:Integer;
    Begin
      ecran(1,4,14);
      Assign(f,fich);
      ReWrite(f);
       for i:=1 to 255 do
         begin
           writeln(f,i,'  :  ',chr(i));
         end;
    End.
    BP7 me renvoie le message d'erreur : Path not found ce qui est normal puisque TP ou BP ne reconnait pas les chemins longs.
    Lorsque je remplace le chemin par 'F:\Docume~1\mon_Nom\Bureau\Test.txt' tout se passe bien.

    Après recherche, j'ai pu constater que le dossier BIN contient aussi les fichiers du pilote graphique !!!!!! C'était donc ça l'origine de cette anomalie.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  12. #12
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut
    je te conseil d'essayer cette initialisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Gd,Gm,CodErr:Integer;
     Begin
       Gd:=Detect;
       CodErr:=GraphResult;
       InitGraph(Gd,Gm,'..//bgi');
       If CodErr<>grOK then
       begin
         Writeln(' Probleme de pilote graphique : ',GraphErrorMsg(CodErr));
         readln;
         Halt(1);
     End;
    voici ton code :

    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
    program graphik;
    uses crt, graph;
    var 
    gd, gm : integer;
     
    begin
    clrscr;
    gd := detect;
    initgraph(gd,gm,'..//bgi');
    if graphresult <> grok then
    begin
         writeln(grapherrormsg(graphresult));
         writeln;
         halt;
    end;
     
    readln;
    closegraph;
    end.

Discussions similaires

  1. [Free Pascal] Unité Graph : retour au mode texte
    Par NOVICE76 dans le forum Free Pascal
    Réponses: 7
    Dernier message: 18/01/2015, 14h39
  2. [Dev-Pascal] Utilisation de l'unité Graph
    Par Roland Chastain dans le forum Autres IDE
    Réponses: 6
    Dernier message: 16/07/2012, 19h31
  3. [Dev-Pascal] Utilisation de la souris en mode graphique
    Par IMPRO dans le forum Autres IDE
    Réponses: 2
    Dernier message: 02/05/2009, 21h52
  4. Comment utiliser XWin32 en mode graphique ?
    Par Varae dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 15/10/2006, 03h00
  5. [Free Pascal] Initialisation du mode graphique
    Par diden138 dans le forum Free Pascal
    Réponses: 6
    Dernier message: 28/05/2006, 01h42

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