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
71
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