Rechercher des fichiers commençant par le même nom

Résolu
Utilisateur anonyme - 27 nov. 2011 à 12:53
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 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â

19 réponses

Utilisateur anonyme
27 nov. 2011 à 13:35
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
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
27 nov. 2011 à 13:47
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
3
cgandco Messages postés 218 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
27 nov. 2011 à 13:23
Bonjour,

Pour le fichier ini vas voir ici

Bon dimanche



Faites simple, aussi simple que possible, mais pas simpliste.
A. Einstein.
0
cgandco Messages postés 218 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
27 nov. 2011 à 13:38
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
27 nov. 2011 à 13:45
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
0
Utilisateur anonyme
27 nov. 2011 à 13:49
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
0
Utilisateur anonyme
30 nov. 2011 à 07:28
Merci pour toutes vos réponses :)
Si quelqu'un voudra mon programme le MP ça existe

mouâ
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
30 nov. 2011 à 08:33
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
0
Utilisateur anonyme
30 nov. 2011 à 12:43
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.
0
Utilisateur anonyme
30 nov. 2011 à 12:54
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
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
30 nov. 2011 à 13:32
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"
0
Utilisateur anonyme
30 nov. 2011 à 13:36
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â
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
30 nov. 2011 à 13:45
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
0
Utilisateur anonyme
30 nov. 2011 à 13:49
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â
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
30 nov. 2011 à 14:08
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
0
Utilisateur anonyme
30 nov. 2011 à 14:11
Dans ton code, le programme remettrait à zéro le compteur et écraserait les fichiers...

mouâ
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
30 nov. 2011 à 14:50
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()
0
Utilisateur anonyme
30 nov. 2011 à 15:26
Je ne me sers jamais de cette fonction...

mouâ
(Comme dans tous mes messages il faut un !)
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
30 nov. 2011 à 17:40
Je ne me sers jamais de cette fonction...


ah elle ne ne te plait pas
0
Rejoignez-nous