Creer un exe qui prend des paramètres en entrée

Fermé
Oreilledelest - 23 oct. 2013 à 17:26
 oreilledelest - 24 oct. 2013 à 14:33
Bonjour

Tout est dans le titre...
J'ai créé un petit exe en .Net.
Cette appli .Net fait un screenshot et stocke un .gif.
J'ai une autre appli (en java) qui utilise ce .exe.
Le problème est que j'aimerai définir un nom bien précis pour ce .gif.
Je ne sais pas comment faire pour créer un exe en .Net qui prend un argument externe.

Si quelqu'un avait une petite idée...

Merci
A voir également:

4 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 24/10/2013 à 10:40
Bonjour,

Dans ton fichier Program.cs (ou .vb, ou autre...), ta méthode Main doit être définie de la façon suivante :
static void Main (string[] args)

Le string[] args est justement le tableau des arguments passés à l'appel de ton exécutable :

Si tu appelles tonProgramme.exe /var1 var2 --var3
Tout ce qui est placé après tonProgramme.exe, et séparés par des espaces, se retrouve dans le tableau.
Donc dans cet exemple, on trouve :
args[0] = "/var1"
args[1] = "var2"
args[2] = "--var3"

Donc, si tu mets un nom de fichier en argument, tu le retrouves dans args[0], et après tu en fais ce que tu veux.
Attention aux espaces néanmoins : si ton nom de fichier a des espaces, il faut bien l'entourer de guillemets, sinon tu en retrouveras une partie dans args[0], une autre dans args[1], etc.

Xavier
1
Oreilledelest
24 oct. 2013 à 13:57
Merci bien!
Je teste ça.
0
oreilledelest
24 oct. 2013 à 14:33
ça fonctionne!

Merci!
0
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
Modifié par Kalissi le 23/10/2013 à 18:49
Bonjour,

Tu n'as qu'a faire une surcharge de ton New avec un paramètre


#Region "--- Région Constructeurs ---"

''' <summary>
''' Constructeur pas défaur
''' </summary>
''' <remarks></remarks>
Public Sub New()

' Cet appel est requis par le Concepteur Windows Form.
InitializeComponent()

' Ajoutez une initialisation quelconque après l'appel InitializeComponent().

End Sub

''' <summary>
''' Surcharge du constructeur
''' </summary>
''' <param name="NomFichier"></param>
''' <remarks></remarks>
Public Sub New(ByVal NomFichier As String)

' Cet appel est requis par le Concepteur Windows Form.
InitializeComponent()


End Sub



À l"appel de ton .exe, tu auras 2 possibilités

appli

ou

appli(Image.gif)

K
-1
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 24/10/2013 à 10:42
Il ne parle pas de paramètre à l'appel d'une classe / d'une méthode, mais d'un exécutable.
0
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
24 oct. 2013 à 13:50
re :
Effectivement je me suis gouré !

J'ai du créer mon appli en bibliothèque de classe :

Public Class Form1

Private zArg As String = String.Empty

Public Sub New(ByVal pArg As String)

' Cet appel est requis par le Concepteur Windows Form.
InitializeComponent()

' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
tbx_Arg.Text = pArg

End Sub

Private Sub btnQuitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuitter.Click
Me.Close()
End Sub

End Class

et créer una autre appli qui appelait ma bibliothèque :

Imports TstPrm = TestParam.Form1

Public Class Form1

Private Sub btnQuitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuitter.Click
End
End Sub

Private Sub btnAppel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAppel.Click

Dim Lance As New TestParam.Form1("Kalissi")
Lance.ShowDialog()
Lance.Dispose()

End Sub

End Class

K
0