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

Composants VCL Delphi Discussion :

générer un état simple sous forme de document texte avec quickreport classique


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut générer un état simple sous forme de document texte avec quickreport classique
    Bonjour à toutes et à tous, ma première question concerne la génération d'un état en document texte en utilisant quickreport, j'ai 2 fenêtres, une où il y a un quickreport avec des QRBDText pour afficher les champs de la table et une autre fenêtre où il y a entre autre un bouton dont voici la procédure qui gère l'événement de Click :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.OnClick(Sender: TObject);
    Var exp : TQRTextFilter;
    begin
      exp := TQRTextFilter.create( 'D:\essai.txt' );  ............  (39)
      Try
        Form2.QuickRep1.ExportToFilter( expFilt );   ............. (41)
      Finally
        exp.free;
      End;
    end;

    [Error] Unit1.pas(39): Incompatible types: 'TComponent' and 'String'
    [Error] Unit1.pas(41): Incompatible types: 'TQRExportFilter' and 'TQRTextFilter'
    [Fatal Error] QReport.dpr(6): Could not compile used unit 'Unit1.pas'
    Ma deuxième question porte sur QuickReport 4.0.6, où puis-je le trouver en téléchargement gratuit ?

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 286
    Points : 41 732
    Points
    41 732
    Billets dans le blog
    65
    Par défaut
    Bonjour
    Ma deuxième question porte sur QuickReport 4.0.6, où puis-je le trouver en téléchargement gratuit ?
    La dernière version gratuite est la 3.5.1 version standard (donc pas de exportfilter si mes souvenirs sont bons)
    téléchargeable ici

    Quant au code , cela pourrait être simplement du au nom de la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Var expFilt : TQRTextFilter;
    begin
      expFilt := TQRTextFilter.create( 'D:\essai.txt' );  ............  (39)
      Try
        Form2.QuickRep1.ExportToFilter( expFilt );   ............. (41)
      Finally
        expFilt.free;
      End;
    un essai sans variable, corrige t'il l'erreur en 41 ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        Form2.QuickRep1.ExportToFilter(TQRTextFilter.create( 'D:\essai.txt' ));   ............. (41)

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Bonjour, merci pour votre réponse, j'ai essayé d'enlever le nom de variable mais rien n'y fait, j'ai toujours le même message d'erreur. J'utilise la version standard, et si comme vous dites il n'y a pas de " exportFilter" dans cette dernière, alors le problème vient peut être de là, non ? Je cherche un extraire un fichier texte à partir d'un quickreport où il y a des informations provenant d'une base de données, j'ai mis le quickreport dans une fenêtre à part avec toutes les information nécessaires, la table de la base de données (un simple composant TTable), des QRDBEdit placés dans le quickreport et dont chacun a pour propriété datafield un des champs de la table. Et dans une autre fenêtre, il y a entre autre un bouton, dont éventrement OnClick contient le code que j'ai cité plus haut et qui ne marche pas. Je suis débutant en delphi, j'aimerai bien savoir où j'ai fait l'erreur. Mon but est que quand un utilisateur clique sur le bouton précédemment cité, ça déclenche un événement qui crée le fichier texte en question.

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 502
    Points : 3 133
    Points
    3 133
    Par défaut
    Et quelle est l'utilité d'utiliser QuickReport pour créer un fichier texte ?
    Le plus simple reste quand même d'ajouter des lignes à un TStringList puis à sauver le contenu sous forme de texte.
    Ou alors, j'ai pas compris le but final du truc.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Je vais vous expliquer le but général, nous avons par exemple une base de données avec une table employés contenant toutes les infos de ces derniers, ici je veux générer un document qui contient des infos extrait de cette table, par exemple nom et prénom de l'employé pour faire une attestation de travail par exemple, j'ai fait ça avec quickreport comme je l'ai expliqué, avec des QRDBText et tout, mais je n'arrive pas à extraire ça sous forme de document texte. La finalité c'est que l'utilisateur de l'application parcours les employés et quand il en choisit un il clique sur un bouton et là l'attestation de travail est générée en document texte avec les infos sur l'employé provenant évidement de la base de données et que j'ai récupéré sur le quickreport.

  6. #6
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 502
    Points : 3 133
    Points
    3 133
    Par défaut
    J'ai bien compris qu'il s'agit d'aller prendre des données dans une base pour les "exporter" dans un fichier texte.
    Mais est-ce bien d'un pur fichier texte qu'il s'agit ? Ou d'un fichier avec une présentation très précise ?
    Pour moi, un fichier texte est un fichier lisible avec notepad, donc sans aucun formatage ni positionnement d'élément.
    D'où mon étonnement sur l'utilisation de QuickReport !
    Qu'est-ce qui empêche, au moment où l'utilisateur a choisi l'enregistrement voulu, de lire les infos et de les enregistrer dans un fichier texte tout simple ?
    C'est ça que j'ai du mal à comprendre.
    Mais s'il ne s'agit pas d'un "vrai" fichier txt, l'exemple donné n'est pas bon puisque la sauvegarde se fait dans 'D:\essai.txt' .

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Avec un QuickReport, on peut ajuster les éléments comme on veut et mettre des labels, des entêtes et tout, voilà pourquoi j'ai utilisé QuickReport, maintenant si vous pensez qu'un fichier .txt n'est pas un point de sortie convenable pour ça et qu'il vaudrait mieux faire un .doc ou autre, je serais ravi de lire vos conseils, et ça m'aiderai beaucoup car je suis débutant en delphi.

  8. #8
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 502
    Points : 3 133
    Points
    3 133
    Par défaut
    Le problème n'est pas de conseiller un format ou un autre mais de comprendre où se situe le problème.
    Je persiste à dire qu'un fichier enregistré au format texte (avec extension .txt) n'a pas de formatage possible.
    C'est du texte pur et rien d'autre. Donc, si le document de sortie doit positionner des éléments à des endroits précis, ajouter en-tète et bas de page, etc. ce n'est pas un fichier texte.

    Après, je ne sais quelles sont les possibilités d'export avec la version de QuickReport utilisée.
    Mais en général, si le document final n'a pas vocation à être modifié, une sortie au format PDF est devenu le standard.

  9. #9
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 286
    Points : 41 732
    Points
    41 732
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Je suis tout à fait d'accord avec Papy214 . Avec Quickreport , j'ai réussi a faire des exports pdf (sans utiliser les filtres)
    il suffit de chercher dans le bon forum
    et le 'bon post'

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Je vous remercie tous vraiment pour votre aide, je vais essayer d'exporter dans un format .pdf, et je vais cliquer sur résolu. Encore merci.

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

Discussions similaires

  1. Mise en forme de document XML avec XSL.
    Par dcligniez dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 02/01/2015, 02h27
  2. [XL-2007] Comment afficher une colonne simple sous forme de tableau dans une LISTBOX?
    Par ThamAL dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/10/2013, 18h19
  3. [AC-2003] Form et sous-form : 2 champs fils avec "ou" ?
    Par riomois85 dans le forum IHM
    Réponses: 4
    Dernier message: 19/10/2009, 15h40
  4. [SAX] Parser un XML sans le charger en mémoire sous forme de document
    Par tdeco dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 10/08/2007, 14h00
  5. Export d'état Access sous forme de PDF
    Par rapace dans le forum Access
    Réponses: 13
    Dernier message: 31/08/2006, 11h07

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