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

FastReport Discussion :

Modifier des hauteurs / tyles de titres d'un état par l'utilisateur


Sujet :

FastReport

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Archi
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Archi
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Par défaut Modifier des hauteurs / tyles de titres d'un état par l'utilisateur
    Bonjour,

    Je remet a jour une appli (sous XE2 - fastreport 4.0) qui génère des états (cahier des charges).

    J'utilise des tfrxdbdataset et trfxreport liaisonné a des tables ADO.

    Les états sont simples : un code article, un intitulé d'article et un descriptif (champ blob )

    ce qui donne :

    01.01.10. Mon article

    mon texte mon texte mon texte
    mon texte mon texte mon texte

    Dans fastreport j'ai une bande master data qui reprend 2 Tfrxmemoview et unTfrxrichview associé a mes champs ' code article' ' intitulé d'article' et un 'descriptif'.

    Je dois a partir de l'application delphi acceder aux propriétés des Tfrxmemoview et Tfrxrichview pour permettre à l'utilisateur d'aller modifier les caractéristiques d'impression (par ex : augmenter la hauteur d'impression du titre ).

    j'ai une form dans delphi sur laquelle j'ai mis tout mes tfrxdbdataset et trfxreport .
    1) je ne vois pas a partir de quel evenement dans le trfxreport coder pour arriver a changer les propriétés
    2) Par quel type de code arriver aux propriétés du trfxreport ? Un exemple m'aiderait.

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 598
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    1) je ne vois pas à partir de quel événement dans le trfxreport coder pour arriver à changer les propriétés
    2) Par quel type de code arriver aux propriétés du trfxreport ? Un exemple m'aiderait.
    Je suis sûr d'avoir mis ce code quelque part dans le forum Delphi, mais je ne retrouve plus (bonne recherche). N'utilisant plus cette technique (je préfère proposer le TFrxDesigner), je ne m'en souviens que du principe qui est la même chose que ce que j'utilisais pour Rave et du contexte : à l'époque (je ne sais ce qu'il en est désormais) Fastreport version Embarcadero ne permettait pas d'écrire de script, il fallait donc passer par code. (je repasserai si je retrouve)
    [Edit] voilà, cela n'a pas été trop long avec quelques mots clés j'ai retrouvé au moins une de mes réponses ici

    Si vous avez une version enregistrée, et donc la possibilité de passer par les scripts, des variables d'état peuvent être une solution.

  3. #3
    Membre actif
    Homme Profil pro
    Archi
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Archi
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Par défaut
    Bonsoir Sergio,

    Merci pour ton retour,

    Je vais commencer a 'gratter' pour voir avec le lien que tu me donnes si je peux m'en sortir.


    'Si vous avez une version enregistrée, et donc la possibilité de passer par les scripts, des variables d'état peuvent être une solution.'

    j'ai une version enregistrée de XE2. La limitation c'est moi, car je ne suis pas développeur full time et mon graduat en informatique commence a dater . . .

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 598
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    Citation Envoyé par benleq Voir le message
    'Si vous avez une version enregistrée, et donc la possibilité de passer par les scripts, des variables d'état peuvent être une solution.'
    Je parlais d'une version enregistrée de FastReport pas de Delphi
    La version enregistrée de FastReport permettant d'utiliser les scripts la version de base fournie par Embarcadero non (enfin à ma connaissance car les lignes bougent entre versions)

  5. #5
    Membre actif
    Homme Profil pro
    Archi
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Archi
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    Je parlais d'une version enregistrée de FastReport pas de Delphi
    La version enregistrée de FastReport permettant d'utiliser les scripts la version de base fournie par Embarcadero non (enfin à ma connaissance car les lignes bougent entre versions)
    Bonsoir,
    Cela fonctionne, on peut manipuler pas mal de variable d'impression du coup.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TF_dtm1.frxReport7bordprixpublicBeforePrint(
      Sender: TfrxReportComponent);
     var a :TfrxComponent;
     begin
    a:= frxReport7bordprixpublic.FindComponent('frxDBDmasterintitulartcli') as TFrxComponent;
    if assigned(a) then
         a.Font.Size:=11;  // change ici la hauteur de caractère à l''impression
    end;
    Merci

  6. #6
    Membre actif
    Homme Profil pro
    Archi
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Archi
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Par défaut Plusieurs titres de hauteur variable
    Bonjour,
    Je suis amené a devoir mettre des hauteurs de titres différents par ex:

    01 titre 1 -> hauteur en 30
    01.10 titre 2 -> hauteur en 20
    ainsi de suite pour les autres titres

    J'ai un champ de controle dans la table qui est imprimée qui defini l'importance du titre

    Dans l'évènement beforeprint j'esperais via le code ci dessous pouvoir changer les hauteurs de titre, mais les hauteurs de titre différents ne s'applique pas.




    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
     
    procedure TF_dtm1.frxReport1cgcBeforePrint(Sender: TfrxReportComponent);
     var a,b :TfrxComponent;
     i, compteur : integer ;
     begin
     
    i:=F_Dtm1.TSQL_cgc_cli.RecordCount;
    compteur:=0;
    //repeat
    a:= frxReport1cgc.FindComponent('frxDBDmasterintitulartcli') as TFrxComponent;
     
    if assigned(a) then begin
                        if F_Dtm1.TSQL_cgc_cli.FieldByName('ctrl').Asstring ='1' then a.Font.Size:=30
                        else if F_Dtm1.TSQL_cgc_cli.FieldByName('ctrl').Asstring ='2' then a.Font.Size:=20;
     
                      end;
    J'ai testé également en mettant une boucle, mais le resultat reste le même

    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
     
    procedure TF_dtm1.frxReport1cgcPrintReport(Sender: TObject);
     var a,b :TfrxComponent;
     i, compteur : integer ;
    begin
     
    a:= frxReport1cgc.FindComponent('frxDBDmasterintitulartcli') as TFrxComponent;
     
    i:=F_Dtm1.TSQL_cgc_cli.RecordCount;
    compteur:=0;
     repeat
     
    if assigned(a) then begin
                        if F_Dtm1.TSQL_cgc_cli.FieldByName('ctrl').Asstring ='1' then a.Font.Size:=30 else
                        if F_Dtm1.TSQL_cgc_cli.FieldByName('ctrl').Asstring ='2' then a.Font.Size:=25;
                        //if F_Dtm1.TSQL_cgc_cli.FieldByName('ctrl').Asstring ='4' then a.Font.Size:=20;
                        //if F_Dtm1.TSQL_cgc_cli.FieldByName('ctrl').Asstring ='5' then a.Font.Size:=15;
                      end;
     
      compteur:=compteur +1
     
    until compteur = i;
     
    end;
    J'ai testé dans onpréview sans succés.

    Une petite idée ?

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

Discussions similaires

  1. Colorier des cases a partir d'un nombre indiqué par l'utilisateur
    Par calloo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/10/2018, 16h21
  2. Réponses: 14
    Dernier message: 02/11/2016, 20h15
  3. modifier la hauteur des lignes dans SWT Table
    Par lok9009 dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 18/09/2009, 11h39
  4. Modifier la hauteur des lignes du ListView
    Par David Fouejio dans le forum Windows Forms
    Réponses: 1
    Dernier message: 07/08/2009, 13h50

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