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

Rave Discussion :

Atteindre une proriété depuis Delphi. Ma galère


Sujet :

Rave

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Atteindre une proriété depuis Delphi. Ma galère
    Bonjour à tous,

    Débutant, je viens de réaliser mon tout premier état Rave. Je n'utilise aucune B.D. mais juste des SetParam depuis Delphi et, sur cet état, j'ai utilisé des 'circle component' comme pastilles qui prendront la couleur, soit rouge soit verte (Fillcolor) en fonction d'une condition boolean dans mon appli Delphi.

    Comment atteindre la propriété 'Fillcolor' de mes composants Circle et ainsi leur donner la valeur red ou green depuis delphi ?

    Merci à tous.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 046
    Points : 40 962
    Points
    40 962
    Billets dans le blog
    62
    Par défaut
    Apres avoir 'ouvert' le report
    récupérer la page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var MaPage : TRavePage;
    begin
    // recherche de la page du rapport 
    MaPage := RvProject1.ProjMan.FindRaveComponent('Report1.MainPage',nil) AS
    il faut récupérer la fameuse pastille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var
      MonCircle : TRaveCircle; // ou TRaveEllipse , à vérifier
    begin
    // recherche du composant bitmap contenu dans la page
     monCircle := RvProject1.ProjMan.FindRaveComponent('Pastille',MyPage) AS TRaveCircle;
    et changer selon condition (attention de mémoire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if <condition> then monCircle.Fillcolor:=clGreen else myCircle.Fillcolor:=clred;
    ne pas oublier d'inclure dans les uses RvcsStd, RVCsDraw
    pas besoin de paramètre Rave . Le tout est de trouver le bon évènement pour ça (on afteropen du rvproject ?)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Un grand Merci
    Merci pour cette info SergioMaster

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Crash
    J'ai vu que tu as précisé de faire attention à la mémoire. Que voulais-tu dire par là ? Puisque je rencontre une erreur d'exception (EAccessViolation) à la condition justement.

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 046
    Points : 40 962
    Points
    40 962
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par l0pez Voir le message
    J'ai vu que tu as précisé de faire attention à la mémoire. Que voulais-tu dire par là ?
    à la mienne , ma réponse était faite de mémoire sans tester
    Puisque je rencontre une erreur d'exception (EAccessViolation) à la condition justement.
    erreur "classsique" . Normalement il faut vérifier que les variables Mypage , myCircle sont bien Assigned (ont une valeur) . et c'est là que je remarque que dans les bout de code j'ai déclaré en Mapage, MonCircle et que j'ai mis myPage , myCircle dans le code je corrige

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if moncircle.assigned then 
       begin
          .....
       end
    else showmessage('j''ai foiré quelque part');
    Vérifies bien le nom du cercle dans l'état .
    Plus préoccupant c'est que Rave utilise white, red etc.. pour les couleurs j'espère que clRed clGreen sont compatibles . (je serais content de le savoir , je pense que oui au vu des plannings graphiques que j'ai pu faire pour @Buzzleclair)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. atteindre une VM depuis le net
    Par Bipbip-38 dans le forum Virtualisation
    Réponses: 2
    Dernier message: 27/02/2015, 14h32
  2. Réponses: 9
    Dernier message: 13/03/2006, 17h45
  3. Créer une procédure stockée depuis Delphi
    Par blonde dans le forum Bases de données
    Réponses: 10
    Dernier message: 10/03/2006, 11h26
  4. Paramètres spécifiques d'une imprimante depuis Delphi
    Par adrien_as dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 15/09/2005, 17h18
  5. Comment appeler une fonction JavaScript depuis Delphi ?
    Par Alfred12 dans le forum Web & réseau
    Réponses: 4
    Dernier message: 17/06/2005, 18h15

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