Rechercher des fichiers commençant par le même nom [Résolu]

erwan421 46 Messages postés mardi 2 juin 2009Date d'inscription 11 juin 2015 Dernière intervention - 27 nov. 2011 à 12:53 - Dernière réponse : cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention
- 30 nov. 2011 à 17:40
Bonjour tout le monde
Je tente actuellement de coder un programme en VB.net dans lequel on pourra gérer des notes/tâches.
Mon problème est que mon programme sauvegardera les notes/tâches dans des fichiers du style : "note001.txt, note002.txt,..." mais je ne sais pas comment détecter tous les fichiers commençant par "note" dans le même dossier...
(Si quelq'un saurait également comment faire pour récupérer des données dans un style INI, qu'il me le dise )

Merci d'avance,
mouâ
Afficher la suite 

19 réponses

Répondre au sujet
Utilisateur anonyme - 27 nov. 2011 à 13:35
+3
Utile
Salut,

Sinon tu peux faire comme ça:
Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ListeFichiers() As String
        ListeFichiers = Directory.GetFiles("C:\...\TonDossier")
        For Each NomFichier In ListeFichiers
            If NomFichier.Contains("note") Then ListBox1.Items.Add(NomFichier)
        Next
    End Sub
End Class



CF2i - Guadeloupe
Ingénierie Informatique
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Utilisateur anonyme
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 27 nov. 2011 à 13:47
+3
Utile
et pour être complet dans ma folie, ce serait d'aillerurs :
If NomFichier like "note###.txt" Then ListBox1.Items.Add(NomFichier)

mais je suis fou.


____________________
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ucfoutu
cgandco 219 Messages postés mercredi 26 octobre 2011Date d'inscription 22 juin 2017 Dernière intervention - 27 nov. 2011 à 13:23
0
Utile
Bonjour,

Pour le fichier ini vas voir ici

Bon dimanche



Faites simple, aussi simple que possible, mais pas simpliste.
A. Einstein.
Commenter la réponse de cgandco
cgandco 219 Messages postés mercredi 26 octobre 2011Date d'inscription 22 juin 2017 Dernière intervention - 27 nov. 2011 à 13:38
0
Utile
pour ce qui est des fichiers qui commence par "note"

tu vas voir ici(msdn).

Encore bon dimanche



Faites simple, aussi simple que possible, mais pas simpliste.
A. Einstein.
Commenter la réponse de cgandco
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 27 nov. 2011 à 13:45
0
Utile
Bonjour,

je ne sais pas pourquoi je préfèrerais, dans un tel cas, utiliser l'opérateur Like
If NomFichier like "note###" Then ListBox1.Items.Add(NomFichier)

ou alors, j'ai lu incomplètement...

____________________
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
Commenter la réponse de ucfoutu
Utilisateur anonyme - 27 nov. 2011 à 13:49
0
Utile
Salut Uc,

Non, t'as tout à fait raison, puisque il dit "les noms fichiers qui commencent par".

C'est moi qui viens de me réveiller il est 8h48 chez moi...


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
erwan421 46 Messages postés mardi 2 juin 2009Date d'inscription 11 juin 2015 Dernière intervention - 30 nov. 2011 à 07:28
0
Utile
Merci pour toutes vos réponses :)
Si quelqu'un voudra mon programme le MP ça existe

mouâ
Commenter la réponse de erwan421
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 30 nov. 2011 à 08:33
0
Utile
Bonjour

je reprends la solution de acive au lieu de contains plutot startwith

Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ListeFichiers() As String
        ListeFichiers = Directory.GetFiles("C:\...\TonDossier")
        For Each NomFichier In ListeFichiers
            If NomFichier.StartsWith("note") Then ListBox1.Items.Add(NomFichier)
        Next
    End Sub
End Class
Commenter la réponse de cs_ShayW
erwan421 46 Messages postés mardi 2 juin 2009Date d'inscription 11 juin 2015 Dernière intervention - 30 nov. 2011 à 12:43
0
Utile
Sauf que mon fichier sera soit XML soit INI soit TXT donc si le nom de fichier contient l'extension alors il me faut faire encoure plus de code :
If NomFichier.StartsWith("note") And NomFichier.EndsWith(".txt") Then ListBox1.Items.add(NomFichier)

Alors qu'avec Contains ou Like, je perds moins de temps.
Commenter la réponse de erwan421
Utilisateur anonyme - 30 nov. 2011 à 12:54
0
Utile
Oui tu as trois façons d'y arriver, maintenant tout dépend de ce que tu as réellement besoin.

Cordialement

CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 30 nov. 2011 à 13:32
0
Utile
Sauf que mon fichier sera soit XML soit INI soit TXT donc si le nom de fichier contient l'extension alors il me faut faire encoure plus de code :


selon ton poste original
mais je ne sais pas comment détecter tous les fichiers commençant par "note" dans le même dossier


donc ce ne dépend pas de l'extension
avec contains si j'ai un fichier
"xyznote123.txt" ou "xyznote123.ini"
il seront aussi ajouté
et avec like tu dois verifié avec
Like "note###.txt" , Like "note###.ini"
Like "note###.xml"

et si tu un fichier note1000.txt ?
alors il te faudra
Like "note####.txt"
Commenter la réponse de cs_ShayW
erwan421 46 Messages postés mardi 2 juin 2009Date d'inscription 11 juin 2015 Dernière intervention - 30 nov. 2011 à 13:36
0
Utile
Merci à tous mais j'ai un problème en codant les évènements de création d'une nouvelle note, je ne sais pas comment obtenir le dernier nombre du fichier pour en mettre un autre...
(Exemple :
-note001.xml
-note002.xml
-note003.xml
Pour ajouter ensuite un fichier note004.xml ...)

mouâ
Commenter la réponse de erwan421
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 30 nov. 2011 à 13:45
0
Utile
Bonjour,
le prochain N° dans cet exemple est tout simplement la valeur de ta chaine à compter de son 5ème caractère ===>> facile, donc (et je te laisse un peu travailler par toi-même)

____________________
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
Commenter la réponse de ucfoutu
erwan421 46 Messages postés mardi 2 juin 2009Date d'inscription 11 juin 2015 Dernière intervention - 30 nov. 2011 à 13:49
0
Utile
Autre possibilité trouvée par mes neurones en surchauffe : Compter le nombre de fichiers dans le dossier puis ajouter 1 pour avoir le numéro du suivant ^^
(Après y'aura beaucoup de code pour rajouter les zéros...)

mouâ
Commenter la réponse de erwan421
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 30 nov. 2011 à 14:08
0
Utile
pourquoi ne pas se servir d'une variable integer
que tu incrimentes


 Dim x As Integer
Dim str1 As String
x = 0
str1 = "note" & x.ToString.PadLeft(3, "0"c) & ".txt"
x+=1
Commenter la réponse de cs_ShayW
erwan421 46 Messages postés mardi 2 juin 2009Date d'inscription 11 juin 2015 Dernière intervention - 30 nov. 2011 à 14:11
0
Utile
Dans ton code, le programme remettrait à zéro le compteur et écraserait les fichiers...

mouâ
Commenter la réponse de erwan421
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 30 nov. 2011 à 14:50
0
Utile
tu peux te servir du setting
projet -> properties -> setting
dans le tableau tu as name type scope value
name le non de variable disons compteur
type UINTEGER
scope user
value 0 la valeur initial

Dim x As Integer
Dim str1 As String
 x = System.Convert.ToInt32(My.Settings.compteur)
  str1 = "note" & x.ToString.PadLeft(3, "0"c) & ".txt"
   x+=1 
        My.Settings.compteur = System.Convert.ToUInt32(x)
 My.Settings.Save()
Commenter la réponse de cs_ShayW
erwan421 46 Messages postés mardi 2 juin 2009Date d'inscription 11 juin 2015 Dernière intervention - 30 nov. 2011 à 15:26
0
Utile
Je ne me sers jamais de cette fonction...

mouâ
(Comme dans tous mes messages il faut un !)
Commenter la réponse de erwan421
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 30 nov. 2011 à 17:40
0
Utile
Je ne me sers jamais de cette fonction...


ah elle ne ne te plait pas
Commenter la réponse de cs_ShayW

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.