Bonjour à tous,
Je fais un petit programme en vb.net pour un login script.
Le programme lit un fichier texte et l’affiche dans une textbox
(exemple : Bienvenue dans le domaine “test.ch”)
J’aimerais pouvoir mettre le fichier text qui doit etre lu en paramètre avec la ligne de commande.
exemple sur ms-dos : notepad.exe toto.txt
comment faire ? 
démarrer->executer->cmd
sinon avec studio (si tu programme avec studio) dans les proprietes de ton projet du peux donner des arguments à la ligne de commande.
Euh je pense pas qu’il soit idiot à ce point, il parle de vb .net donc de programmation 
La réponse se trouve ici.
Faut dire c’était pas clair son post, pour moi il dev un programme qui lit un fichier texte passé en argument :neutre:
Dans ce cas:
Public Function Main(ByVal CmdArgs() As String)
CmdArgs contient les arguments passés au programme…
Merci KarLKoX c’était donc ça:
'Arguments de ligne de commande
Console.WriteLine("Arguments de ligne de commande")
Dim i As Integer
Dim args As String() = Environment.GetCommandLineArgs()
Dim j As Integer = args.Length
For i = 0 To j - 1
Console.WriteLine("Args({0}) = {1}", i, args(i))
Next
Je connaissais cette FAQ mais j’ai pas eu le courage de la parcourir en entier pour trouver ce dont j’avais besoin , merci encore
juste dans ce cas précis c’est censé écrire dans la console et non pas lire l’argument (fichier txt) que je veux récupéré…
et même le Console.Writeline , n’a pas l’air de fonctionner , aurais-je oublié qqch??
Console.Write("Hola ")
Console.WriteLine("What is your name: ")
Dim name As String = Console.ReadLine()
Console.Write(name)
Console.WriteLine("!")
ca n’ecrit rien dans la console 
ajoute ça dans ton formulaire:
Public Class Form1
Public Mon_Fichier as String
'[...]
Public Shared Sub Main(ByVal CmdArgs() As String)
If CmdArgs.Length > 0 Then
'récupere le premier arguement
form1.Mon_Fichier = CmdArgs(0)
End If
Application.Run(frm_form1)
End Sub
'[...]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Mon_FIchier <> "" then
Msgbox (Mon_Fichier)
End if
'[...]
End Sub
Et dans les propriétés de ton projet indique l’Objet de démarage sur “Sub Main”
ca marche pas, c’est bizarre
, je vous montre mon code , j’ai surement du faire qqch de faux…
Imports System.IO
Imports System.IO.Stream
Imports System.Console
Imports System.Environment
Public Class frm_login
Public Mon_Fichier As String
'[...]
Public Shared Sub Main(ByVal CmdArgs() As String)
If CmdArgs.Length > 0 Then
'récupere le premier arguement
frm_login.Mon_Fichier = CmdArgs(0)
End If
Application.Run(frm_login)
End Sub
'[...]
Private Sub frm_login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
FichierTexte("toto.txt")
End Sub
Sub FichierTexte(ByVal toto As String)
Dim sr As StreamReader
Dim sw As StreamWriter
Dim sLine As String
Try
If Not File.Exists(toto) Then
'Le fichier n'existe pas. On le crée
sw = New StreamWriter(toto)
sw.WriteLine("Bonjour. Nous sommes le {0} et il est {1} ", _
DateTime.Now.ToLongDateString, _
DateTime.Now.ToLongTimeString)
sw.Close()
sw = Nothing
'Remarque : On peut utiliser sw = File.AppendText(NomFichier) pour ajouter
'du texte à un fichier existant
End If
'Ouverture du fichier et Ecriture du contenu du fichier sur la console
sr = New StreamReader(toto)
Console.WriteLine("Debut du fichier")
sLine = sr.ReadLine()
While Not sLine Is Nothing
Console.WriteLine(sLine)
txtbox.Text = sLine
sLine = sr.ReadLine()
End While
Console.WriteLine("Fin du fichier")
' Let the user know what went wrong.
Finally
'Fermeture streamreader
If Not IsNothing(sr) Then sr.Close()
'Fermeture streamwriter
If Not IsNothing(sw) Then sw.Close()
End Try
End Sub
End Class
si tu utilise pas l’argument c’est normal:
FichierTexte(Mon_Fichier)
c’est à dire que maintenant si tu lance ton programme comme ça:
Mon_Prog.exe C:\prout.txt
Mon_Fichier contiendra ça: C:\prout.txt
C’est bon ca marche tout bien , merci beaucoup à vous tous!