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 :

Déclaration d'une variable Rect de type TRect [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Jlmat
    Homme Profil pro
    Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Inscrit en
    Avril 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 366
    Par défaut Déclaration d'une variable Rect de type TRect
    Bonjour,
    Ancien de Delphi, n'ayant jamais pu renouveler ma Licence en Delphi, j'ai décidé de programmer en Lazarus depuis peu pour le plaisir.
    J'ai un problème de déclaration d'une variable dans une unité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     var  CircRect : TRect; // coordonnées figure circonscrite
    
    procedure Dessine_Point(Ox,Oy,R,e : integer; aCanvas : TCanvas; aColorExt, aColorInt: Tcolor);
    begin
      CircRect := Rect( Ox - R , OY - R, OX + R, OY + R);        
      ...
    end;
    A la compilation, j'ai l'erreur suivante sur la première virgule : Syntax error, ")" expected but "," found
    J'ai vérifié la définition, elle est bien compatible avec ce que je faisais en Delphi
    Source position: classesh.inc line 2089

    function Rect(
    ALeft: Integer;
    ATop: Integer;
    ARight: Integer;
    ABottom: Integer
    ):TRect;

    Description

    Rect returns a TRect record with the given top-left (ALeft,ATop) and bottom-right
    (ABottom,ARight) corners filled in.

    No checking is done to see whether the coordinates are valid.

    See also

    TRect Descibes a rectangle
    Point Returns a TPoint record with the given coordinates.
    SmallPoint Returns a TSmallPoint record with the given coordinates.
    Bounds Returns a TRect structure with the bounding rect of the given location and size.

    Documentation generated on: May 12 2018
    Pouvez vous m'éclairer?
    merci

  2. #2
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 217
    Par défaut
    hello,
    peux-tu montrer ton code complet ?
    tu es en mode Delphi ou mode objfpc ?

    Ami calmant, J.P

  3. #3
    Membre éclairé
    Avatar de Jlmat
    Homme Profil pro
    Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Inscrit en
    Avril 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 366
    Par défaut
    Merci Jurassic de t'intéresser à ma question, voici:

    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
     
    program Assimiler1;
     
    {$mode objfpc}{$H+}
     
    uses
      {$IFDEF UNIX}{$IFDEF UseCThreads}
      cthreads,
      {$ENDIF}{$ENDIF}
      Interfaces, // this includes the LCL widgetset
      Forms, FP, UVar, uGraph;
     
    {$R *.res}
     
    begin
      RequireDerivedFormResource:=True;
      Application.Scaled:=True;
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
    La fiche principale n'a aucun code pour l'instant à part un menu...
    l'Unité UVar déclare quelques variables non utilisées pour l'instant
    La complilation plante dans l'Unité Graphique = juste une procédure déclarée

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    unit uGraph;
     
    {$mode objfpc}{$H+}
    { _____________________________________________________________________________
    |        BIBLIOTHEQUE DE PROCEDURES ET FONCTIONS GRAPHIQUES 
    |        Version 1 pour Lazarus                                    
    |        Dernière Mise à jour le :                                             
    |        22.06.2021                                                           
    |_____________________________________________________________________________|
    |        Catégories de Fonctions :                                       
    |                                                                             
    |    1. Figures géométriques traditionnelles dans le plan Euclidien 2 Dimensions.
    |       Selon différents points d'entrées : coordonnées, centre, longueurs... 
    |                                                                             
    |    2. Utilitaires de tracé et de conversions                 
    |                                                                             
    |_____________________________________________________________________________|
    }
    interface
     
      Uses Types, Windows, Graphics;//,ExtCtrls;
     
      ...
    {=== Figures géométriques de base dans le plan euclidien 2 Dimensions =========}
    procedure Dessine_Point(Ox,Oy,R,e : Integer; aCanvas : TCanvas;aColorExt,aColorInt: Tcolor);
     
    implementation                                                                
     
    -Dessine_Point ----------------------------------------------------------------
      Dessine Un point aux coordonnées spécifiées (Ox,Oy), de rayon R
    -------------------------------------------------------------------------------}
    procedure Dessine_Point(Ox,Oy,R,e : integer; aCanvas : TCanvas;aColorExt,aColorInt: Tcolor);
      var  CircRect : TRect; // coordonnées figure circonscrite
    begin
      CircRect := Rect( Ox - R , OY - R, OX + R, OY + R);
      With aCanvas do
      begin
        // Couleur de fond
        Brush.Color := aColorInt;
        Brush.Style := bsSolid;
        Pen.Color   := aColorExt;
        Pen.Style   := psSolid;
        Pen.Width   := e;
        Ellipse(CircRect);
      end;
    end;

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 217
    Par défaut
    hello,
    je crois que la fonction Rect qui est appelée dans ton code n'est pas celle que tu voudrais (passer le curseur dessus pour voir). Il faut que tu ajoutes l'unité classes dans le uses pour avoir celle que tu sembles vouloir utiliser.
    Ami calmant, J.P

  5. #5
    Membre éclairé
    Avatar de Jlmat
    Homme Profil pro
    Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Inscrit en
    Avril 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 366
    Par défaut
    Merci JP, c'était bien ça!
    Avec l'unité Classes, je n'ai plus d'erreur!
    pourtant au premier abort, la définition semble la même!

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 25/10/2006, 16h17
  2. Réponses: 8
    Dernier message: 13/07/2006, 10h04
  3. déclaration d'une variable
    Par ouldfella dans le forum Composants VCL
    Réponses: 8
    Dernier message: 20/10/2005, 18h21
  4. comment tester si une variable est de type indifined
    Par amelhog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/08/2005, 09h32
  5. Réponses: 4
    Dernier message: 05/06/2002, 14h35

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