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

 Delphi Discussion :

Justifier (full justify) le texte d'un QRDBRichText1


Sujet :

Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut Justifier (full justify) le texte d'un QRDBRichText1
    Salut tous le monde,je suis entrain de réaliser une application de gestion médical qui doit générer des états d'impression comme par exemple un rapport médical et là j'ai un problème alors je cherche comment justifier un texte dans QRDBRichText1 d'un QuickReport.
    Merci.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2015
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 63
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    Vous n'avez pas des propriétés sur QRDBRichText1 ? Du genre align ?

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    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 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    cela dépend peut-être de la version mais QR3 proposait déjà la propriété QRDBRichText.Alignment:=taCenter;AMHA vous n'avez pas dû beaucoup chercher pour ne pas la voir !
    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

  4. #4
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par lave_01 Voir le message
    Bonjour,

    Vous n'avez pas des propriétés sur QRDBRichText1 ? Du genre align ?
    Je sais qu'il y a la propriété align mais ce que je cherche un Full Align

  5. #5
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    cela dépend peut-être de la version mais QR3 proposait déjà la propriété QRDBRichText.Alignment:=taCenter;AMHA vous n'avez pas dû beaucoup chercher pour ne pas la voir !
    Je connais bien cette propriété mais elle n'a pas le Full Align

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    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 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    un TRichEdit ne le permet pas non plus j'ai lu quelquepart que la règle de base d'un TRichEdit était :
    si vous ne pouvez pas le faire avec Wordpad.exe, vous ne pouvez pas le faire avec TRichedit non plus.
    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

  7. #7
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Salut, j'ai trouver un composant justifyrichedit et ça marche bien mais quand j'aligne et je veux affecter le texte dans QRDBRichText le texte reprend ça forme initial

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    unit JustifyRichEdit;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, 
      StdCtrls, ComCtrls, RichEdit;
     
    type
      TJustifyRichEdit = class(TRichEdit)
      private
        { Private declarations }
      protected
        { Protected declarations }
      public
        procedure Justify;
      published
        { Published declarations }
      end;
     
    procedure Register;
     
    implementation
     
    procedure Register;
    begin
      RegisterComponents('ZyXEL', [TJustifyRichEdit]);
    end;
     
    procedure TJustifyRichEdit.Justify;
    const
      WM_USER = $400;
      EM_EXSETSEL = (WM_USER + 55);
      EM_SETTYPOGRAPHYOPTIONS = (WM_USER + 202);
      EM_GETTYPOGRAPHYOPTIONS = (WM_USER + 203);
      TO_ADVANCEDTYPOGRAPHY = $1;
      mZERO = $0;
    var x :tparaformat;
       L :LongInt;
       cp :charrange;
    begin
      x.cbSize := sizeof(x);
      if SelLength = 0 then
      begin
        cp.cpMin := 0;
        cp.cpMax := length(Text);
        SendMessage(Handle,EM_EXSETSEL,mZERO,LPARAM(@cp));
      end;
      L := SendMessageA(Handle,EM_SETTYPOGRAPHYOPTIONS, TO_ADVANCEDTYPOGRAPHY, TO_ADVANCEDTYPOGRAPHY);
      if L = 1 then
      begin
        SendMessageA(Handle, EM_GETTYPOGRAPHYOPTIONS, mZERO, mZERO);
        SendMessage(Handle, EM_GETPARAFORMAT, mZERO, LPARAM(@x));
        x.dwMask := PFM_ALIGNMENT;
        x.wAlignment := PFA_JUSTIFY;
        SendMessage(Handle, EM_SETPARAFORMAT, mZERO, lparam(@x));
      end;
      cp.cpMin := 0;
      cp.cpMax := 0;
      SendMessage(Handle,EM_EXSETSEL,mZERO,lparam(@cp));
      WordWrap := true;
    end;
     
     
     
     
     
     
    end.
    Vous trouvez le composant en pièce jointe
    justifyrichedit.zip

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    Bonjour à toutes et à tous,


    @ bm1990

    Dans le temps avec un TRichEdit je procédais comme ceci :

    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
     
    procedure TForm1.Button4Click(Sender: TObject);
    begin
     
    RichEdit1.Paragraph.Alignment := taCenter;
     
    end;
     
    procedure TForm1.Button5Click(Sender: TObject);
    begin
     
    RichEdit1.Paragraph.Alignment := taLeftJustify;
     
    end;
     
    procedure TForm1.Button6Click(Sender: TObject);
    begin
     
    RichEdit1.Paragraph.Alignment := taRightJustify;
     
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
     
    RichEdit1.selectall;
     
    end;

    Peut être une piste.

    @+,


    cincap

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    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 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonsoir,
    @cincap
    le titre est un peu trompeur en lisant attentivement il ne s'agit pas d'un alignement gauche, droit ou centre mais d'un alignement "justifié" comme peuvent le proposer des traitements de texte ce que ne propose pas Wordpad et ne propose donc pas RichEdit.

    Le dernier code proposé par bm1990 propose une sorte de surclassement pour le faire

    LadyWasky proposait quelque chose d'approchant ici
    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

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    Bonjour à toutes et à tous,

    @ SergioMaster, merci en effet pour cette précision, j'étais bien à coté du problème.

    @+,

    cincap

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    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 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    J'étais aussi "tombé" dans le piège
    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

  12. #12
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Merci @cincap et @SergioMaster et je suis désolé si j'ai pas bien formuler le titre de la discussion et j'aimerais bien si le modérateur peut le reformuler comme suivant: Justifier complètement le texte d'un QRDBRichText1 ou bien Full Justify du texte d'un QRDBRichText1

    On revenant à mon problème je croix que la seule solution est de migrer vers FastReport parce que FastReport supporte cette option.

  13. #13
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    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 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    en revenant à mon problème je crois que la seule solution est de migrer vers FastReport
    Maintenant que vous avez le plus gros de la recherche est fait ? Pas forcement !

    À mon avis même pas besoin de créer un composant, un surclassement QRRichedit ou QRDBRichEdit devrait faire l'affaire malheureusement je n'ai pas/plus ces composants sous la main pour tester
    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

  14. #14
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    À mon avis même pas besoin de créer un composant, un surclassement QRRichedit ou QRDBRichEdit devrait faire l'affaire malheureusement je n'ai pas/plus ces composants sous la main pour tester
    Merci @SergioMaster est ce que je dois chercher l'unité de ce composant et je rajoute le code précédent ou bien comment faire ?

  15. #15
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    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 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    le principe c'est de rajouter des propriétés/fonctions à un composant existant (rien à voir mais j'applique ce principe dans ce tutoriel chapitre II.A)

    je verrai quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     TQRDBRichText = class(TQRDBRichText)
      private
      protected
        procedure FullJustify () ;  
      end;
    pour ce qui est de l'utilisation par contre je ne sais pas trop comment cela fonctionnerai le mieux serait de pouvoir rajouter une valeur dans la liste des types de justifications

    une autre solution copier le source de l'unité contenant TQRDBRichText dans le répertoire des sources de l'application et modifier directement

    N'utilisant plus Quickreport depuis D3 difficile de s'impliquer d'avantage
    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

  16. #16
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    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 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Pour revenir sur le sujet puisqu'il n'est pas noté comme
    je signale ce dépôt https://github.com/vintagedave/fully-justified-text
    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

  17. #17
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Merci SergioMaster mais j'ai pas trouver comment afficher le texte complètement justifié dans le preview de QuickReport afin de l'imprimer justifié.

Discussions similaires

  1. Réponses: 9
    Dernier message: 22/09/2010, 06h59
  2. Justifier le texte d'un RichEdit
    Par codial dans le forum Delphi
    Réponses: 4
    Dernier message: 09/02/2007, 18h11
  3. CSS justifier le texte
    Par lea94140 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 12/11/2006, 14h40
  4. [ImageMagick] Justifier le texte avec imagettftext
    Par AurelBUD dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 31/10/2006, 11h06
  5. justifier du texte
    Par Milouse dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 08/07/2005, 10h56

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