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 :

Créer une application VB.net que l'on peut lancer avec un fichier batch en transmettant des paramètre. [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 73
    Par défaut Créer une application VB.net que l'on peut lancer avec un fichier batch en transmettant des paramètre.
    Bonjour,

    Merci d'avance pour votre aide. Je n'arrive pas à trouver sur le net. J'ai toujours l'inverse ->lancer une application à partir de VB.NET.

    Mon but est de créer une application effectuant certaines actions sur des répertoires. Je voudrais l'automatiser -> la lancer en la rajoutant à une tâche planifiée et en passant en paramètres les chemins des répertoires.

    Il faut donc que mon application VB.NET puisse recevoir des paramètre à partir d'une ligne de commande (fichier batch).

    Est-ce possible ? Et si oui, avez-vous une idée sur comment réaliser cela ?

    Cordialement.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    il faut démarrer le programme par une méthode main(params() as string) (idéalement une application console)
    après tu peux évaluer params
    https://docs.microsoft.com/en-us/dot...line-arguments

    tu peux aussi utiliser fournir un code de retour à la fin de l'exécution, et le .bat ou autre doivent pouvoir le récupérer ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 73
    Par défaut
    Bonjour,

    Merci pour la réponse.

    Je viens d'essayer mais j'ai un problème.

    Dans une application console, 1 seul module.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Sub Main(Optional Message As String = "pas de message")
         MsgBox(Message)
    End Sub
    Lors de la compilation, j'ai l'erreur suivante:
    BC 30737 Aucune méthode 'main' accessible avec une méthode appropriée n'a été trouvée dans "Module1"
    L'aide précise qu'il faut déclarer la procédure comme publique ce qui est bien le cas. Par contre si l'on ne déclare pas d'argument la compilation passe correctement.

    Avez-vous une idée ? C'est certainement simple. Mais, je ne maîtrise pas.

    Cordialement

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    oui
    j'ai dit main (params() as string) et pas main (optional message as string = "osef")c'est une convention, si tu ne la suit pas visual studio râle
    d'ailleurs je crois que le nom c'est plsu args ou cmdargs que params, mais je ne pense pas qu'un autre nom l'embête, c'est surtout le type qui me semble important

    params() est un tableau de string, donc avec un peu de chance il découpe sur espace ou - ou / ... à toi de tester
    dans le lien que je t'ai donnée ils testent même si le tableau est vide ce qui signifie qu'aucun paramètre n'a été fourni ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 73
    Par défaut
    Bonjour et merci encore du temps passé.

    Effectivement, je n'avait pas compris que 'params' était un mot réservé.

    Effectivement maintenant le compilateur ne fait plus d'erreur. Le reste doit fonctionner. Je le testerais directement dans mon programme.

    Bonne journée et bon confinement.

  6. #6
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    C'est à toutes fins utiles que je t’envoie cet extrait de cours sur la question : ArgumentsAppel.pdf.
    Tu y trouveras des exemples de codes pour l'usage d'un Main (comme te le propose Pol63) et aussi pour l'usage d'une application Windows sans Main.

    Bon amusement ...

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

Discussions similaires

  1. Créer une application vb.net avec un clavier logitech G13
    Par sihammaster dans le forum Développement Windows
    Réponses: 1
    Dernier message: 27/05/2016, 13h13
  2. Réponses: 9
    Dernier message: 17/02/2008, 12h14
  3. Réponses: 4
    Dernier message: 21/03/2007, 13h36
  4. [VS.Net] créer une application pour le mobile
    Par rudhf dans le forum Visual Studio
    Réponses: 4
    Dernier message: 20/05/2006, 13h25

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