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

WinDev Discussion :

Fenêtre d'Assistant d'installation du logiciel


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 31
    Points : 17
    Points
    17
    Par défaut Fenêtre d'Assistant d'installation du logiciel
    Salut à tous ,

    Grâce a Guardian, j'ai pu créer une application; je n'oublierai jamais son attention et sa disponibilité. Maintenant, pour donner un côté professionnel à mon projet, je voudrais créer un assistant d'installation.

    J'ai crée une classe et 3 fenêtres d'installation :
    • La 1ére c'est fenétre de Bienvenue
    • La 2éme choisir le répértoire d'installation
    • La 3éme pour términer l'installation

    Dans le Code Classe cAssistant j'ai mis ça :
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    cAssistant est une classe
    	m_nPlanActif est un entier		 					// Numero du plan encours (entre 1 et 20)
    	m_tabPlan est un tableau statique de 50 entiers		// Tableau contenant l'enchainement des plans "précédents"
    	m_nIndPlanPrecedent est un entier					// Indice du plan précédent dans le tableau
    	m_sNomFen est une chaîne
    FIN
     
    PROCEDURE Constructeur(sNomFen)
     
    :m_nIndPlanPrecedent=0 			// pas de plan précédent dans le tableau d'enchainement
    :m_sNomFen = sNomFen
    PROCEDURE Destructeur()
     
    PROCEDURE PRIVÉE CAssist::ChangePlan(nPlan)
    // Change le plan en cours dans la fenêtre assistant
     
    // controle de dépassement
    SI nPlan<1 OU nPlan >20 ALORS
    	Erreur("CAssist:ChangePlan: Dépassement du nombre maximum de plans")	
    SINON
    	// si on passe au premier plan, le bouton <précédent> est grisé
    	SI nPlan=1 ALORS  
    		{:m_sNomFen+".BTN_PRECEDENT"}..Etat=Grisé
    	SINON
    		{:m_sNomFen+".BTN_PRECEDENT"}..Etat=Actif
    	FIN
     
    	// si on passe au dernier plan, le bouton <suivant> devient <terminer>
    	SI nPlan=20 ALORS 
    		{:m_sNomFen+".BTN_SUIVANT"}..Libellé="&Terminer"
    	ELSE
    		{:m_sNomFen+".BTN_SUIVANT"}..Libellé="&Suivant >"
    	FIN
     
    	// activation du plan
    	{:m_sNomFen}..Plan = nPlan
     
    	// le plan encours devient le nouveau plan
    	:m_nPlanActif=nPlan
    FIN
     
     
     
    PROCEDURE VIRTUELLE CAssist::Initialisation()
     
    // Initialisatin générale (effectuée une seule fois au début)
    ExécuteTraitement(:m_sNomFen+".OnInitPlan",trtProcédure,0)
     
    // l'assistant commence sur le plan 1
    :ChangePlan(1)
     
    // Initialisation du premier plan
    ExécuteTraitement(:m_sNomFen+".OnInitPlan",trtProcédure,1)
     
     
    // Procedure appeléepar le bouton "annuler" de l'assistant
    PROCEDURE VIRTUELLE CAssist::OnAnnuler()
     
    // fermeture de l'assistant
    Ferme()
     
     
    PROCEDURE CAssist::OnPrecedent()
    // Méthode appelée par le bouton précédent de l'assistant
     
    // passe au plan précédent dans le tableau des successions de plans
    :ChangePlan(:m_tabPlan[:m_nIndPlanPrecedent])
     
    // Initialisation du nouveau plan
    ExécuteTraitement(:m_sNomFen+".OnInitPlan",trtProcédure,:m_nPlanActif)
     
    // décrémentation de l'indice du plan précédent dans le tableau d'enchainement des plans
    :m_nIndPlanPrecedent--
     
    // contrôle de l'indice
    IF :m_nIndPlanPrecedent<0 ALORS  Erreur("CAssist:PlanPrecedent: indice min du tableau dépassé")
     
     
    PROCEDURE CAssist::OnSuivant()
    // Méthode appelée par le bouton "suivant" ou "terminer" de l'assistant
     
    // controle des bornes
    IF (:m_nPlanActif < 1) OU (:m_nPlanActif > 20) ALORS  Erreur("CAssist:Suivant() : indice de plan hors borne")
     
    // si le controle du plan n'est pas valide on reste sur ce plan
    SI ExécuteTraitement(:m_sNomFen+".bOnControlPlan",trtProcédure,:m_nPlanActif)=Faux ALORS  RETOUR
     
    // si on est sur le dernier plan
    SI :m_nPlanActif=20 ALORS 
    	// Action finale
    	:OnTerminer()
    SINON
    	// Actionne le sablier
    	Sablier(Vrai)
    	// Lance l'action associé au plan encours, si c'est réussie on passe au plan suivant
    	SI ExécuteTraitement(:m_sNomFen+".bOnActionPlan",trtProcédure,:m_nPlanActif) ALORS 
    		// on ajoute un plan précédent dans le tableau d'enchainement des plans
    		:m_nIndPlanPrecedent++
        	// le plan précédent est le plan encours
    		:m_tabPlan[:m_nIndPlanPrecedent]=:m_nPlanActif
        	// On passe sur le plan suivant
        	:ChangePlan(ExécuteTraitement(:m_sNomFen+".nOnPlanSuivant",trtProcédure,:m_nPlanActif))
    		// On appel la fonction d'init du nouveau plan
    		ExécuteTraitement(:m_sNomFen+".OnInitPlan",trtProcédure,:m_nPlanActif)
    	FIN
    	// Désactionne le sablier
    	Sablier(Faux)
    FIN
     
     
    PROCEDURE VIRTUELLE CAssist::OnTerminer()
     
    // Appel du OnTerminer de la fenêtre
    ExécuteTraitement(:m_sNomFen+".OnTerminer",trtProcédure)
    Merci pour vos conseils.
    Images attachées Images attachées    

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Il y a un outil WD qui fait ça très bien
    Dans WD; Menu Outils / WDInst - Éditeur d'installations

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Guardian
    Il y a un outil WD qui fait ça très bien
    Dans WD; Menu Outils / WDInst - Éditeur d'installations

    Salut Guardian ,

    Eeffectivement WDInst le fait bien mais j'arrive pas a faire avancer les fenétre avec les boutons suivant précédent ça fnctionne pas , je souhaiterais passer de la 1ére fenétre a la 2 éme et ainsi de suite jusqu'a la fin de l'installation pour ça il faut crée une clase je crois genre "cAssitant d'installation " avec les procédures pour chaque bouton et ça j'avoue que je m'y connais pas trop !



    Merci encore Guardian .

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Il n'y a rien à créer.
    La mise en place de l'installation se fait à l'aide de l'assistant en répondant aux questions.

    1- tu finalises le projet (le code - le projet doit évidemment être fini) Logiquement cette étape est terminée
    2- tu génères l'exécutable (Menu Atelier - Générer l'exécutable - c'est également un assistant)
    3- tu génères l'installation (Menu Outils / WDInst - Éditeur d'installations)

    Il n'y a pas à s'encombrer de classes ou autre éléments externes.
    Il suffit de répondre aux questions des assistants.

    Tu peux te référer à l'aide WDINST

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Guardian
    Il n'y a rien à créer.
    La mise en place de l'installation se fait à l'aide de l'assistant en répondant aux questions.

    1- tu finalises le projet (le code - le projet doit évidemment être fini) Logiquement cette étape est terminée
    2- tu génères l'exécutable (Menu Atelier - Générer l'exécutable - c'est également un assistant)
    3- tu génères l'installation (Menu Outils / WDInst - Éditeur d'installations)

    Il n'y a pas à s'encombrer de classes ou autre éléments externes.
    Il suffit de répondre aux questions des assistants.

    Tu peux te référer à l'aide WDINST





    Salut Guardian ,

    J'ai trouver ce que tu m'as dis de faire dans l'aide , j'ai un probléme de suivi des fenétre c'est a dire je te donne un exemple complet ce que je souhaiterais faire :


    Fenétre 1 : Fenétre de Bienvenue avec BTN Suivant et Annuler

    - Quand je click sur Suivant j'auais la fenétre deux pour choisir le répértoire d'installation .

    l'autre fenétre j'aurais une jauge m'indiquant la copie des fichiers dans cette dérniére et la dérniere fenétre c'est la fin d'installation avec un BTN Lancer l'application !



    WDInst c'est trés bien comme tu dis mais ne configure pas les fenétres pour qu'elles se suivent l'une aprés l'autres il faut paramétrer chaque fenétre pour qu'elles s'éexcutent l'une aprés l'autre .




    merc encore de ton Aide Guardian .

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Sous WDInst, il est possible, via les "Options d'installation" (antépénultième bouton) de paramétrer tout ce qui est paramétrable, notamment le choix du dossier de destination.

    Si cela ne correspond pas à tes souhaits, tu peux toujours utiliser Windows Installer de Microsoft par ex.

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Guardian
    Sous WDInst, il est possible, via les "Options d'installation" (antépénultième bouton) de paramétrer tout ce qui est paramétrable, notamment le choix du dossier de destination.

    Si cela ne correspond pas à tes souhaits, tu peux toujours utiliser Windows Installer de Microsoft par ex.


    Salut Guardian ,


    J'avoue que je préfére rester avec WD car tu me l'as fait découvrir et j'&rrive plus a m'en passer de WD .


    Ce que je veux faire c'est trés simple Guardian paramétrer chaque BTN genre

    Suivant , Précédent , Annuler .


    La 2émé Fenétre copiera les fichiers avec une barre de progréssion indiquant les fichiers copier .voila c'est tout !



    Merci de tout Coeur Guardian .

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

Discussions similaires

  1. Comment installer son logiciel?
    Par stof dans le forum MFC
    Réponses: 10
    Dernier message: 02/10/2012, 15h33
  2. Installer mon logiciel
    Par laclac dans le forum Outils
    Réponses: 5
    Dernier message: 17/08/2005, 21h09
  3. Installation du logiciel GLUT
    Par nicolas66 dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 18/11/2004, 16h46
  4. Assistance pour un projet logiciel perso
    Par sincère dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/11/2004, 13h10
  5. [débutant] installation du logiciel Hping
    Par glurps dans le forum Développement
    Réponses: 3
    Dernier message: 12/06/2003, 17h08

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