none
Problème pour l'affichage d'un formulaire ou d'un autre en fonction d'un paramètre RRS feed

  • Question

  • Bonjour,

    Je démarre en VB2008. J'ai un tout petit programme avec 1 module contenant SUB MAIN, 2 écrans.

    Je dois afficher l'un ou l'autre des écrans depuis mon Main en fonction d'un paramètre.

    Voici mon code :

    Sub Main()
                select case my.Settings.Param
                     case "0" :
                              dim f1 as Form1
                              f1.show()
                     case "1" :
                              dim f2 as Form2
                              f2.show()
                 end select
    end sub   

    Chacun de mes écrans affiche une image sauvegardée par un bouton lequel referme ma fernêtre.

    jeudi 3 février 2011 11:15

Réponses

  • Bonjour Dchrist54,
    Le 03/02/2011 15:42, Dchrist54 a écrit :

    Merci mais a forciori j'ai trouvé en utilisant la commande IMPORTS SYSTEM.WINDOWS.FORMS

    Par contre, je n'arrive pas à lire des paramètres en entrée ( que des chaines de caractères ).

    Lorsque je passe en mode exe ,   my.Settings.Param est toujours vide.

    J'ai mis en portée utilisateur. RAS. J'ai changé en portée Appli. RAS.

    Que passa ????

    S'il s'agit de paramètres passée par la ligne commande :

    ' ------------------------------------------------------
       Public Sub Main()
            If My.Application.CommandLineArgs.Count > 0 Then
                Select Case My.Application.CommandLineArgs(0)
                    Case "0"
                        Dim f1 As New Form1
                        f1.Show()
                    Case "1"
                        Dim f2 As New Form2
                        f2.Show()
                    Case Else
                        MsgBox("Argument incorrect")
                End Select
            Else
                MsgBox("Pas d'argument de ligne de commande")
            End If
        End Sub
    ' ------------------------------------------------------

    Dans l'IDE on peut 'simuler' ces paramètres de ligne de commande dans :
       Projet -> Propriétés -> Onglet 'Déboguer' -> Options de démarrage -> Arguments de la ligne de commande



    Cordialement,

    Jacques.


    Cordialement, Jacques
    • Marqué comme réponse Alex Petrescu lundi 7 février 2011 14:10
    jeudi 3 février 2011 16:14
  • RESOLU !
    1
    • Marqué comme réponse Dchrist54 vendredi 11 février 2011 12:08
    vendredi 11 février 2011 12:08

Toutes les réponses

  • Bonjour,

    C'est quoi la question ? Qu'est-ce qui ne marche pas ?

    De ce que j'en vois du code, tu devrais peut-être initialiser tes Form avant de faire un show() :

     

    Dim f1 As New Form1()
    f1.show()
    
    Cordialement,

    Thomas


    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    jeudi 3 février 2011 13:22
  • Merci mais a forciori j'ai trouvé en utilisant la commande IMPORTS SYSTEM.WINDOWS.FORMS

    Par contre, je n'arrive pas à lire des paramètres en entrée ( que des chaines de caractères ).

    Lorsque je passe en mode exe ,   my.Settings.Param est toujours vide.

    J'ai mis en portée utilisateur. RAS. J'ai changé en portée Appli. RAS.

    Que passa ????

    jeudi 3 février 2011 14:42
  • Bonjour Dchrist54,
    Le 03/02/2011 15:42, Dchrist54 a écrit :

    Merci mais a forciori j'ai trouvé en utilisant la commande IMPORTS SYSTEM.WINDOWS.FORMS

    Par contre, je n'arrive pas à lire des paramètres en entrée ( que des chaines de caractères ).

    Lorsque je passe en mode exe ,   my.Settings.Param est toujours vide.

    J'ai mis en portée utilisateur. RAS. J'ai changé en portée Appli. RAS.

    Que passa ????

    S'il s'agit de paramètres passée par la ligne commande :

    ' ------------------------------------------------------
       Public Sub Main()
            If My.Application.CommandLineArgs.Count > 0 Then
                Select Case My.Application.CommandLineArgs(0)
                    Case "0"
                        Dim f1 As New Form1
                        f1.Show()
                    Case "1"
                        Dim f2 As New Form2
                        f2.Show()
                    Case Else
                        MsgBox("Argument incorrect")
                End Select
            Else
                MsgBox("Pas d'argument de ligne de commande")
            End If
        End Sub
    ' ------------------------------------------------------

    Dans l'IDE on peut 'simuler' ces paramètres de ligne de commande dans :
       Projet -> Propriétés -> Onglet 'Déboguer' -> Options de démarrage -> Arguments de la ligne de commande



    Cordialement,

    Jacques.


    Cordialement, Jacques
    • Marqué comme réponse Alex Petrescu lundi 7 février 2011 14:10
    jeudi 3 février 2011 16:14
  • Merci mais pas de reconnaissance de My.application.commandLineArg !

    J'ai bien défini l'espace de nom Microsoft.VisualBasic.MyServices mais .....

    Cdlmt,

    jeudi 3 février 2011 16:45
  • Le 03/02/2011 17:45, Dchrist54 a écrit :

    Merci mais pas de reconnaissance de My.application.commandLineArg !

    J'ai bien défini l'espace de nom Microsoft.VisualBasic.MyServices mais .....

    Cdlmt,

    My.Application.CommandLineArgs  --> Avec un 's' à la fin

    J'ai VS2010, mais d'après :
       <http://msdn.microsoft.com/fr-fr/library/z2d603cy(v=vs.80).aspx>

    ça existe depuis VS2005. Sinon tu peux regarder :

    <http://msdn.microsoft.com/fr-fr/library/system.environment.commandline(v=VS.90).aspx>



    Cordialement,

    Jacques.


    Cordialement, Jacques
    jeudi 3 février 2011 16:52
  • Merci, je regarde !

    Cdlmt,

    jeudi 3 février 2011 16:54
  • Bonjour,

     

    Pour débugger avec des arguments il faut aller voir dans  la propriété du projet , Déboguer , Options de démarrage et y ajouté ses arguments dans "Arguments de la ligne de commandes :"

    il ne faudra pas oublié de les retirés pour la distribution de l’exécutable ...

     

    A bientot


    Cordialement, Troxsa
    jeudi 3 février 2011 17:05
    Auteur de réponse
  • RESOLU !
    1
    • Marqué comme réponse Dchrist54 vendredi 11 février 2011 12:08
    vendredi 11 février 2011 12:08