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 :

Passer plusieurs paramètres dans HTA


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 386
    Par défaut Passer plusieurs paramètres dans HTA
    Avec , on ne peut passer qu'un argument.
    Est-il possible que ce soit un objet contenant plusieurs paramètres?
    Comment le rédiger?

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    , on ne peut passer qu'un argument.
    Si vous regardez la signature de showModalDialog:
    http://msdn.microsoft.com/en-us/library/ie/ms536759%28v=vs.85%29.aspx
    elle dite:
    var retval = window.showModalDialog(dialog, varArgIn, varOptions);

    varArgIn [in, optional]
    Type: VARIANT
    Variant that specifies the arguments to use when displaying the document. Use this parameter to pass a value of any type, including an array of values. The dialog box can extract the values passed by the caller from the dialogArguments property of the window object.

    Return value
    Type: Variant
    Variant. Returns the value of the returnValue property as set by the window of the document specified in dialog.
    Des variants compris des types comme Array ou des objets comme Dictionary... Donc, vous pouvez passer un Array ou un Dictionary (ou d'autres d'ailleurs), les plus typiques des variants qui contienent multiple donnée atomique. C'est tout à fait possible et c'est la façon canonique de le faire.

  3. #3
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 386
    Par défaut
    Bonjour
    En fait je voudrais passer en paramètre une variable et un tableau.
    Je sais pas comment rédiger un objet contenant ces données.

  4. #4
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    En fait je voudrais passer en paramètre une variable et un tableau.
    Un tableau est au sens large bien une variable aussi. Je prends donc vous voulez dire une variable simple, atomique comme String et un tableau, etant un objet (vartype) de nature... vous pouvez faire comme ça.

    [1] Dans la page "caller" qui va lancher la page de dialog dans un sub dit-on.
    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
    <script type="text/vbscript">
    sub call_dialog
        dim loc, opt, var, tableau, arg, ret
        loc="xyz.hta"
        opt="menubar=0,toolbar=0"    'etc etc...
     
        'voila les parametrès, dites, var et tableau, elles sont établies ici etc...
     
        arg=array(var, tableau)
        'sous la condition que le retour soit une variable simple
        ret=window.ShowModalDialog(loc, arg, opt)
     
        'faire d'autre choses après le retour
     
    end sub
    </script>
    [2] Dans la page de dialog, vous probablement trouvez quelque structure comme ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type="text/vbscript">
    sub loadpage
        dim wArgs, var, tableau
        wArgs=window.dialogArguments
        'vous pouvez verifier wArgs etant un array
        var=wArgs(0)
        set tableau=wArgs(1)
     
        'Faites ce qu'il faut faire avec ces paramètres ainsi passés
     
    end sub
    window.onload=getRef("loadpage")
    </script>
    Voilà.

  5. #5
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 386
    Par défaut
    C'est pas tout à fait ça; voila les 2 types de variable que je désire passer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dim fichiers,arg
    arg="xxxxx"      ' valeur saisie
    fichiers =array("contact_noms",       _
                    "contact_telephones", _
                    "contact_adresses")

  6. #6
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    C'est pas tout à fait ça; voila les 2 types de variable que je désire passer:

    Code :Sélectionner tout - Visualiser dans une fenêtre à part12345
    dim fichiers,arg
    arg="xxxxx" ' valeur saisie
    fichiers =array("contact_noms", _
    "contact_telephones", _
    "contact_adresses")
    Alors, c'est pas plus simple?

    [1.1] Je réfère ce que j'ai posté (on emploie le même nom de variable arg mais pour different sens, attention!)
    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
    <script type="text/vbscript">
    sub call_dialog
        dim loc, opt, arg, ret, varArgIn
        loc="xyz.hta"
        opt="menubar=0,toolbar=0"    'etc etc...
        'voila les parametrès
        arg="xxxxx"      ' valeur saisie
        fichiers =array("contact_noms",       _
                    "contact_telephones", _
                    "contact_adresses")
        varArgIn=array(arg, fichiers)
        'sous la condition que le retour soit une variable simple
        ret=window.ShowModalDialog(loc, varArgIn, opt)
     
        'faire d'autre choses après le retour
     
    end sub
    </script>
    [1.2]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script type="text/vbscript">
    sub loadpage
        dim wArgs, arg, fichiers
        wArgs=window.dialogArguments
        'vous pouvez verifier wArgs etant un array
        arg=wArgs(0)
        fichiers=wArgs(1)
        'msgbox ubound(fichiers)    'vous allez voir il y a 3 entrées dedans
     
        'Faites ce qu'il faut faire avec ces paramètres ainsi passés
     
    end sub
    window.onload=getRef("loadpage")
    </script>

  7. #7
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 386
    Par défaut
    Merci, c'était relativement simple; mais je n'y avait pas pensé.

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

Discussions similaires

  1. Passer plusieurs paramètres dans un window Open
    Par arngrimur dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/01/2012, 15h57
  2. Réponses: 2
    Dernier message: 22/10/2009, 09h22
  3. Réponses: 5
    Dernier message: 03/07/2007, 10h31
  4. Passer plusieurs paramètres dans un callback (débutant!)
    Par pilouface dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 07/02/2007, 20h42
  5. Réponses: 2
    Dernier message: 12/09/2005, 15h33

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