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

Lazarus Pascal Discussion :

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


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    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 émérite

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    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
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    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 : 3 489
    Par défaut
    salut

    tu as regardé dans l'unité graphh.inc ?

  4. #4
    Membre émérite

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    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
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    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 : 3 489
    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

  6. #6
    Membre émérite

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    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
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 120
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 120
    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}

  8. #8
    Membre émérite

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    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.

  9. #9
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 120
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 120
    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é

  10. #10
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    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 : 3 489
    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.

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