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

Web & réseau Delphi Discussion :

Créer un reporting Web


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Par défaut Créer un reporting Web
    Bonjour,

    Je maintiens une application client serveur Delphi 7 - MsAccess. Une de ses fonctionnalité est de créer un reporting à partir d'une table toute simple.
    Le reporting ressemble à ça :
    code Erreur 2 : Libelle Erreur 2
    - Donnée en erreur
    - Donnée en erreur
    - ...
    code Erreur 3 : Libelle Erreur 3
    - Donnée en erreur
    - Donnée en erreur
    - ...
    code Erreur 4 : Libelle Erreur 4
    - Donnée en erreur
    - Donnée en erreur
    - ...
    Je fais le reporting avec Rave Report, que je ne supporte plus! Je souhaiterais passer a du xml pour un affichage html qui ressemblerait à ça
    [lien vers les données en erreur]code Erreur 2 : Libelle Erreur 2[/lien]
    [lien vers les données en erreur]code Erreur 3 : Libelle Erreur 2[/lien]
    [lien vers les données en erreur]code Erreur 3 : Libelle Erreur 2[/lien]
    J'ai vu qu'on pouvait faire ça en créant une application websnap. Mon soucis est que je dois partir de mon application Client Serveur.
    Donc est il possible d'integrer un module websnap (ou autre composant) à mon application pour que, en cliquant sur un bouton, l'utilisateur est à disposition le reporting à l'interieur d'une page internet.

    En esperant avoir été clair..... je vous remercie de vos réponses!

  2. #2
    Membre Expert

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Par défaut
    Bon si je comprends bien, en fait tu veux afficher les résultats dans ton application, non plus sous la forme d'une édition Rave, mais sous la forme d'une page HTML.

    Dans ce cas, ça peut être très simple. Pas besoin de faire une application WebSnap.
    Il te suffit d'exécuter les requêtes SQL dont tu as besoins pour obtenir les données. Puis tu crées toi même un fichier XML.
    En parallèle, tu écris un fichier XSLT pour présenter ce fichier XML sous la forme d'une page Web.
    Puis il te suffira d'appeler IE, (ou d'afficher une fenêtre avec un composant TWebBrowser) et de lui demander d'afficher le fichier XML. Si tu déclare le lien vers le fichier XSLT dans ton fichier XML, le navigateur effectuera lui même la transformation et affichera la page HTML ainsi obtenue.

    Regarde du côté des technos XML/XLST.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Par défaut
    Merci!
    oui, c'est ce que j'ai fait entre temps.
    J'ai découvert les joies du xml et du xsl, et c'est bien sympa comme techno.
    par contre des que les requêtes retournent pas mal d'enregistrements (ex : de 2000 lignes a 20000 lignes) les temps d'exécution sont vite assez long, plusieurs minutes.
    Je pense que l'utilisateur n'aura qu'a prendre son mal en patience!

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Par défaut
    Une petite question néanmoins, je procède de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XMLDoc.DocumentElement := XMLDoc.CreateElement('erreurs','');
    et ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    titre := XMLDoc.DocumentElement.AddChild('titre');
    erreur.Attributes['champ'] := ...
    ...
    XMLDoc.SaveToFile('fichier.xml');
    Comment faire pour insérer le lien vers le fichier XSLT en tête du fichier XML?

  5. #5
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    La syntaxe est: <?xml-stylesheet href="example.xsl" type="text/xsl"?>
    Elle doit être placée après la balise xml de départ.

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Par défaut
    ok, mais je ne sais pas comment insérer cette balise avec le composant xmldoc dans delphi.

  7. #7
    Membre Expert

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Par défaut
    Citation Envoyé par tomy29 Voir le message
    par contre des que les requêtes retournent pas mal d'enregistrements (ex : de 2000 lignes a 20000 lignes) les temps d'exécution sont vite assez long, plusieurs minutes.
    Tu dois pouvoir fortement accélérer la génération du document XML en utilisant une API de type SAX au lieu du DOM. Par contre, le browser mettra toujours un certain temps ensuite pour calculer la transformation XSL.

    Avec le DOM, tu construis un arbre en mémoire qui représente ton document XML. Puis tu sérialises cet arbre dans un fichier (ou autre) pour obtenir le doc XML.

    Avec SAX, le document est généré à la volé. Dans ton code, tu te contente de déclencher des "événements" (le terme vient du mode de fonctionnement lorsqu'on utilise SAX pour lire un document) qui se traduisent par l'écriture du document XML correspondant dans le fichier :
    - Début de l'élément "TRUC" avec l'attribut "blabla" avec la valeur "yyyy".
    - Ecrire une valeur texte "mon petit texte à moi".
    - Fin de l'élément "TRUC".

    Au fûr et à mesure que tu déclenches ces événements, le "parser" génèrera le code suivant :
    - <TRUC blabla="yyyy">
    - mon petit texte à moi
    - </TRUC>

    Ca revient presque à écrire le fichier XML directement en mode texte à la main, sauf que c'est le parser qui écrit les balises et protège les caractères spéciaux dans le texte.

    L'intérêt, c'est que tu génères le fichier XML à la même vitesse que si tu écrivais un fichier Text ordinaire.

    SAX est très utile lorsque tu fais justement de la génération de fichier XML directement dans ton code, lorsque tu manipules de très gros document, lorsque tu recherches simplement un élément dans un gros document...

    Le DOM est utile si tu veux manipuler des documents XML existants : Lire un XML, l'interroger avec une requête XPath, vérifier son schéma, calculer des transformations...

Discussions similaires

  1. Créer un site web - en quel langage ?
    Par Thierry92 dans le forum Débuter
    Réponses: 96
    Dernier message: 25/04/2024, 22h24
  2. [Spip] Combien de temps pour créer un site web ?
    Par gamerome dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 13/09/2008, 08h21
  3. Réponses: 0
    Dernier message: 17/10/2005, 08h05
  4. Installation de crystal report web server pour linux
    Par shadowR dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 12/12/2004, 01h14

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