Vérifier existence sur CD

Résolu
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008 - 15 mars 2007 à 22:03
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 - 16 mars 2007 à 13:42
Bonjour à tous.
J'ai crée un petit prog pour vérifier l'existence d'un fichier:

Imports System.IO
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Visible = False
        Dim chemin As String = "BOB.exe"
        Dim process As New Process
        For Each disque As String In Directory.GetLogicalDrives()
            Dim D As New DriveInfo(disque)
            If D.DriveType = DriveType.CDRom Then
                Try
                    If My.Computer.FileSystem.FileExists(disque + chemin) = True Then
                        MessageBox.Show("Le Fichier existe")
                    Else
                        MessageBox.Show("Le Fichier n'existe pas")
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try
            End If
        Next

    End Sub
End Class

Le seul probléme, c'est que je vois à l'écran successivement: "Le Fichir n'existe pas", puis "Le Fichier existe" et enfin "Le Fichir n'existe pas".
Je n'y comprends rien !? J'ai 3 messagebox de suite avec jamais la meme chose !!!

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 mars 2007 à 08:33
tu as peut etre trois lecteurs CD ^^

après, pour voir, tu pourrais afficher le disque, dans la msgbox

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
16 mars 2007 à 11:54
Bonjour

Il me semble que tu ne test pas si ton lecteur est pres ou pas !

Je me suis permis de faire une retouche sur ton code
__________________________________________________

Me.Visible = False
Dim chemin As String = "BOB.exe"
Dim process As New Process

For Each disque As String In Directory.GetLogicalDrives()
   Dim D As New DriveInfo(disque)
      If D.DriveType = DriveType.CDRom Then
         If D.IsReady = True Then
               Try
                     If File.Exists(Path.Combine(disque, chemin)) = True Then
                        MessageBox.Show("Le Fichier existe")
                     Else
                        MessageBox.Show("Le Fichier n'existe pas")
                     End If
               Catch ex As Exception
                     MsgBox(ex.Message)
         End Try
      End If
End If
Next
__________________________________________________

Cordialement

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
3
CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 1
16 mars 2007 à 11:02
Ca marche impec chez moi .
A mon avis Renfield a raison


(Oubli pas de check sa reponse si elle te conviens)

Si l'informatique été de l'alcool il y aurait des genies partout
0
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
16 mars 2007 à 13:11
Exactement, je n'y avait pas pensé ! J'ai bien trois lecteurs !!!
Merci !!!
Merci aussi TroXsa pour ton code !
0

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

Posez votre question
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
16 mars 2007 à 13:42
Sa fait plaisir qu'on dise merci pour une fois :), y a pas de quoi !
A bientot

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
0
Rejoignez-nous