1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

TUTO Afficher la version déployée sur le site

Discussion dans 'Webdev' créé par haffar, Juin 5, 2018.

  1. haffar

    haffar Member

    Inscrit:
    Juin 5, 2018
    Messages:
    30
    J'aime reçus:
    63
    Le mauvais réflexe lorsqu'on travaille sous webdev et qu'on veut récupérer les infos de version, c'est d'aller chercher du côté de ExeInfo(). Malheureusement cette fonction ne renvoie que la version du moteur d'exécution webdev du serveur. soit 23.x.x.x par exemple si vous interrogez la version sous webdev 23.

    Or, à chaque compilation d'une application webdev, un fichier bibliothèque <nomduprojet>.WDL est généré et c'est lui qui va nous renseigner sur notre produit.

    Le palliatif, c'est donc d'utiliser la fonction ComposantInfo() dont vous trouverez de plus amples explications sur le site de PCSOFT :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!




    Pour simplifier l'usage et la récupération de ces éléments, j'ai concocté une procédure InfoSite() qui renvoie une structure de type StructInfoSite qui renseigne directement sur ces éléments.

    L'usage est simple et efficace , par exemple pour récupérer la version et le copyright :

    [​IMG]


    ceci affichera par exemple "COPYRIGHT MA SOCIÉTÉ 2018 VERSION 1.00Bc du 20/01/2018 14:32"

    ATTENTION : InfoSite().VersionProjet donne une chaîne vide sur un site déployé, préférez Infosite().Version, qui donnera bien la version déployée dans tous les cas, par exemple "1.00Aa".




    Code (Windev):

    [SIZE=3][B]
    LA STRUCTURE STInfoSite (à placer dans les déclarations d’une collection de proc. serveur) :[/B][/SIZE]


    StructInfoSite est une Structure

               Succès est un booléen

               Copyright est une chaîne

               NuméroDePatch est une chaîne

               Propriétaire est une chaîne

               Société est une chaîne

               Version est une chaîne

               VersionCompatible est une chaîne

               VersionInterne est une chaîne

               VersionProjet est une chaîne

               DateHeureDeCompilation est une DateHeure // un élément à part, mais bien utile

               DateHeureDeCompilFormatée est une chaîne // pour affichage en texte, de la même date

    FIN




    [SIZE=3][B]LA PROCEDURE INFOSITE (à placer dans une collection de procédures serveur) :[/B][/SIZE]


    PROCÉDURE InfoSite(LOCAL sBiblioWDLDuProjet est une chaîne = "") :  StructInfoSite

               localinf est un StructInfoSite

               localinf.Succès = Faux

             

               // en général, ça marche sans préciser le paramètre .WDL, si la bibliothèque déployée a le même nom que notre projet.

               SI sBiblioWDLDuProjet = "" ALORS sBiblioWDLDuProjet =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ())+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (piNomProjet)+".WDL"


               // si la bibliothèque n'existe pas, on renverra la structure vide, avec .Succès = faux

               SI PAS

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sBiblioWDLDuProjet) ALORS RENVOYER localinf

             

               // récupération des différentes données disponibles depuis la bibliothèque compilée

               AVEC localinf

                     .Copyright =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("",ciCopyright,sBiblioWDLDuProjet)

                     .NuméroDePatch =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("",ciNuméroPatch,sBiblioWDLDuProjet)

                     .Propriétaire =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("",ciPropriétaire,sBiblioWDLDuProjet)

                     .Société =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("",ciSociété,sBiblioWDLDuProjet)

                     .Version =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("",ciVersion,sBiblioWDLDuProjet)

                     .VersionCompatible =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("",ciVersionCompatible,sBiblioWDLDuProjet)

                     .VersionInterne =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("",ciVersionInterne,sBiblioWDLDuProjet)

                     .VersionProjet =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("",ciVersionProjet,sBiblioWDLDuProjet)

                     .DateHeureDeCompilation =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sBiblioWDLDuProjet,"",fCréation)

                     .DateHeureDeCompilFormatée =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (.DateHeureDeCompilation,8),maskDateSystème) + " " +

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (.DateHeureDeCompilation,9,4),"HH:MM")

                     .Succès = Vrai // ici on a pu extraire les infos de la bibliothèque

               FIN


               // renvoi de la structure ainsi chargée

               RENVOYER localinf



    [SIZE=3][B]Comment utiliser la fonction dans vos programmes (dans le code clic serveur d’un bouton par exemple) :[/B][/SIZE]
    // 1) méthode optimisée (un seul appel à la fonction charge une structure) :

    SIS est une StructInfoSite = InfoSite()


    SI SIS.Succès ALORS

               

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (SIS.Copyright + "VERSION " + SIS.VersionProjet + " du " +SIS.DateHeureDeCompilFormatée)

    FIN


    // 2) Méthode pratique (pas de variable à déclarer) via l'accès direct à la structure de retour

    // (mais plusieurs appels de fonction, donc un peu plus lourd en traitement)

    SI InfoSite().Succès ALORS

               

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (InfoSite().Copyright + " VERSION " + InfoSite().version + " du //" +InfoSite().DateHeureDeCompilFormatée)

    FIN




    [code]
     
    Tags:

Partager cette page

Chargement...