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 :

Checkbox application HTA


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 4
    Par défaut Checkbox application HTA
    Bonsoirs/ bonjours a tous

    J'ai besoin de faire une application hta avec une liste ou j'aurais plusieurs choix avec la possibilité de cocher plusieurs case jusqu'ici pas de problème, le truc qui me pose problème est que une fois les case cocher comment faire pour enregistrer les choix et que a chaque ouverture de l'application que mais choix s'affiche telle que j'ai enregistrer et on ma dit qu'on pouvais faire sa en vbs mais malheureusement je connais pas du tout se langage y'aurais quelqu'un qui serais capable de m’expliquer comment faire ? ^^


    voila se que j'ai mais pour la partie vbs j'y connais rien :/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <BR>Les Choix : <BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix1">Choix 1<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix2">Choix 2<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix3">Choix 3<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix4">Choix 4<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix5">Choix 5<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix6">Choix 6<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix7">Choix 7<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix8">Choix 8<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix9">Choix 9<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix10">Choix 10<BR>

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Bonjour et Bienvenu sur DVP;

    Tu as au moins deux possibilités :
    Puisque les contrôles CheckBox portent tous le même nom, c'est d'un groupe de contrôles qu'on parle indexés à partir de 0.

    La 1ère est de créer une entrée dans la base du registre pour chaque case à cocher(CheckBox) en lui affectant soit la valeur 0 soit la valeur 1 selon le cas.(mais déconseillée pour quelqu'un qui ne sait pas manipuler le registre)

    La 2ème est de créer un fichier de configuration (un fichier .ini par exemple) et d'y inscrire les valeurs des différents CheckBox(0 ou 1).

    Dans un cas comme dans l'autre, juste au lancement du fichier hta, tu lis les différentes valeurs (dans Sub Window_OnLoad ou une procédure Sub lancée à partir de celle-là) que tu affectes à chaque contrôle selon son état dans le fichier ou le registre.
    A la fermeture, tu dois veiller à enregistrer les nouvelles valeurs le cas échéant.

    Tu trouveras un exemple à cette ADRESSE
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut
    Bienvenue zilfou
    Si tu es un grand débutant, pour illustrer les informations déjà passées par l_autodidacte
    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
    <HTML>
    	<HEAD>
    		<Title> Demo choix </Title>
    		<HTA:APPLICATION 
    			APPLICATIONNAME="MemoChoix" 
    			ID = "MemoChoix"
    		>
    	</HEAD>
    	<SCRIPT language="VBScript" type="text/vbscript">
    	'************************************************************************************
    	'Déclarations utilisables dans toute la partie VBScript
    		Dim FSO, DossierRacineDuProg, LeFichier, PourTbl, T
    	'----------------------------------------------------------------------------------------------------------------------
    	Sub Window_Onload()
    		Dim ChemNomComplet
    		ChemNomComplet = MemoChoix.CommandLine ' ChemNomComplet = Id du programme.CommandLine
    		DossierRacineDuProg = Left(ChemNomComplet, (InStrRev(ChemNomComplet, "\", -1, vbTextCompare)))
    		DossierRacineDuProg = Replace(DossierRacineDuProg,Chr(34),"")
    		'récupération de l'état des checkbox de la dernière session
    		Set FSO = CreateObject("Scripting.FileSystemObject")
    		Set LeFichier = FSO.OpenTextFile(DossierRacineDuProg & "Params.txt",1)
    		PourTbl = Split(LeFichier.ReadAll,","): LeFichier.Close
    		Set FSO = Nothing: Set LeFichier = Nothing
    		'met à jour les checkbox
    		For T = 0 To Ubound(PourTbl): chkChoix(T).CHECKED = PourTbl(T): Next
    	End Sub                                                                                                                                                                                                                                                                                                                                                                                          
    	'----------------------------------------------------------------------------------------------------------------------
    	Sub Window_onUnLoad()
    		'actualise le tableau d'etat des checkbox
    		For T = 0 To Ubound(PourTbl): PourTbl(T) = ABS(Cint(chkChoix(T).CHECKED)): Next
    		'Mémorise en réécrivant le fichier
    		Set FSO = CreateObject("Scripting.FileSystemObject")
    		Set LeFichier = FSO.OpenTextFile(DossierRacineDuProg & "Params.txt",2, True)
    		LeFichier.Write join(PourTbl,","): LeFichier.Close
    		Set FSO = Nothing: Set LeFichier = Nothing: Set PourTbl = Nothing
    	End Sub
    	'************************************************************************************
    	</SCRIPT>
    	<BODY>
    		<BR> Les Choix : <BR>
    		<INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix1">Choix 1<BR>
    		<INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix2">Choix 2<BR>
    		<INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix3">Choix 3<BR>
    		<INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix4">Choix 4<BR>
    		<INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix5">Choix 5<BR>
    		<INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix6">Choix 6<BR>
    		<INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix7">Choix 7<BR>
    		<INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix8">Choix 8<BR>
    		<INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix9">Choix 9<BR>
    		<INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix10">Choix 10
    	</BODY>
    </HTML>
    Il te faux créer un fichier nommé "Params.txt" dans le même dossier que la sauvegarde du code, il doit contenir une seule ligne
    1,1,1,1,1,0,0,0,0,0
    Ici les 5 premiers checkbox sont cochés.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 4
    Par défaut
    Merci beaucoup ProgElecT sa fonctionne parfaitement, par contre j'ai un autre petit soucie si je veux ajouter d'autre choix a la liste comment je fais parce que sa enregistre seulement les 10 premier choix et derniere chose comment ajouter d'autre liste supplémentaire ? ^^

  5. #5
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Le principe est le même, ne te soucies pas du nombre de CheckBox. Le code les prends en charge. Il suffit d'ajouter dans la dernière partie autant que tu veux de ces contrôles. Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix11">Choix 11<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix12">Choix 12<BR>
    <INPUT TYPE="checkbox" NAME="chkChoix" VALUE="Choix13">Choix 13<BR>
    '.......................
    '.......................
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 4
    Par défaut
    Ses se que j'ai fais mais sa veux pas enregistrer après les 10 premier

    Edit : enfaite fallait ajouter les chiffres manuellement au fichier params, sa fonctionne maintenant merci pour votre aide rapide sa fonctionne parfaitement comme je le voulais merci encore

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

Discussions similaires

  1. Redirection HTA (HTML Application)
    Par winflow dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 29/11/2014, 11h25
  2. Réponses: 16
    Dernier message: 26/08/2014, 18h59
  3. checkbox - hta
    Par ml71200 dans le forum VBScript
    Réponses: 10
    Dernier message: 08/02/2013, 18h55

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