KcHeY
Messages postés261Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention22 septembre 2012
-
13 sept. 2011 à 20:58
NHenry
Messages postés15066Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 mai 2023
-
14 sept. 2011 à 12:40
Bonsoir,
Je ne suis pas programmeur mais plutôt bidouilleur sur vb.net
Je créé des petits programme pour mes besoins et parfois par plaisir.
En ce moment j'essai de créer un prog des gestion de client.
Donc j'ai une forme sur laquelle j'ai inséré une listbox et un textbox.
Dans ma listbox sont affiché la liste des fichiers contenu dans un dossier.
Je souhaiterai que le fichier .txt que je selectionne dans la listbox s'affiche (ou même se copie dans le textbox, ce qui me faciliterai la mise a jour)
Après de multitudes de recherche/test je ne parvient pas à obtenir ce que je veux.
J'arrive seulement a retourner avec selecteditem mais ça me réécris le nom du fichier.
Je me tourne donc vers vous.
Voici un screen pour que vous compreniez mieux :
et voici le code... (récupéré ici dans la plupart des cas, je vous en remercie)
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Dossier As String = "Clients"
Dim sDossier() As String = System.IO.Directory.GetFiles(Dossier)
Dim Nfichier As String
Me.ListBox1.Items.Clear()
For Each Nfichier In sDossier
Me.ListBox1.Items. _
Add(Microsoft.VisualBasic.Right(Nfichier, (Len(Nfichier) - Len(Dossier))))
ListBox1.SelectedItem = TextBox1.Text
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = ListBox1.SelectedItem
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
End Class
NHenry
Messages postés15066Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 mai 2023158 14 sept. 2011 à 09:24
Bonjour,
Ce n'est pas compliqué, c'est juste une bonne habitude à prendre.
Tes programmes seront plus clairs et seront plus facile à lire et debugger.
Utiliser les fonctions intégrées au framework et axées .NET te permettront de simplifier grandement ton code.
Quelle ligne est la plus claire :
Me.ListBox1.Items.Add(Microsoft.VisualBasic.Right(Nfichier, (Len(Nfichier) - Len(Dossier))))
ou
Me.ListBox1.Items.Add(IO.Path.GetFileName(Nfichier))
?
NHenry
Messages postés15066Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 mai 2023158 14 sept. 2011 à 10:12
Bonjour,
Dim lLines as List(Of String)=New List(Of String)
lLines.Add(Now())
lLines.Add(TextBox1.Text)
lLines.Add(TextBox2.Text)
Dim lFileName as String=Application.StartupPath() 'Chemin de l'executable
lFileName=Io.Path.Combine(lFileName,"Clients") 'Sous dossier
lFileName=Io.Path.Combine(lFileName,Textbox1.text+".Txt") 'Fichier
Io.File.WriteAllLines(lFileName,lLines)
J'ai retiré le Try Catch, mais il serait à mettre sur le Io.File.WriteAllLines.
Penses aussi à nommer tes contrôles de manière cohérente, TextBox1 parle moins que TxtPrenom par exemple.
Contrôles aussi la saisie, car si TextBox1 Contient des * et autres caractères interdits, ça posera problème.
La ligne :
TargetFile.WriteLine(Now())
Me laisse penser que tu n'as pas activer Option Strict, ce serait une bonne habitude à prendre que de l'activer, ça t'éviteras pas mal de problèmes d'exécution.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018219 13 sept. 2011 à 21:38
Bonjour,
euh ... je crois (mais je suis peut-être fatigué) que ce qu'il veut mettre dans la textbox n'est pas le nom du fichier, mais ... son contenu .
Va falloir l'ouvrir (open ?), le lire d'un seul tenant (stream) et l'écrire dans la textbox
Cela ne devrait représenter aucun problème sous VB.Net (pas plus que sous VB6).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018219 13 sept. 2011 à 21:38
Ah ! croisés
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
KcHeY
Messages postés261Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention22 septembre 2012 13 sept. 2011 à 21:45
Merci pour vos réponses,
Justement comment dire au programme qu'il ouvre le fichier associé au nom séléctionné dans un textbox depuis la listbox.
Je ne peux pas faire :
TextBox1.Text = New IO.StreamReader("monfichier.txt").ReadToEnd
Car je n'ai pas acces au nom des fichiers depuis l'éditeur.
Oulala dur dur.
Vous me comprenez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018219 13 sept. 2011 à 21:54
et de ListBox1.SelectedItem
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018219 13 sept. 2011 à 21:55
encore croisés
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018219 13 sept. 2011 à 21:57
poas de quoi.
Mais que la fatigue ne te fasse pas oublier le ""
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---