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

VB.NET Discussion :

Comment adapter un batch à VB ?


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Comment adapter un batch à VB ?
    Bonjour
    J'ai fait un batch qui fonctionne
    il exécute 3 petites fonctions différentes selon le choix de l'utilisateur au lancement du programme.
    le choix se fait sur la console DOS, mais j'aimerais que ce choix soit plus présentable avec une "fenêtre" créée et gérée par VB.
    ça donnerait ce qu'on voit sur ce croquis.
    Sauf que je n'y connais rien de rien en VB.
    est-ce que quelqu'un peut m'aider à réaliser ce code en m’expliquant comment faire ?
    Merci
    Roon'
    le batch (simplifié et résumé)
    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
    @echo off
    set chx=
    set /p chx=
    GOTO %chx%
    exit
    :1
    echo vous avez choisi %chx%
    pause
    exit
    :2
    echo vous avez choisi %chx%
    pause
    exit
    :3
    echo vous avez choisi %chx%
    pause
    exit
    :4
    exit
    la présentation du choix avec VB:
    Nom : choix-.jpg
Affichages : 228
Taille : 13,9 Ko

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je te dirais que le mieux pour apprendre c'est de commencer par là:

    Sinon, pour tes boutons radio, il y a cet exemple:

    https://code.msdn.microsoft.com/VBWi...ttons-d37f9934

    que tu pourras facilement adapter pour afficher ton message.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    Bonjour
    Merci beaucoup pour ta réponse

    je vais me rendre sur le lien et essayer les boutons.
    Je reviendrai ici pour donner le résultat ou poser d'autres questions si besoin.

    a+
    Roon'

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    Bonjour

    Comme promis, je reviens donner quelques infos sur l'avancement de mon projet
    voilà une copie d'écran ce que j'obtiens avec "Form", 3 checkbox et un "bouton"
    Dans un premier temps, il me faut régler le problème suivant :
    quand le programme est lancé, je peux sélectionner chacune des 3 checkbox.
    MAIS ce n'est pas bon: je ne dois pouvoir en sélectionner qu'une sur 3.
    en sélectionnant une autre checkbox, ça doit désélectionner la précédente.
    Là, y sûrement du code à écrire.
    La question, c'est quoi écrire et où ?

    Merci de me donner des pistes.

    a+
    R'
    Nom : choix.jpg
Affichages : 128
Taille : 8,7 Ko

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Si tu utilises des RadioButtons au lieu des commandbuttons, la sélection de un, annule la sélection de l'autre, pourvu qu'il soient regroupés dans le même contrôle. Si tu les mets directement sur ta form, cela concernera tous les radiobuttons libres de la Form. Si tu les mets sur un panel (mais cela peut être autre chose), seuls les radiobuttons sur le même panel vont être affectés de l'un à l'autre.

    Ceci dit, si tu n'utilises pas de Radiobuttons tu dois programmer toi-même les changements d'états, comme pour des checkboxes que tu pas avoir besoin de garder cochés en même temps.

    Disons que tu as des checkboxes conventionnels.

    Tu fais un double-clic sur le premier checkbox. En principe tu devrais arriver sur une procédure d'événement vide du genre

    Private Sub CommandButton1.click et une série d'autres cossins


    End sub

    Dans le "trou", cela va te prendre quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    checkbox1.checked = true
    checkbox2.checked = false
    checkbox3.checked = false
    Et tu refais la même chose pour les autres checkboxes en t'assurant que le true soit sur le bon checkbox...

    Mais, tu gagnerais un temps précieux en téléchargeant et en lisant le document de Philippe Lasseyre. Même si cela peut sembler être une perte de temps au départ.
    Une bonne place où aller


    Ajout subséquent : Exemple vite fait
    Fichiers attachés Fichiers attachés
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    Bonjour

    Merci Clement

    J'ai téléchargé win*app*3.zip
    Je suis allé sur la page de Lasseyre..là, c'est pas évident de trouver le fichier concerné...mais bon, je vais de toute façon en télécharger le maximum...(ça coute rien de s'instruire)
    Je vais aussi changer poru des Radiobuttons.
    Malheureusement, je ne pourrai mettre en œuvre tout ça que ce soir, tard.
    Quoiqu'il en soit, je reviendrai donner des infos dès que j'en ai.

    Encore merci

    a+
    R'

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    Bonjour

    L'idée de mettre des Radiobuttons est nettement plus appropriée que celle des chckbox
    Merci Clément

    J'ai essayé des copié collé à partir des exemples donnés au message #5.
    Mais en fait, c'est comme écrire le code directement : si on se trompe d'1 seul caractère, rien ne marche.
    encore pire si on met du code sans comprendre pourquoi.

    Mais j'ai tenté de relier cette Form et ses boutons à mon .bat cité au 1er message, je ne vois pas du tout la solution.
    en cliquant 2 fois sur le bouton par exemple...
    (je montre même pas ici la "prose" que j'ai mis en guise de code ...la-men-ta-ble !)

    à chaque bouton il y a une variable qui devrait correspondre à %chx% de mon .bat
    Là, je ne sais écrire cette "Sainte Axe" ni où, sous VB
    De plus, il y a maintenant l'élément " bouton "Ok" " qui lui devrait lancer la suite du .bat. "débloquer" le goto %chx%, en quelque sorte.
    Je viens de réaliser que, aussi, à la fin du .bat, le programme VB doit se fermer...

    A+
    Roon'

    Nom : choix2.jpg
Affichages : 122
Taille : 7,9 Ko

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    C'est très étrange.

    J'ai enlevé tous les "radiobouttons" et le "boutton "ok"".
    Il ne reste que le rectangle gris "form"
    MAIS dans le code, il y a toutes les lignes des radioboutons et le reste, comme si je n 'avais rien enlevé du tout

    Qu'est-ce qu'il se passe-t-il ?
    J'aurais oublié encore kekchose ?

    A+
    Roon'

  9. #9
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par rooney06 Voir le message
    MAIS dans le code, il y a toutes les lignes des radioboutons et le reste, comme si je n 'avais rien enlevé du tout

    Qu'est-ce qu'il se passe-t-il ?
    J'aurais oublié encore kekchose ?
    C'est normal !

    Un formulaire est composé de deux parties : un designer (généré automatiquement) et un fichier de code. Lorsque tu manipules des composants dans le designer, seul le fichier designer est modifié. En revanche, le code du .vb n'est pas modifié (à l'exception du retrait des "Handles monControle.Evenement" qui suivaient les déclaration des méthodes. Ce code restant ne sera donc jamais appelé.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    Bonjour Zenzitone

    ça alors!
    C'est très grave pour les débutants ce genre de chose.
    Perso, je compte que VB me crée du code à partir du "designer" mais s'il ne synchronise pas le fichier code alors comment je devine ce que moi je dois enlever à la main ?
    C'est possible pour un surdoué du VB mais pour un débutant, c'est quasiment impossible.

    C'est pour cela qu'au début de mes essais je me suis retrouvé avec 2 boutons et 15km de lignes de code !!!!
    tous mes essais sont restés inscrit dans le code alors que j'avais viré/remis/reviré/... quasiment tous les boutons

    ça va être le souk quand je vais procéder par tâtonnement les subtilités de mon vrai programme !
    déjà là, avec un essai de base, je ne repère même pas les lignes à enlever,....et il n'y en a qu'une 20taines !

    Je dois avoué que cette info m'a vraiment découragé.

    a+
    Roon'

  11. #11
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Oui, mais ce n'est pas pour rien que l'on recommande à tous les débutants en VB.net de lire le document de Philippe Lasseyre. Il commence à la base. Même que les membres peuvent le télécharger avec un choix de formats...

    Désolé pour la comparaison, mais là tu veux suivre des cours de natation par correspondance.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  12. #12
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Désolé pour la comparaison, mais là tu veux suivre des cours de natation par correspondance.
    Dans cette continuité je rajouterais qu il nage grave....

    Trève de plaisanterie, nombres d entres nous avons commencés par le tuto de Philippe Lasserre.

    Bonne lecture et bonne continuation.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    MDR !
    Ah oui, bon alors, je rame ou je nage ?
    quoiqu'il en soit, je coule !
    Alors voguons directement vers la prose de Philippe Lasserre.
    Promis, je chausse mes lunettes et je vais lire du mieux que je pourrai le comprendre.

    Merci pour vos conseils.
    a+
    Roon'

  14. #14
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par wallace1 Voir le message
    Trève de plaisanterie, nombres d entres nous avons commencés par le tuto de Philippe Lasserre.
    D'autant plus que j'ai dû faire des choses pour contenter VB 2015 Update 3 même. (Parce qu'avant ce n'était pas comme cela.)

    C'est rendu qu'il a une grosse peine quand on n'utilise pas NameOf (importé de C#, apparemment), pour désigner les noms des contrôles. Heureusement que c'est juste un warning pour l'instant.
    Et puis, quand on clique sur un checkbox, il devient "officiellement" True en vitesse. Avant, c'était somme toute moins évident...
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    (Parce qu'avant ce n'était pas comme cela.)
    C'est bien ce que je pensais, mais j'osais pas le dire.
    Il y a longtemps, j'avais fait un programme qui affichait des images, les listait, les agrandissait...
    Je ne me souviens pas qu'il fallait effacer soi-même la page de code quand on modifiait la page design.

    J'ai mis "débutant" en flag, parce que cette programmation remonte à trop longtemps et j'ai la mémoire qui flanche.
    Mais je ne me doutais pas que de telles "améliorations" rendraient mes bases encore plus caduques.

    Non, mais là, franchement, ce problème de synchronisation entre la page design et la page de code, c'est loin d'être une amélioration.
    c'est limite un monstrueux bug !
    a+
    Roon'

  16. #16
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par rooney06 Voir le message
    Non, mais là, franchement, ce problème de synchronisation entre la page design et la page de code, c'est loin d'être une amélioration.
    c'est limite un monstrueux bug !
    Oula, non ! Je ne sais pas comment ça fonctionnait avant, mais là c'est somme tout logique si on comprend bien le rôle de chacun des fichier et la façon dont ils sont alimentés. Quand tu double-click sur un bouton pour générer la méthode associée au click tu obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub MonBouton_OnClick(sender as Object, e as EventHandler) Handles MonBouton.Click
     
    End Sub
    En soit, il créé juste une méthode, à laquelle il associe un événement du contrôle "MonBouton". Si tu supprimes le bouton "MonBouton" de ton IHM, seule l'association à la méthode est supprimée. Tu obtiendras alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub MonBouton_OnClick(sender as Object, e as EventHandler)<s> Handles MonBouton.Click</s>
     
    End Sub
    Et ce parce qu'il n'est pas possible pour Visual Studio de déterminer si cette méthode à été générée automatiquement ou si tu as fais l'association manuellement.

  17. #17
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    (Parce qu'avant ce n'était pas comme cela.)
    SVP, ne me faites pas (trop) dire ce que je n'ai pas dit.

    C'est vrai, qu'au cours de différentes évolutions de VB, Microsoft a un jour séparé le desinger et le code. Je rencontre encore de vieux fichiers d'exemple où le code et le desinger sont ensemble.

    Mais, j'en était plus à l'insistance de VB (VS peut-être) 2015 Update 3 d'insister sur l'utilisation de certains mots-clefs. Mais là cela reste difficile à dire si le mot-clef en question vient juste d'être implanté ou si c'est juste une amélioration au débogueur.

    Mais comme je peux me cantonner aux éditions Express et/ou Community qui sont gratuites, je fais les transitions probablement plus rapidement que ceux qui doivent payer pour avoir ce qui n'est pas inclus dans les éditions gratuites. Et j'ai vu au cours des années des programmes plus anciens et des habitudes bien ancrées provenant du BASIC sur MS-DOS devoir être modifiées. Une chose pleine de bon sens qui me tapait royalement sur les nerfs était la modification du traitement des variables publiques et ce n'était pas à cause de Option Strict.

    Au début on pouvait avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class ClasseN01
        Public Hector
            sub a
                Hector = 9
                etc
            end sub
    end class
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class Classeno2
          sub b()
             Hector = 36
          end sub
    End class
    Pui, tout d'un coup, il m'a obligé à faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class Classeno2
        sub b()
              Dim Hector as Classeno1.hector
              Hector = 36
        end sub
    End class
    Mais, en toute logique, cela permet quand même, même si ce n'est pas à 100%, d'éviter, des fois, une modification imprévue de la valeur d'une variable publique par une variable locale du même nom. Et puis, comme la même "exigence" s'applique aux DataSets et aux DataTables, ce n'est pas fout pantoute.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  18. #18
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Mais, en toute logique, cela permet quand même, même si ce n'est pas à 100%, d'éviter, des fois, une modification imprévue de la valeur d'une variable publique par une variable locale du même nom.
    Ou si tu modifies un code écrit par un tiers

Discussions similaires

  1. Réponses: 14
    Dernier message: 24/11/2023, 20h24
  2. comment appeler un batch dans autoexec.bat ?
    Par hoaxpunk dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 11/05/2006, 17h26
  3. [Débutant] Comment adapter la taille d'une image ?
    Par taupeniveau dans le forum Composants VCL
    Réponses: 3
    Dernier message: 14/02/2006, 18h00
  4. Réponses: 1
    Dernier message: 08/12/2005, 10h14
  5. [OpenGL] comment adapter a CB
    Par netah25 dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/06/2004, 13h42

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