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

VBScript Discussion :

[HTA] Navigation dans un programme hta


Sujet :

VBScript

  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Par défaut [HTA] Navigation dans un programme hta
    Bonjour,

    Je vous écris pour vous demander un peu d'aide par rapport à un programme HTA.

    Je dispose de plusieurs fichiers permettant de naviguer dans le programme, à l'aide de boutons "précédent" et "suivant".
    Pour le moment, ce système fonctionne grâce à du HTML.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class="button" href="page3.hta" onclick="progEcritureLog"><span>Suivant ></span></a>

    Néanmoins, j'arrive à bout de ce système, car je souhaite que le passage à la page suivante soit soumis à une condition et à un passage de variable d'une fenêtre à une autre.

    J'ai bien trouvé des exemples sur internet mais le code ouvre une nouvelle fenêtre, ce qui ne me convient pas (le passage d'un fichier hta à un autre doit être transparent).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub ouvrir(lien) 
    Set manipuleFichiers = CreateObject("WScript.shell") 
    manipuleFichiers.run(lien) 'On lance le HTA ! 
    End Sub

    Est-ce que quelqu'un aurait une solution ou une piste ?

    Merci bien

  2. #2
    Membre émérite Avatar de cubitus91
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 726
    Par défaut
    hello,
    Mais je comprend pas trop ce que tu veux faire.

    Cordialement

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Par défaut
    Si tu veux,
    j'ai 10 programmes HTA dans un dossier.

    Je lance le premier .hta, et, grâce à un bouton suivant, je peux afficher le contenu du deuxième.hta, troisième.hta, ... toujours dans la même fenêtre.


    Mais ceci fonctionne grâce à du HTML (voir code premier message).

    Je souhaite soumettre le passage aux différents programmes HTA à une condition.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Si boolean = vrai Alors
    Afficher deuxième.hta  /* (sans ouvrir de nouvelle fenêtre) */
    Sinon
    MsgBox "Choix invalide, réessayez"
    Fin Si
    J'espère que j'ai été plus clair

  4. #4
    Membre émérite Avatar de cubitus91
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 726
    Par défaut
    ok, alors c'est plus clair Merci.
    Pourquoi tu n'as pas uniquement un HTA et tu construis dynamiquement ton contenu de hta a partir de tes tests et valeurs passé en param.
    Cordialement

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Par défaut
    Je n'y avais pas pensé !

    Est-ce que c'est envisageable si chaque .hta de base possède une vidéo, un titre, un contenu différent ?

    Question peut-être un peu bête mais.. comment construire le contenu dynamiquement ?
    (j'ai un niveau assez modeste en programmation)

    Merci !!

  6. #6
    Membre émérite Avatar de cubitus91
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 726
    Par défaut
    Alors pour te répondre :

    Est-ce que c'est envisageable si chaque .hta de base possède une vidéo, un titre, un contenu différent ? Oui je pense a vrai dire j'ai jamais eu ce cas la :-), mais je ne vois pas pourquoi ca ne serait pas possible.


    Pour l'autre question :
    http://www.microsoft.com/en-us/downl....aspx?id=17332
    outil sympa.
    Un peu de ressources sur :
    http://technet.microsoft.com/en-us/s...enter/dd742317

    Tu dois utiliser les SPAN, un exemple simple :
    <span id=DataArea>Valeur 1 de span</span>

    si dans ton code vbs tu fait un :
    DataArea.InnerHTML = "<B>Valeur 2 de span.</B>"

    Tu constatera que tu change la valeur, donc ca revien à faire de la construction dynamique de hta. Tu peux aussi changer des propriétés du hta.
    Autre solution possible c'est de parcourir tout les controles de ton formulaires, mais j'avoue que c'est bien lourd.


    Pour finir, ce que je te conseil de faire. Si je peux me permettre bien sur. :-)
    Regarde si tu as des contrôles ou contenues identiques entre tes différentes HTA, et apres tu fais de la construction dynamiques.

    Voila cordialement

  7. #7
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Par défaut
    Merci pour ton aide !


    Je vais travailler là-dessus.

  8. #8
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Par défaut
    Désolé, je reviens vers vous car j'ai des soucis avec l'affichage dynamique.

    Je vais vous citer un code basique que je prends pour support de test.

    Fichier principal :
    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
     
    <html>
    <head>
    <title>My HTML application</title>
    <HTA:APPLICATION
      APPLICATIONNAME="My HTML application"
      ID="MyHTMLapplication"
      VERSION="1.0"/>
    </head>
     
    <script language="VBScript">
     
    Sub RunScript
        DataArea.InnerHTML = "<B>The computer did not respond when pinged.</B>"
    End Sub
     
    </script>
     
    <span id=DataArea>This is a span named DataArea.</span>
     
     
    <input id=runbutton  class="button" type="button" value="Run Button" name="run_button"  onClick="RunScript">
     
    </body>
    </html>
    C'est bien, cela fonctionne.

    Mais je suis extrêmement restreint pour l'affichage dans ma fonction VBScript dans :
    DataArea.InnerHTML = "..."
    Car, ce que j'aimerai, c'est pouvoir afficher un contenu important (saut de ligne, questionnaire à bouton, vidéo). Or actuellement je n'arrive même pas à faire un saut de ligne


    Ma question est de savoir si il y a un autre moyen que la fonction VBScript pour afficher le contenu dynamique ?
    Dans le cas contraire, comment afficher tout le contenu souhaité ?


    Merci pour votre aide

  9. #9
    Membre émérite Avatar de cubitus91
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 726
    Par défaut
    bonjour,
    voila un exemple de saut de ligne et de contenu :
    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML><HEAD><TITLE>test</TITLE>
    <META content="text/html; charset=windows-1252" http-equiv=Content-Type>
    <STYLE>
    Body {Background-Color: CornSilk} 
    </STYLE>
    <SCRIPT language=vbscript>
    Sub Window_onLoad
        window.resizeTo 400,250
        DataArea.InnerHTML = "<BR/><BR/><input id='CancelButton'  type='button' value='Cancel Button' name='Cancel'  onClick='RunScript(Me)'></input><BR/><BR/><input id='OkButton'  type='button' value='Ok Button' name='Ok'  onClick='RunScript(Me)'></input>"
    End Sub
    Sub RunScript(elem)
    'document.getElementById("button1").name);
     
        '
    End Sub
    </SCRIPT>
    <HTA:APPLICATION windowstate="normal" version="1.0" sysmenu="yes" 
    singleinstance="yes" showintaskbar="no" selection="no" scroll="no" 
    navigable="no" minimizebutton="yes" maximizebutton="no" icon="myicon.ico" 
    contextmenu="no" caption="My HTML Application" borderstyle="normal" 
    border="dialog" applicationname="MyHTA">
    <META name=GENERATOR content="MSHTML 9.00.8112.16441"></HEAD>
    <BODY>
    <span id="DataArea"></span>
    </BODY></HTML>
    il faut faire attention à changer les doubles quotes en simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DataArea.InnerHTML = "<BR/><BR/><input id='CancelButton' type='button' value='Cancel Button' name='Cancel' onClick='RunScript(Me)'></input><BR/><BR/><input id='OkButton' type='button' value='Ok Button' name='Ok' onClick='RunScript(Me)'></input>"
    Cordialement

  10. #10
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Par défaut
    Merci encore pour ta réponse.
    Cela fonctionne même avec des vidéos, en remplaçant les " par '.

    Je mets un peu de code en exemple si jamais quelqu'un le trouvera utile un jour.


    En-tête
    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
     
    <html>
    <head>
     
     
    <!--
    	EN-TETE
    ---------------------------------
    -->
    	<h4>
    	<a class="image"><img src="..\images\logo.jpg"/></a>
    	</h4>
     
    <!--
    	TITRE ET BALISES HTA
    ---------------------------------
    -->
        <link rel="stylesheet" href="..\style.css" />
        <title>Titre</title>
        <HTA:APPLICATION
    	  APPLICATIONNAME="Titre"
    	  ID="titre"
    	  VERSION="1.0"
    	  MAXIMIZEBUTTON="no"
    	  MINIMIZEBUTTON="no"
    	  ICON="../images/icone.ico"
    	  SCROLL="no"
    	  SINGLEINSTANCE="yes"
    	  CONTEXTMENU="no"
    	  NAVIGABLE="yes"
    	  SELECTION="no"/>
    VBScript
    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
     
    <!--
    	DÉMARRAGE DU VBscript
    ---------------------------------
    -->	
     
    <script language="VBScript"> 
     
    Dim compteur, numpage
    compteur = 1
    numpage = 1
     
    '*************************  TAILLE DE LA FENETRE  ************************************************
     
    Sub Window_OnLoad
      'This method will be called when the application loads
      'Add your code here
      	window.moveTo 400,0
    	window.resizeTo 700,770
    End Sub
     
    Sub RunScript(n)
     
    	If (n=1) then
    		compteur = compteur + 1
    	End If
     
    	Select Case compteur
    		Case 1
     
    	 	Case 2
    	 		titre.InnerHTML = "Titre 2"
    	 		video.InnerHTML = "<embed src='videos/video2/test2_controller.swf' quality='high' type='application/x-shockwave-flash' width='480' height='283'></embed>"
    	 	Case 3
    	 		titre.InnerHTML = "Titre 3"
    	 		video.InnerHTML = "<embed src='videos/capture_test_controller.swf' quality='high' type='application/x-shockwave-flash' width='480' height='283'></embed>"
    	 	Case 4
    	 		titre.InnerHTML = "Titre 4"
    	 		video.InnerHTML = "<embed src='videos/video2/test2_controller.swf' quality='high' type='application/x-shockwave-flash' width='480' height='283'></embed>"

    Contenu
    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
     
    <BODY scroll="no">
     
    <table align="center" style="width:100%;height:70%">
     
    	<caption>
     
    		<!-- span titre ------------>
    		<span id=titre>
    		Titre 1
    		</span>
    		<!-- ******************** -->
     
    		<a class="image"><img src="../images/barre.png" align="middle"/></a>
     
    	</caption>
     
    	<tr>
            <td align="middle">
     
            	<!-- span vidéo -------------------------------------------------------------------------------------------------------------------->
            	<span id=video>
    			<embed src="videos/capture_test_controller.swf" quality="high" type="application/x-shockwave-flash" width="480" height="283"></embed>
    		</span>
    		<!-- **************************************************************************************************************************** -->
     
    			<br/>
    		</td>
        </tr>


  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 15
    Par défaut
    Bonjour.

    Une autre solution est de faire plusieurs div contenant ton code html, tes vidéos, etc.
    Dans leurs attributs style tu met:"visibility:hidden" pour les cacher
    Puis en vbs tu met: idDuDiv.style.visibility="visible"
    et idDuDiv.style.visibility="hidden"
    Pour les rendres visible et invisible.
    Exemple:
    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
     
    <script language="vbscript">
    Sub Fonction1()
    contenuPage1.style.visibility="visible"
    End Sub
     
    Sub Fonction2()
    contenuPage2.style.visibility="visible"
    End Sub
    </script>
     
    <div name="contenuPage1" id="contenuPage1" style="visibility:hidden">contenu1</div>
    <div name="contenuPage2" id="contenuPage2" style="visibility:hidden">contenu2</div>
    <input type="button" value="Afficher le contenu1" onClick="Fonction1()">
    <input type="button" value="Afficher le contenu2" onClick="Fonction2 ()">

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

Discussions similaires

  1. Variable dans balise programme HTA
    Par papyxy dans le forum VBScript
    Réponses: 6
    Dernier message: 21/05/2014, 08h35
  2. Réponses: 6
    Dernier message: 15/02/2012, 14h16
  3. (echo *> ftp) & (formulaire hta,variable dans un batch)
    Par wnx83 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 30/03/2009, 18h59
  4. VBS - Java Script et vbs dans un fichier .hta
    Par Lorponos dans le forum VBScript
    Réponses: 5
    Dernier message: 20/07/2006, 13h11
  5. Les liens dans les fichiers.hta
    Par Lorponos dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 19/07/2006, 12h32

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