Scripting Runtime FSO

Résolu
Signaler
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
Bonjour à tous...

Je suis entrain de me faire un petit programme qui utilise un DirListView et un FileListView.

Je veux utiliser un Timer afin de modifier l'apparence de ma sourie s'il y a un délai pour faire apparaître les fichiers dans le FileListbox
Toutefois la souris ne doit pas se modifier s'il n'y a aucun fichier dans mon répertoire

On m'a dit d'utiliser (Darksidious) l'objet Folder de la bibliothèque FileSystemObject (FSO) - Microsoft Scripting Runtime pour connaître le nombre de fichier dans un dossier.

J'ai été voir sur MSDN mais ca ne m'aide pas assez......

Voici le code. P.S. je ne sais pas qu'est-ce qui ne fonctionne pas.  Si quelqu'un peut m'aider.  Merci d'avance

Private Sub Timer1_Timer()


Dim FSO As FileSystemObject


Set FSO = New FileSystemObject


Dim Reprtoire As String


Repertoire = Dir1.Path ' Je ne suis pas certain que cette ligne de code fonctionne bien???


Set FSO = CreateObject("Scripting.FileSystemObject")

If File1.ListCount = 0 Then  'File1 est mon FileListView
    If Not FSO.FolderExists(Repertoire) Then
        frmIndex.MousePointer = vbNormal  
    Else
        frmIndex.MousePointer = vbHourglass
    End If
Else
    frmIndex.MousePointer = vbHourglass
End If

Compteur = Compteur + 1


If Compteur > 10 Then
   frmIndex.MousePointer = vbNormal
ElseIf File1.ListCount = 0 Then
   frmIndex.MousePointer = vbHourglass
Else
   frmIndex.MousePointer = vbNormal
End If

End Sub

5 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Des remarques :
Dim FSO As FileSystemObject

Set FSO = New FileSystemObject

Ou :

Dim FSO As Object 'ou Dim FSO As FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")

Mais pas la peine de mettre les deux !

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
3
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
4
J'ai oublier.... je suis en VB6

merci
0
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
28
1- je ne comprend pas pourquoi tu mets ce code dans un timer !
2- Moi je mettrai systématiquement le pointeur à la forme "hourglass" en début de recherche et retour à la forme normale à la fin. Au pire, si tu as très peu de fichier à lister, l'utilisateur ne verra rien et basta !
0
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
4
Salut.... 

Et bien j'ai deux conditions à remplir...

1. Si mon FileListBox est vide alors Change l'apparence de la souris
2. Si j'ai aucun fichier dans le répertoire sélectionné dans mon DirListBox alors ne modifie pas l'apparence de la souris.

- Le "Bug" c'est que je travail avec un DirListBox et un FileListBox et se sont des composants sur lequel on ne peut pas intervenir. c'est pourquoi on m'a suggéré d'utiliser un Timer.

Et pour répondre à ton point 2 de ton message... J'ai effectiveemnt beaucoup de fichier... et je dois trouver un moyen pour dire à l'utilisateur que non le répertoire n'est pas vide mais qu'il est entrain de chercher les fichiers...

 
0
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
4
Salut...

Petite question.

Est-il possible de dire

Si mon répertoire ne contient pas de *.zip alors...

Merci

Dim Reprtoire As String


Repertoire = Dir1.Path


Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
If File1.ListCount = 0 Then
    If Not FSO.FolderExists(Repertoire) Then
        frmIndex.MousePointer = vbNormal
    Else
        frmIndex.MousePointer = vbHourglass
    End If
Else
    frmIndex.MousePointer = vbHourglass
End If
0