Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 12 sept. 2008 à 19:03
Salut,
If IO.Directory.GetFiles("Dossier").Length = 0 Then
' Le dossier "Dossier" ne contient aucun fichier
End If
Copier-coller des fichiers tu dis? J'appelle ça copier :
IO.File.Copy("FichierSource", "FichierDestination")
Gillardg> drôle de code que tu nous à mis là...
Si tu parcours les fichiers d'un dossier, inutile de tester si le fichier existe, c'est forcément le cas.
De plus, tout ton code après le If IO.File.Exists(file) Then ... End If ne sert à rien du tout, de toute façon on y arrivera jamais... et donc ton x ne sert à rien non plus.
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 12 sept. 2008 à 19:54
crois tu cela ?
si tu testes sur un dossier qui contient des fichiers le x sert bien mais c'est tout à fait possible que mon code soit trop long j'ai fait ça à 2 doigts en mangeant du chocolat
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 12 sept. 2008 à 21:03
J'en suis sûr
J'ai viré le Try Catch, il peut être utile pour savoir que le chemin du dossiers est invalide, mais je pense qu'il serait nettement mieux de renvoyer l'erreur à l'appelant dans ce cas (l'appelant doit savoir que le dossier est faux)
Dim x As Integer = 0
For Each file As String In My.Computer.FileSystem.GetFiles(...)
' 1ère itération, X vaut forcément 0
If x = 0 Then
' FileSystem.GetFiles ne renvois pas des fichiers qui n'existent pas
If IO.File.Exists(file) Then
Return False
Else
Return True
End If
' On arrive jamais ici, car on retourne False (ou True)
End If
' On arrive donc jamais ici non plus, x = x + 1 est donc inutile
x = x + 1
Next
' Si on est ici, x n'a jamais été modifié, il vaut donc forcément 0
If x = 0 Then
Return True
End If
X vaut donc 0 du début à la fin, il est donc inutile. Si on enlève le rouge et x, ça donne:
For Each file As String In My.Computer.FileSystem.GetFiles(...)
Return False
Next
Return True
Ceci fait donc exactement la même chose que ton code
C'est une possibilité, elle n'est finalement pas tellement différente de la mienne
Vous n’avez pas trouvé la réponse que vous recherchez ?