Soyez le premier à donner votre avis sur cette source.
Vue 3 500 fois - Téléchargée 424 fois
Public ListeFichiers() As String Public MyPath As String Sub Main() Dim Num As Integer Dim i As Integer Dim j As Integer Dim Fichier As String Dim Interm As String MyPath = App.Path If Right(MyPath, 1) <> "\" Then MyPath = MyPath & "\" MyPath = MyPath & "images\" '======================================================================== 'Si MyPath ne termine pas par "\", l'ajoute 'En effet, lorsque je place le projet au niveau de C:, 'App.Path renvoie le chemin suivant "C:\". 'Par contre, lorsque le projet se trouve dans un dossier, 'App.Path renvoie le chemin de ce dossier MAIS SANS le "\" final 'C'est déjà ici que j'avais commis une erreur dans mon 1er projet, 'puisque je définissais MyPath ainsi MyPath = App.Path &"\images\" 'Or d'après ce que je viens de dire, MyPath pouvait donc prendre 'la valeur suivante "C:\\images" '======================================================================== 'Récupère le nom des fichiers images '----------------------------------- Fichier = Dir(MyPath & "*.ICO", vbArchive) If Fichier = "" Then MsgBox "Aucun fichier de type *.ICO n'a été trouvé dans le répertoire spécifié:" _ & vbCr & vbCr & String(10, " ") & Left(MyPath, Len(MyPath) - 1) & vbCr & vbCr _ & "Veuillez vérifier que le répertoire et les fichiers en question existent.", vbCritical End End If '======================================================================== 'Deuxième erreur de ma part, liée d'ailleurs au point précédent. 'Puisque le dossier contient une erreur dans son chemin, 'la fonction Dir() sera bien incapable de trouver le moindre fichier 'dans ce dossier "inexistant", dès lors la boucle suivante n'aura pas lieu 'et ListeFichiers restera vide ; 'ce qui provoquera l'erreur "Indice en dehors de la plage" lors du tri 'des fichiers '======================================================================== Do While Fichier <> "" ReDim Preserve ListeFichiers(Num) ListeFichiers(Num) = Fichier Fichier = Dir Num = Num + 1 Loop 'Retrie alphabétiquement la liste des fichiers 'parce qu'au départ j'utilisais des photos de personnes '------------------------------------------------------- 'Je rajoute une gestion des erreurs au cas où... On Error GoTo Erreur For j = 0 To UBound(ListeFichiers) For i = 0 To UBound(ListeFichiers) - 1 If ListeFichiers(i) > ListeFichiers(i + 1) Then Interm = ListeFichiers(i) ListeFichiers(i) = ListeFichiers(i + 1) ListeFichiers(i + 1) = Interm End If Next Next Form1.Show Exit Sub Erreur: If Err = 9 Then MsgBox "Erreur inattendue dans le tri des fichiers" & vbCr & vbCr _ & "L'application va se terminer.", vbCritical Else MsgBox "Erreur tout à fait inattendue : " & vbCr & vbCr _ & "Erreur n°" & Err & " : " & Err.Description _ & vbCr & vbCr _ & "L'application va se terminer.", vbCritical End If End End Sub
22 janv. 2013 à 10:02
ben il y a des erreurs... si on clic plusieurs images à la fois sa bloque....;)
21 janv. 2013 à 14:39
21 janv. 2013 à 10:47
merci de m'expliquer
19 oct. 2002 à 11:13
c'est au niveau des "for" c'est le UBound(ListeFichiers) qu'il n'encaisse pas mais je ne voi pas l'erreur
sinon le code est pas mal et bien commenté c'est cool
19 oct. 2002 à 07:42
Message pour legamer
Désolé, mais avant de mettre le tout à disposition, j'ai encore essayé le jeux et ça tournait sans problème ; je n'ai eu aucune erreur du genre "indice hors plage", mais bon, je devrais peut-être mettre une gestion d'erreur à ce niveau-là (à condition de savoir où se trouve l'erreur).
De plus, je ne vois pas ce qu'est ce fichier.log que tu réclames...
Et pour finir, étant francophone, j'avais lancé une recherche sur image, paire... pour voir si le jeu était déjà disponible...
Merci quand même pour tes remarques (ceci dit, combien tu donnes ?)
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.