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 :

Impression formatée d'un RichEdit


Sujet :

FastReport

  1. #1
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut Impression formatée d'un RichEdit
    Bonsoir à tous

    Je voudrais imprimer une liste à partir d'RichEdit, pour cela pas de problèmes.
    Voici mon code

    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
    procedure TForm8.ImpListeClick(Sender: TObject);
    Var
      Rich1: TfrxRichView;
    begin
     
      // alors sauver le richedit dans le fichier
      RichEdit1.lines.SaveToFile(tpath.Combine(chEXE, 'listeClients.RTF'));
     
      // si tout OK
      if FileExists(tpath.Combine(chEXE, 'listeClients.RTF')) then
      begin
        Rich1 := frxReportClient.FindObject('Rich1') as TfrxRichView;
        Rich1.RichEdit.lines.LoadFromFile(tpath.Combine(ExtractFilePath(application.ExeName), 'listeClients.RTF'));
      end
      else
        Exit;
      // lancer la prévisualisation
      frxReportClient.PrepareReport();
      frxReportClient.ShowPreparedReport;
    end;
    Cela fonctionne très bien

    Je voudrai limiter l'impression à 50 lignes du RichEdit et changer de page de façon à ne pas couper
    un groupe de renseignements qui à toujours le même nombre d'info.
    J'ai essayé avec un script , en comptant le nb de lignes, mais je pense que, comme je charge le fichier dans lequel j'ai sauvé mon RichEdit cela ne peut pas marcher !!

    Avez vous une idée ?

    Par avance 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
    Bonjour,

    un richedit avec des fonts ? Je ne savais pas que c'était possible à moins que ce ne soit que des balises HTML, j'ai appris quelque chose , en même temps, j'utilise FastReport FMX (pas de RichView avec FMX ) donc que je sois passé à côté n'est pas étonnant

    Sinon, pour l'instant, aucune idée niveau script, j'aurais plutôt pensé à une scission du Richedit en deux parties, les 50 premières lignes puis le reste et un état adapté soit :
    par MasterBand/Childband (ce qui permettrai de faire un saut de page),
    Nom : Capture.PNG
Affichages : 250
Taille : 21,5 Ko

    par MasterBand et deux enregistrements à la demande
    Tout se fait au niveau du code sur le principe d'un frxUserDataset, voilà ce que j'ai en tête

    Nom : Capture_1.PNG
Affichages : 252
Taille : 18,5 Ko

    Nom : Capture_2.PNG
Affichages : 227
Taille : 56,3 Ko

    à moins que l'insertion d'un caractère Page Break (0x0C) ne fonctionne ?
    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 habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut
    Merci Sergio de votre Réponse

    J'ai aussi poser la question sur le soutien de FastReport car j'ai une version enregistrée et pour l'instant il ne m'ont pas encore donner de solution ?

    Par contre voici un exemple avec des Fonts dans un RichEdit

    Nom : Exemple-Impression.jpg
Affichages : 227
Taille : 66,9 Ko

    Bien sur les enregistrements sont le fruit de mon imagination dans ma base de test

    Par contre je vais explorer ta solution

    Merci et je tiens au courant

  4. #4
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut
    Voici la réponse faite par le soutien FastReport à ma question

    Essayez de charger listClients.RTF dans TRichEdit, puis envoyez chacune des 50 lignes de TRichEdit à TfrxRichView.RichEdit (si possible)
    Cela ne m'avance pas beaucoup

    Par contre j'ai joué avec la Hauteur du PageFooter (augmentation) et ainsi j'ai pu résoudre mon problème. Mais cette solution me laisse sur ma faim !

  5. #5
    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
    Ah, d'accord, je crois que j'avais mal compris et pensais que c'était un premier groupe de 50 lignes puis tout le reste sans saut de page
    Ma réponse reste quand même à peu près identique ma réponse serait toujours une solution par un frxuserdataset, mais en changeant la partie "découpage"

    Pour reprendre les deux images

    dans le code, j'ai remarqué que Richedit existait déjà donc pas besoin de ça "Essayez de charger listClients.RTF dans TRichEdit"

    donc dans ce que je présente dans la dernière image, le code
    dans le code frxuserdataset1First
    nbrec:=0;
    frxdataset1.rangeendcount:=richedit1.lines.count;

    // peut aussi être indiqué ainsi
    procedure TForm8.ImpListeClick(Sender: TObject);
    begin
    frxDataSet1.RangeEndCout:=Richedit1.lines.Count;
    // lancer la prévisualisation
    frxReportClient.PrepareReport();
    frxReportClient.ShowPreparedReport;
    end;
    dans le code frxuserdataset1GetValue
    lignes:=Richedit1.lines[nbrec];

    dans le code fruserdataset1Next
    inc(nbrec);


    Enfin dans la bandemaster, un évènement onAfterPrint avec dans le script un test sur [lines] la variable système

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [lines] mod 50=1 then newpage
    (je crois que c'est ça, je ne peux pas tester je suis en cours de mise à jour de ma version 10.4.1 -> 10.4.2)
    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

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

Discussions similaires

  1. Impression format rtf
    Par pboscaiolo dans le forum Débuter
    Réponses: 0
    Dernier message: 14/09/2010, 11h10
  2. [Impression] Format du papier
    Par Narah dans le forum Documents
    Réponses: 3
    Dernier message: 03/08/2010, 09h04
  3. Réponses: 0
    Dernier message: 08/01/2009, 22h57
  4. Impression format paysage d'un etat
    Par doudou0088 dans le forum VBA Access
    Réponses: 5
    Dernier message: 06/01/2008, 21h57
  5. [Impression] Format papier
    Par narmataru dans le forum Windows 2000/Me/98/95
    Réponses: 3
    Dernier message: 03/09/2007, 15h33

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