1. #1
    Membre actif
    Inscrit en
    juin 2012
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : juin 2012
    Messages : 167
    Points : 291
    Points
    291

    Par défaut Où sont donc GetPixel et l'unité Graph ?

    Normalement cette fonctions devrait exister:
    http://orion.lcg.ufrj.br/RPMS/myrpms.../getpixel.html
    Mais avec la version 1.8 SVN de ce jour pas plus de getpixel que d'unité Graph, juste graphics, graphmath, graphutil, graphtype.
    Ai-je raté quelque chose ?

  2. #2
    Membre actif
    Inscrit en
    juin 2012
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : juin 2012
    Messages : 167
    Points : 291
    Points
    291

    Par défaut

    C'est un peu la bazar dans la doc pourtant mise à jour en mars 2017.
    Ici:
    https://www.freepascal.org/docs-html...h/index-5.html
    Pas de getpixel ou de putpixel dans la liste qui devrait pourtant contenir toutes les procédures et fonctions, mais ici:
    https://www.freepascal.org/docs-html...ncdrawing.html
    On trouve au moins putpixel !

  3. #3
    Membre expert
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 447
    Points : 3 844
    Points
    3 844

    Par défaut

    salut

    tu as regardé dans l'unité graphh.inc ?
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  4. #4
    Membre actif
    Inscrit en
    juin 2012
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : juin 2012
    Messages : 167
    Points : 291
    Points
    291

    Par défaut

    Citation Envoyé par anapurna Voir le message
    salut

    tu as regardé dans l'unité graphh.inc ?
    Oui, j'ai bien ce fichier et il contient bien les fonctions voulues mais comment faire comprendre à Lazarus qu'il doit l'utiliser ? La clause use refuse graph ou graphh. Au début du source je lis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Interface include file for graph unit
    Donc ça devrait être quelque part mais où ?

  5. #5
    Membre expert
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 447
    Points : 3 844
    Points
    3 844

    Par défaut

    salut,

    bon a priori il y a du boulot ^^

    les fichier avec l'extention ".inc" sont des fichier inclus
    pour les inclure il faut utiliser les directives de compilation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {$I filename} ou {$INCLUDE filename}
    ...
    dans notre cas ce seras comme ceci pour l'utiliser .. il te suffit juste d'ajouter l'unité "graph.pas" ou "graph.pp" incluant le fichier inclus "graphh.inc"
    si tu n'arrive pas a compiler du fait qu'il te manque cette unité vérifie les chemins de recherche
    pour windows tu devrais les trouver dans un sous repertoire du genre
    packages/graph/src/win32/graph.pp
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  6. #6
    Membre actif
    Inscrit en
    juin 2012
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : juin 2012
    Messages : 167
    Points : 291
    Points
    291

    Par défaut

    Je viens d'essayer et je n'ai que des messages d'erreur.

    Si je le met sous implementation ce qui me semble logique j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unit1.pas(34,17) Fatal: Syntax error, ";" expected but "." found
    Si je le met avant interface j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    graphh.inc(188,1) Fatal: Syntax error, "INTERFACE" expected but "TYPE" found
    Et n'importe ou ailleurs des brouettes d'erreur "function nesting" ou forward declaration not solved".

  7. #7
    Membre expert
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 447
    Points : 3 844
    Points
    3 844

    Par défaut

    salut

    je pense que tu ne connais pas bien comment fonctionne le pascal
    regarde mon exemple ci-dessous
    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
    Unit Unit1; // le .pas n'est pas nécessaire dans la déclaration ... la ligne fini par un ";" et non pas un "."
    Interface // pas de ponctuation 
      Uses {..., toutes les autre unité}; //declaration des unité que tu va avoir besoin dans la partit interface la ligne fini par un ";" et non pas un "."
    Type  // pas de ponctuation 
       TMonObj = Class 
          Function GetPixel(x,y : Byte) : Word; //Predeclaration de la methode de ton objet ... la ligne fini par un ";" et non pas un "."
       end;                                                 // la ligne fini par un ";" et non pas un "."
    Implementation // pas de ponctuation 
       Uses {..., toutes les autre unité} Graph; //declaration des unité que tu va avoir besoin dans la partit implementation
                                                                  // la ligne fini par un ";" et non pas un "."
    Function TMonObj.GetPixel(x,y : Byte) : Word; //Declaration de la methode de ton objet ... la ligne fini par un ";" et non pas un "."
    begin  // pas de ponctuation 
      Result := Graph.GetPixel(x,y); //Utilisation de la fonction declaré dans l'unite graph ... la ligne fini par un ";" et non pas un "."
    end;    // la ligne fini par un ";" et non pas un "."
    
    end.   // la ligne fini par un "."
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  8. #8
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 873
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 873
    Points : 8 079
    Points
    8 079

    Par défaut

    Salut,

    mais pourquoi veux-tu l'utiliser ? Pour récupérer la couleur du pixel survolé par la souris (tu bosses sur un ColorPicker) ?

    Moi j'ai ça, dans un coin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      {$IFNDEF FPC} // Delphi7
        PickedColor := GetPixel(PickDC, Mouse.CursorPos.x, Mouse.CursorPos.y);
      {$ELSE}
        PickedColor := aCanvas.Pixels[Mouse.CursorPos.x, Mouse.CursorPos.y];
      {$ENDIF}
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  9. #9
    Membre actif
    Inscrit en
    juin 2012
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : juin 2012
    Messages : 167
    Points : 291
    Points
    291

    Par défaut

    je pense que tu ne connais pas bien comment fonctionne le pascal
    Euh ? Je crois que tu n'as pas bien compris le problème. Tous mes programmes fonctionnent mais quand j'essaye d'y mettre {$i quelquechose} c'est là ou tout plante et la question est: Je me le mets ou l'include ?

    mais pourquoi veux-tu l'utiliser ? Pour récupérer la couleur du pixel survolé par la souris (tu bosses sur un ColorPicker) ?
    Rien de précis, juste une question de curiosité à propos de comment utiliser des fichiers d'include dans lazarus.

  10. #10
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 873
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 873
    Points : 8 079
    Points
    8 079

    Par défaut

    Citation Envoyé par mm_71 Voir le message
    Tous mes programmes fonctionnent mais quand j'essaye d'y mettre {$i quelquechose} c'est là ou tout plante et la question est: Je me le mets où, l'include ?
    Après implementation, en ce qui me concerne :

    Fichier bidon.inc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    const
      cBidon = 'ceci est un test';
    Et dans le .pas pour tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    implementation
     
    {$I ./suite/bidon.inc} // parce que certains fichiers complémentaires sont dans un sous-dossier "suite"
     
    {$R *.lfm}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      ShowMessage(cBidon); // message bien affiché
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  11. #11
    Membre expert
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 447
    Points : 3 844
    Points
    3 844

    Par défaut

    Salut

    Ah ben voilà, c'est plus clair comme question.

    Bon Jipété a répondu mais ce n'est pas tout-à-fait exact.
    En fait tout dépend de ce que tu as mis dans ton fichier include.

    Tu peux le mettre soit dans la partie interface, soit dans la partie implementation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Unit Unit1;
    Implementation
     {$i ObjInterface.inc}
     
    Implementation 
     
      {$i ObjImplementation.inc}
    End.
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

Discussions similaires

  1. [FreePascal] Unité Graph sous Linux
    Par fire.stone dans le forum Free Pascal
    Réponses: 2
    Dernier message: 18/05/2005, 10h13
  2. [FreePascal] Unité graph et Dev-Pascal...
    Par dayplayr dans le forum Free Pascal
    Réponses: 2
    Dernier message: 30/03/2005, 07h47
  3. [FreePascal] Linux et unité Graph
    Par John@EuroDevz dans le forum Free Pascal
    Réponses: 3
    Dernier message: 08/02/2005, 13h06
  4. [Dev-Pascal] Erreur "Unit Graph could not be compiled"
    Par marc26 dans le forum Autres IDE
    Réponses: 3
    Dernier message: 03/02/2005, 07h28
  5. [Turbo Pascal] [Windows XP] Problème avec l'unité GRAPH
    Par themofleur dans le forum Turbo Pascal
    Réponses: 22
    Dernier message: 29/03/2003, 22h43

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