Renommer automatiquement 3 fichiers texte définis (Visual Basic 2010 Express)

Résolu
angeld69 Messages postés 9 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 1 décembre 2010 - 3 nov. 2010 à 10:25
angeld69 Messages postés 9 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 1 décembre 2010 - 4 nov. 2010 à 10:01
Bonjour,

Je cherche à faire un petit exécutable VB pour renommer trois fichiers txt avec un nom définis (exemple : Animal.txt ; Voiture.txt ; Fleuve.txt) en réciproquement (Cheval.txt ; Proche.txt ; Fleuve.txt)

Les fichiers seraient déposés dans un répertoire (ex: c:\test\..)

Le but serait de contrôler dans un premier temps l’existence des trois fichiers avant de les renommer.

Pour ce faire, j’affiche un formulaire avec un texte inséré dans l’étiquette "label" expliquant qu'il faut appuyer sur le bouton "OK" pour renommer les fichiers. Le programme exécute alors les actions suivantes :
1) Contrôler dans un répertoire que j'ai nommé Test que trois fichiers existent
si ce n'est pas le cas, j'affiche un message d'erreur propre à chaque fichier.
2) Si le ou les fichiers existent bien dans le répertoire, je les renomme de façon personnalisée et je quitte le programme

Mon code fonctionne bien, mais j'aimerais bien savoir SVP, comment fermer automatiquement le formulaire après avoir appuyé sur le bouton "OK" que j'ai crée et si vous avez d'autres façons plus optimales et plus pro de faire ce que j'ai fait.

Je sais par exemple qu'il est possible de faire un message d'erreur général et d'y intégrer uniquement le nom du fichier manquant par une variable, mais je ne saurais le faire.

Merci de votre aide.

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If System.IO.File.Exists("C:\test\Animal.txt") Then
            My.Computer.FileSystem.RenameFile("C:\test\Animal.txt", "Cheval.txt")
        Else
            MsgBox("Le fichier Animal.txt n'existe pas dans répertoire test")
        End If
        If System.IO.File.Exists("C:\test\Voiture.txt") Then
            My.Computer.FileSystem.RenameFile("C:\test\Voiture.txt", "Porche.txt")
        Else
            MsgBox("Le fichier Voiture.txt n'existe pas dans répertoire test")
        End If
        If System.IO.File.Exists("C:\test\Fleuve.txt") Then
            My.Computer.FileSystem.RenameFile("C:\test\Fleuve.txt", "le Rhône.txt")
        Else
            MsgBox("Le fichier Fleuve.txt n'existe pas dans répertoire test")
        End If
    End Sub
    ' Me.close()
End Class

5 réponses

Utilisateur anonyme
3 nov. 2010 à 11:16
Salut,
Il faut te faciliter la tâche en te servant d'une boucle dans laquelle on testera chaque fichier. Et comme un petit exemple vaut mieux qu'un long discours voici ce qui pourrait être écrit par exemple :

'déclaration d'un tableau de base zéro des fichiers à tester
Dim ListeFichiersTester() As String = {"Animal.txt", "Voiture.txt", "Fleuve.txt"}
'déclaration du tableau de base zéro des fichier pour renommage
Dim ListeFichiersRenommer() As String = {"Cheval.txt", "Proche.txt", "Fleuve.txt"}
'déclaration du dossier de test
Dim DossierTest As String = "C:\test"
'début de la boucle de test de zéro à la longueur du tableau moins un
For x As Integer = 0 To ListeFichiersTester.Length - 1
    If My.Computer.FileSystem.FileExists(DossierTest & ListeFichiersTester(x)) Then
        My.Computer.FileSystem.RenameFile(DossierTest & ListeFichiersTester(x), ListeFichiersRenommer(x))
    Else
        MessageBox.Show("Le fichier " & DossierTest & ListeFichiersTester(x) & " n'existe pas!!")
    End
If Next
'fermeture de l'application
Application.Exit()
3
Utilisateur anonyme
3 nov. 2010 à 11:18
petite erreur de mise en forme
[code=vb]
'déclaration d'un tableau de base zéro des fichiers à tester
Dim ListeFichiersTester() As String = {"Animal.txt", "Voiture.txt", "Fleuve.txt"}
'déclaration du tableau de base zéro des fichier pour renommage
Dim ListeFichiersRenommer() As String = {"Cheval.txt", "Proche.txt", "Fleuve.txt"}
'déclaration du dossier de test
Dim DossierTest As String = "C:\test"
'début de la boucle de test de zéro à la longueur du tableau moins un
For x As Integer = 0 To ListeFichiersTester.Length - 1
    If My.Computer.FileSystem.FileExists(DossierTest & ListeFichiersTester(x)) Then
        My.Computer.FileSystem.RenameFile(DossierTest & ListeFichiersTester(x), ListeFichiersRenommer(x))
    Else
        MessageBox.Show("Le fichier " & DossierTest & ListeFichiersTester(x) & " n'existe pas!!")
    End If
Next
'fermeture de l'application
Application.Exit()
/code
3
Utilisateur anonyme
3 nov. 2010 à 20:21
Re,
Je te conseille fortement de regarder ces cours où tu pourra apprendre des tas de choses intéressantes.
A très bientôt
3
angeld69 Messages postés 9 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 1 décembre 2010
3 nov. 2010 à 11:48
banana32,

Merci de ton aide.

Dis-moi, l'ideal serait d'utiliser une procédure ou une fonction pour gérer ce programme??

Je suis novice en la matière.
0

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

Posez votre question
angeld69 Messages postés 9 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 1 décembre 2010
4 nov. 2010 à 10:01
Merci beaucoup ! c'est dingue ça, en très quelques minutes, tu m'as pondu une autre version de mon programme. Respect !
0
Rejoignez-nous