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

Oreilledelest -  
 oreilledelest -
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 3742 Statut Membre 1 011
 
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
 
Merci bien!
Je teste ça.
0
oreilledelest
 
ça fonctionne!

Merci!
0
Kalissi Messages postés 221 Statut Membre 20
 
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 3742 Statut Membre 1 011
 
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 221 Statut Membre 20
 
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