Renommer automatiquement 3 fichiers texte définis (Visual Basic 2010 Express) [Résolu]

Messages postés
9
Date d'inscription
mercredi 5 avril 2006
Dernière intervention
1 décembre 2010
- - Dernière réponse : angeld69
Messages postés
9
Date d'inscription
mercredi 5 avril 2006
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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
3
Merci
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()

Merci Utilisateur anonyme 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 103 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
3
Merci
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

Merci Utilisateur anonyme 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 103 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
3
Merci
Re,
Je te conseille fortement de regarder ces cours où tu pourra apprendre des tas de choses intéressantes.
A très bientôt

Merci Utilisateur anonyme 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 103 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
9
Date d'inscription
mercredi 5 avril 2006
Dernière intervention
1 décembre 2010
0
Merci
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.
Commenter la réponse de angeld69
Messages postés
9
Date d'inscription
mercredi 5 avril 2006
Dernière intervention
1 décembre 2010
0
Merci
Merci beaucoup ! c'est dingue ça, en très quelques minutes, tu m'as pondu une autre version de mon programme. Respect !
Commenter la réponse de angeld69

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.