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 :

Afficher un paramètre d’une fiche Delphi dans un Etat


Sujet :

Rave

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 192
    Points : 90
    Points
    90
    Par défaut Afficher un paramètre d’une fiche Delphi dans un Etat
    Bonjour,

    J’ai 2 zones de texte sur ma fiche Delphi
    Les composants sont :
    DateDebut, de type TDateTimePicker, j’ai nommé dtpDateDebut
    Exemple DateDebut = 01/01/2010
    DateFin, de type TDateTimePicker, j’ai nommé dtpDateFin
    Exemple DateFin = 20/04/2010

    J’ai aussi un Etat avec Rave Report.
    Les données affichées par mon Etat proviennent d’une requête
    Les paramètres de ma requête sont : paramDateDebut et paramDateFin

    Voici un extrait de mon code sur la requête TADOQuery (qryLesNotes)

    qryLesNotes.SQL.Add ('WHERE (N.ElvNum = : ParamElvNum)');
    qryLesNotes.SQL.Add ('AND (N.laDate Between : ParamDateDebut And : ParamDateFin)');
    qryLesNotes.SQL.Add ('GROUP BY …………………. ');
    qryLesNotes.SQL.Add ('ORDER BY …………………. ');
    qryLesNotes.Parameters.ParamByName ('ParamElvNum').Value := dlcElvNum.Text;
    qryLesNotes.Parameters.ParamByName ('ParamDateDebut').Value := dtpDateDebut.Date;
    qryLesNotes.Parameters.ParamByName ('ParamDateFin').Value := dtpDateFin.Date;
    Je voudrais que mon Etat qui affiche déjà les résultats, m’affiche aussi les valeurs des paramètres que je saisirai dans les 2 composants DateDebut (= 01/01/2010) et DateFin (= 20/04/2010)
    Donc, sur mon Etat je voudrai par exemple avoir les dates suivantes s’afficher : 01/01/2010 et 20/04/2010

    Alors j’ai besoin de l’aide de tous pour y parvenir.

    NB : ma Bdd est sous Sql Server 2000 (Ado) et Delphi 7

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Il existe deux réponse a cette question

    - la première , utiliser deux paramètres rave c'est le sujet du premier "tips and tricks" du RavedevGuide
    // To SET a parameter in Delphi (before running a report)
    RaveProject.SetParam('MyParam1', 'My Param1 Value');
    ....
    pour ce faire, déclarer pour l'état les paramètres nécessaires
    et poser sur l'etat un DBText avec la valeur param.Myparam1


    -La seconde , bien que plus complexe en première approche , a ma préférence , car celle-ci est la même technique que pour des images etc ...
    l'utilisation des évènements Delphi du composant Rave
    Dans le cas qui t'intéresse certainement le BeforeOpen , AfterOpen

    Voici la technique de base :
    Tout d'abord déclaré les unités Rave à utiliser (celles commencant par Rv)
    NOTA : Tu n'as pas besoin de toutes celle-ci , pour du texte je pense que seule les 2 premières sont nécessaires .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      // Rave Classes
      rvClass, RvCsStd ,RvCsRpt, RvCsDraw , RvDefine, rvCsBars,
      // Rave Design
      RpCon, RpConDS, RpDefine, RpRave, RpBase, RpSystem, RpRender, RpRenderPDF,

    ensuite, dans l'évenement delphi déclaré les variables suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     var myPage : TRavePage;
         myText : TRaveText;
    puis mettre les valeur de la manière suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    myPage:=rvproject1.ProjMan.FindRaveComponent('monetat.lapage',nil) as TRavePage
    myText:=Rvproject1.Projman.FindRaveComponent('Date1',myPage) as TRaveText;
    myText.Text:=FormatDateTime('dd/mm/yy',DateDebut.Date);
    myText:=Rvproject1.Projman.FindRaveComponent('Date2',myPage) as TRaveText;
    myText.Text:=FormatDateTime('dd/mm/yy',DateFin.Date);
    Bien sur , au préalable , dans l'état rave deux Zones Texte auront été posées et nommées , en l'occurrence pour cet exemple, Date1 et Date2
    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 régulier
    Inscrit en
    Septembre 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 192
    Points : 90
    Points
    90
    Par défaut
    Slt Mr SergioMaster

    Je préfère la 1re méthode/démarche.
    Cependant j'ai du mal à exploiter cela pour que ça marche
    Je vous prie de bien vouloir me donner toutes les détails, pas à pas...

    Notez bien
    Dans Delphi quand je clique sur le bouton BulletinDeNote
    Voici l’expression
    dmGesco2010.prvGesco2010.ExecuteReport('rptBulletinDeNotes');
    et cela affiche l’état en mode Aperçu avant impression…
    mon Etat = rptBulletinDeNotes
    mon projet = prvGesco2010

    Je ne comprend pas l'expression
    RaveProject.SetParam ('MyParam1', 'My Param1 Value');
    J'ai 2 paramètres : DateDebut et DateFin
    A quel niveau mettre cela ?
    Comment faire ?

    Merci de me donner tous les détails.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    J'ai 2 paramètres : DateDebut et DateFin
    A quel niveau mettre cela ?
    en admettant que DateDebut et DateFin soit bien les noms des paramètres de l'ETAT RAVE (dans la propriété parameters de l'état doit être affiché strings , en cliquant sur le bouton ces deux noms doivent apparaitre) je ferais la chose suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dmGesco2010.prvGesco2010.SetParam('DateDebut',FormatDateTime('dd/mm/yyyy',DateDebut.Value);
    dmGesco2010.prvGesco2010.SetParam('DateFin',FormatDateTime('dd/mm/yyyy',DateFin.Value);
    dmGesco2010.prvGesco2010.ExecuteReport('rptBulletinDeNotes');
    * Attention , je ne sais pas si le nom des paramètres est case sensitive

    Préalable a ceci , dans l'état Rave il faut poser , pour éditer les valeurs (paramètres), deux Datatext components les propriétés DataField étant respectivement
    Param.DateDebut
    Param.DateFin


    Merci de me donner tout les détails.
    j'essaye , mais c'est pas forcément évident . De plus je privilégie plutôt la 2° méthode
    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

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 192
    Points : 90
    Points
    90
    Par défaut
    Slt SergioMaster

    J'ai fais exactement ce que vous m'avez dit
    Cela fonctionne très bien
    Encore grand merci pour cet aide

    Voici comment j'ai adapté mon code dans l'IDE Delphi

    ...
    dmGesco2010.prvGesco2010.SetParam('parDateDebut',FormatDateTime('dd/mm/yyyy', dtpDateDebut.Date));
    dmGesco2010.prvGesco2010.SetParam('parDateFin',FormatDateTime('dd/mm/yyyy', dtpDateFin.Date));
    dmGesco2010.prvGesco2010.ExecuteReport('rptBulletinDeNotes');
    ...
    A plus !

    Eric

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

Discussions similaires

  1. Afficher les paramètres d'une macro dans un ordre aléatoire
    Par oc_alex86 dans le forum Programmation (La)TeX avancée
    Réponses: 2
    Dernier message: 10/11/2013, 18h10
  2. Réponses: 2
    Dernier message: 17/06/2013, 15h31
  3. [AC-2010] Afficher les paramètres de la requete dans l'état
    Par glazix dans le forum IHM
    Réponses: 2
    Dernier message: 13/05/2013, 11h58
  4. Afficher les paramètres d'un objet dans une autre web form
    Par faridbelkcm dans le forum ASP.NET
    Réponses: 0
    Dernier message: 18/09/2012, 17h32
  5. [WD10] Comment imprimer les paramêtres d'une requête dans un Etat?
    Par amilas dans le forum WinDev
    Réponses: 2
    Dernier message: 25/08/2009, 00h22

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