IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Récupérer une liste de fichiers et l'affciher dans le programme en VB6


Sujet :

VB 6 et antérieur

  1. #41
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    Super ca fonctionne

    Pour info j ai du modifier ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Private Sub ADroite_Click()
    Dim FichPres As Boolean
    Dim i As Integer
     
        FichPres = False
        If List1.ListIndex >= 0 Then
            For i = 0 To List2.ListCount - 1
                If List1.List(List1.ListIndex) = List2.List(i) Then
                    FichPres = True  'Fichier présent dans la List2
                End If
            Next i
            If Not FichPres Then
                List2.AddItem List1.List(List1.ListIndex)
                List1.RemoveItem (List1.ListIndex)
            End If
     
        End If
    End Sub
    +

    merci

  2. #42
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par Ribéry
    J'ai un autre soucis. J'aimerais bien afficher une liste d'autres fichiers qui sont contenus dans la variable "ListeFichiersCréés". Auparavant j'arrivais à l'afficher dans une ListView mais la j'arrive pas dans la listBox.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Private Sub AfficheInfoFichiers()
        Dim ItemX           As ListItem
        Dim Cpte            As Integer
        Dim ListeFichiersCréés As New clsListeObjet
     
        DoEvents
     
        'Constitution de la liste des fichiers déclarés
        '**********************************************
        ListeFichiersCréés.Populate mFichiers
     
        With ListeFichiersCréés
            If .Count Then
                'Il y a des modules déclarés
                '***************************
                For Cpte = 1 To .Count
                List2.AddItem ...
                Next Cpte
     
            End If
        End With
    End Sub
    T as pas une idéé par hasard???!!!

  3. #43
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    meme une toute petite...

  4. #44
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Juste une chose :

    Arrête de changer partout les informations que tu donnes en particulier le code car on ne s'y retrouve plus : quelqu'un qui cherche à savoir comment lister des fichiers sur ftp ne comprendra rien, d'ailleurs je m'y perds aussi.

    Edite ton message (celui de 9h06) et replace le code complet (sauf les codes d'accès au ftp).

    Par ailleurs, peux-tu me donner le code de clsListeObjet

    Merci
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  5. #45
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    Voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    Option Explicit
     
    '***********************************************************************************
    '*Classe : clsListeObjet                                                           *
    '*Projet : Configurateur                                                           *
    '*Date   : 09/05/2006                                                              *
    '*Auteur :                                                           *
    '***********************************************************************************
    '*                                                                                 *
    '*Cette classe crée et gère une collection d'objet de type :                       *
    '*                  clsGestionDroitsRéduit ou                                      *
    '*                  clsModulesGestionDroits ou                                     *
    '*                  clsFichiers                                                    *
    '*                                                                                 *
    '***********************************************************************************
     
    'Définition des variables locales associées aux propriétés
    '*********************************************************
    Private mCol As Collection
     
    '***********************************************************************************
    '* Propriétés de la classe clsListeObjet
    '***********************************************************************************
     
    Public Property Get Index(vntIndexKey As Variant) As Integer
        Dim Cpte    As Integer
     
        'Récupère le numéro d'index d'un objet en fonction de sa clée
        '************************************************************
        On Error Resume Next
        For Cpte = 1 To mCol.Count
            If mCol(Cpte) Is mCol(vntIndexKey) Then
                Index = Cpte
                Exit Property
            End If
        Next Cpte
     
        Index = -1
    End Property
     
    Public Property Get IndexMax() As Long
        Dim Cpte    As Integer
        Dim Max     As Long
     
        'Récupère le numéro d'objet MAX
        '******************************
        Max = 0
     
        For Cpte = 1 To mCol.Count
            If Max < mCol(Cpte).Numéro Then
                Max = mCol(Cpte).Numéro
            End If
        Next Cpte
     
        IndexMax = Max
    End Property
     
    'Gestion de l'objet collection
    '*****************************
    Public Property Get Item(vntIndexKey As Variant) As Object
        On Error Resume Next
        Set Item = mCol(vntIndexKey)
    End Property
     
    Public Property Get Count() As Long
        Count = mCol.Count
    End Property
     
    Public Property Get NewEnum() As IUnknown
        Set NewEnum = mCol.[_NewEnum]
    End Property
     
    Public Sub Add(ByVal Item As Object)
        mCol.Add Item, Format(Item.Numéro)
    End Sub
     
    Public Sub Remove(ByVal Index As Variant)
        mCol.Remove Index
    End Sub
     
    '***********************************************************************************
    'Méthodes publiques de la classe clsListeObjet
    '***********************************************************************************
     
    Public Sub Populate(ByVal TypeObjet As ListeTypeObjet, _
                        Optional ByVal Paramètre As Long = -1)
        'Remplissage de la liste avec des objets du type demandé
        '*******************************************************
        Select Case TypeObjet
            Case mGFIC
                If Paramètre <> -1 Then
                    'Droits d'un module
                    '***************************
                    ChargeListe TypeObjet, SQL_GestionDroitsRéduit_un_Module, Paramètre, TypeObjet
                Else
                    'Droits d'un type donné
                    '*******************************
                    ChargeListe TypeObjet, SQL_GestionDroitsRéduit_tout_Module, TypeObjet
                End If
     
            Case mModuleGFIC
                'Modules de gestion des droits
                '*****************************
                If Paramètre = -1 Then
     
                    'Il n'y a pas de paramètre, on sélectionne la totalité des modules
                    '*****************************************************************
                    If Not ChargeListe(TypeObjet, SQL_NumModule_GestionDroits, TypeObjet - ModuleOffset) Then
     
                    End If
                End If
     
            Case mFichiers
                'Fichiers
                '********
                ChargeListe TypeObjet, SQL_Fichiers_par_Index
     
            Case mUTIL
                'Utilisateurs
                '************
                ChargeListe TypeObjet, SQL_Select_Util_UTI
     
        End Select
    End Sub
     
    Public Function KeyExist(vntIndexKey As Variant) As Boolean
        Dim Poubelle  As String
     
        KeyExist = False
        On Error GoTo TraiteErreur
        Poubelle = mCol.Item(vntIndexKey).Nom
        KeyExist = True
     
    TraiteErreur:
    End Function
     
    '***********************************************************************************
    'Méthodes privées de la classe clsListeObjet
    '***********************************************************************************
     
    Private Sub Class_Initialize()
        'On crée la collection
        '*********************
        Set mCol = New Collection
    End Sub
     
    Private Sub Class_Terminate()
        'On détruit la collection
        '************************
        Set mCol = Nothing
    End Sub
     
    Private Sub InitListeModules(TypeModule As Long)
        Dim ADO_Recordset   As ADODB.Recordset
        Dim Module_Courant  As clsModulesGestionDroits
     
        'La teble des modules était vide, on l'initialise,
        'elle doit contenir au moins le module de la carte UC
        '****************************************************
        Set Module_Courant = New clsModulesGestionDroits
        Module_Courant.Nom = LoadRessourceString(IDRacine)
        Module_Courant.Appareil_Fichiers = 0
        Module_Courant.Type_Fichiers = TypeModule
        Module_Courant.Sauve BDDModification
        Set Module_Courant = Nothing
     
        'Le module créé est ajouté à la collection
        '*****************************************
        BDDProjet.CommandeText = SQL_NumModule_GestionDroits
        Set ADO_Recordset = BDDProjet.ExecuteCommande(TypeModule)
        With ADO_Recordset
            Set Module_Courant = New clsModulesGestionDroits
            Module_Courant.Numéro = .Fields(0)
            mCol.Add Module_Courant, Format(Module_Courant.Index_Fichiers)
            .Close
        End With
    End Sub
     
    Private Function ChargeListe(TypeObjet As ListeTypeObjet, _
                                 CommandeSQL As String, _
                                 ParamArray Paramètre()) As Boolean
        Dim ADO_Recordset   As ADODB.Recordset
        Dim ObjetCourant    As Object
        Dim Cpte            As Integer
     
        'Exécute la commande SQL
        '***********************
        BDDProjet.CommandeText = CommandeSQL
        If IsMissing(Paramètre) Then
            'La commande n'a pas de paramètre
            '********************************
            Set ADO_Recordset = BDDProjet.ExecuteCommande
        Else
     
                    'La totalité des paramètres est passée à la commande SQL
                    '*******************************************************
                    Set ADO_Recordset = BDDProjet.ExecuteCommande(Paramètre)
     
        End If
     
        With ADO_Recordset
            If .RecordCount > 0 Then
                'Le recordset n'est pas vide
                '***************************
                Do
                    Select Case TypeObjet
                        Case mGFIC
                            'Liste d'objet de droits
                            '***********************
                            Set ObjetCourant = New clsGestionDroitsRéduit
                        Case mModuleGFIC
                            'Liste d'objet Modules
                            '*********************
                            Set ObjetCourant = New clsModulesGestionDroits
                        Case mFichiers
                            'Liste d'objet fichiers
                            '**********************
                            Set ObjetCourant = New clsFichiers
     
                        Case mUTIL
                            'Utilisateurs
                            '************
                            Set ObjetCourant = New clsUtil
     
                    End Select
     
                    'Crée l'objet
                    '************
                    ObjetCourant.InitProperties ADO_Recordset, .Fields(0)
     
                     mCol.Add ObjetCourant, Format(ObjetCourant.Numéro)
     
                    'On sélectionne l'enregistrement suivant
                    'et on boucle tant qu'il y en a
                    '***************************************
                    .MoveNext
                Loop Until .EOF
                ChargeListe = True
                .Close
            Else
     
                    ChargeListe = False
                    .Close
              '  End If
            End If
        End With
     
     
    End Function

  6. #46
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Alors, j'essaierais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        With ListeFichiersCréés
            If .Count<>0 Then
                'Il y a des modules déclarés
                '***************************
                For Cpte = 0 To .Count-1
                    List2.AddItem .Item(Cpte)
                Next Cpte
                
            End If
        End With
    +

    Théo
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  7. #47
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    J'ai une erreur sur la ligne dans le for :
    Variable objet ou variable bloc with non definie

  8. #48
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Comment tu faisais pour voir la liste avec ListView ?
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  9. #49
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    J te donne un exemple qui affichait le nom et le nombre d'utilisateurs déclarés dans la list view:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Private Sub AfficheInfoUtilisateurs(IDTitre As Integer, InfoType As ListeTypeObjet)
        Dim ItemX           As ListItem
        Dim mListe          As New clsListeObjet
     
        Titre.Caption = LoadRessourceString(IDTitre)
        DoEvents
     
     
        If InfoType = mUTIL Then
            'Récupère les informations des utilisateurs
            '******************************************
            Set mListe = New clsListeObjet
            mListe.Populate mUTIL
     
            'Affiche le nombre de utilisateurs déclarés
            '******************************************
            Set ItemX = ListeElément.ListItems.Add(, , LoadRessourceString(IDUtilDéclarés))
            ItemX.Bold = True
            ItemX.SubItems(1) = Format(mListe.Count)
     
            Set mListe = Nothing
        End If
     
     
    End Sub
    +

  10. #50
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    Pardon j me suis aprecu que dans cet exemple y avait pas l affichage de la liste des utilisateurs. J te mets un autre exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    Private Sub AfficheInfoFichiers(m_IDTitre As Integer)
        Dim ItemX           As ListItem
        Dim Cpte            As Integer
        Dim ListeModulesCan As New clsListeObjet
     
        Titre.Caption = LoadRessourceString(m_IDTitre)
        DoEvents
     
        'Constitution de la liste des fichiers déclarés
        '**********************************************
        ListeModulesCan.Populate mFichiers
     
        'Affiche le nombre de fichiers possibles
        '***************************************
        Set ItemX = ListeElément.ListItems.Add(, , LoadRessourceString(IDFichiersDispo))
        ItemX.SubItems(1) = MaxFichiers
     
        'Affiche le nombre de fichiers utilisés
        '**************************************
        Set ItemX = ListeElément.ListItems.Add(, , LoadRessourceString(IDFichiersUtilisés))
        ItemX.SubItems(1) = ListeModulesCan.Count
     
        'Affiche le nombre de fichiers libres
        '************************************
        Set ItemX = ListeElément.ListItems.Add(, , LoadRessourceString(IDFichiersLibres))
        ItemX.SubItems(1) = MaxFichiers - ListeModulesCan.Count
        ItemX.ForeColor = &HFF&
        ItemX.ListSubItems(1).ForeColor = &HFF&
     
        Set ItemX = ListeElément.ListItems.Add(, , "")
        Set ItemX = ListeElément.ListItems.Add(, , "")
     
        With ListeModulesCan
            If .Count Then
                'Il y a des modules déclarés
                '***************************
                For Cpte = 1 To .Count
                    Set ItemX = ListeElément.ListItems.Add(, , .Item(Cpte).Nom)
                Next Cpte
     
            End If
        End With
    End Sub

  11. #51
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Alors en regardant le code que tu m'as donné, je ferais la chose suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        With ListeFichiersCréés
            If .Count<>0 Then
                'Il y a des modules déclarés
                '***************************
                For Cpte = 1 To .Count
                    List2.AddItem .Item(Cpte).Nom
                Next Cpte
                
            End If
        End With
    Je ne peux pas t'assurer que cela marche mais ... j'espère

    Théo
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  12. #52
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    Super ca fonctionne. j'ai juste rajouté cpte = 1 to .Count et ca va. J'te remercie.

  13. #53
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Ca pour une nouvelle c'est une bonne nouvelle



    Bonne continnuation

    Théo
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  14. #54
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    Merci toi aussi

  15. #55
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    En fait j'aimerais encore faire un truc: c'est interdire les messages d'erreur 35754 qui se produisent si j'ai mis aucun nom, mot de passe ou URL dans la form. J'ai déjà mis un truc pour que ca affiche un message d'erreur et la cause mais ca me stoppe le debug qd meme apres l'affichage du message. Y a pas un truc qui pourrait me permettre qd y a cette erreur, d'afficher un message plutot que de stooper l appli???

  16. #56
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Tu as utilisé un On Error ... ??
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  17. #57
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Alors pour cela je fais une gestion d'apparition d'erreur comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Test
    '... déclarations
     
     
       On Error GoTo errHandler
     
     
       '... code normal
     
       Exit Sub
     
    errHandler:
       '... code de gestion d'erreur
     
    End Sub
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  18. #58
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    Nan j'avais pas mis de Go to je faisais juste un test pour savoir si la textbox était vide. J'le mets comment le Go to??? (j'te remet le code)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
     
    Option Explicit
     
    '***********************************************************************************
    '*Contrôle : MiseJourFichiers                                                      *
    '*Projet   : Configurateur                                                         *
    '*Date     : 04/07/2006                                                            *
    '*Auteur   :                                                         *
    '***********************************************************************************
    '*                                                                                 *
    '*                                                                                 *
    '*                                                                                 *
    '***********************************************************************************
    Event AprèsSupprime()
    Private m_Création          As Boolean
    Private m_TypeListe     As ListeTypeObjet
    Private m_NuméroInfo    As Long
    Dim StrScanFolderFtp As String
    Dim CancelAction As Boolean
     
    Public Function AddSlash(ByVal SlashStr As String) As String
    '-- Ajouter un "\" dans un path
        If Len(SlashStr) = 0 Then Exit Function
        If Right$(SlashStr, 1) <> "\" Then SlashStr = SlashStr & "\"
        AddSlash = SlashStr
    End Function
     
    Sub WaitExecute(InetCtl As Inet)
    '-- Attendre la fin d'execution d'une instruction d'un controle Inet
        While InetCtl.StillExecuting
            DoEvents
        Wend
    End Sub
    Public Function ScanFolderFtp(Optional FolderPath As String = "", Optional Filename As String = "", Optional SubFold As Boolean = True) As Long
    '-- Fonction récursive pour l'exploration des répertoires Ftp
     
        Dim StrPath() As String
        Dim subFolders As New Collection
        Dim i As Integer
     
        With Inet1
        If .UserName = "" Then
            AfficheErreurUserName
     
        ElseIf .Password = "" Then
            AfficheErreurPassword
     
        ElseIf .URL = "" Then
            AfficheErreurURL
        End If
     
            .Execute , "DIR "
            WaitExecute Inet1
            StrPath = Split(Replace(StrScanFolderFtp, "/", "\"), vbCrLf)
            For i = 0 To UBound(StrPath) - 1
                '-- Affichage dans la listbox
                If InStr(1, StrPath(i), ".\") = 0 And Len(StrPath(i)) > 0 Then
                    MiseJourFichiers.List1.AddItem AddSlash(FolderPath) & StrPath(i)
                End If
                '-- Remplir la collection des sous-dossiers du dossier en cours
                If Right(StrPath(i), 1) = "\" And InStr(1, StrPath(i), ".\") = 0 Then
                    subFolders.Add Left(StrPath(i), Len(StrPath(i)) - 1)
                End If
            Next
            '-- Renvoie le nombre d'éléments du dossier en cours
            ScanFolderFtp = UBound(StrPath)
     
            '--Recherche dans les sous-dossiers
            If SubFold Then
                For i = 1 To subFolders.Count
                    Debug.Print subFolders.Item(i)
                    .Execute , "CD " & subFolders.Item(i)
                    WaitExecute Inet1
                    DoEvents
                    If CancelAction Then Exit Function
                    ScanFolderFtp = ScanFolderFtp + ScanFolderFtp(AddSlash(FolderPath) & subFolders.Item(i), , SubFold)
                    .Execute , "CDUP"
                    WaitExecute Inet1
                Next i
            End If
     
            '-- Vide la collection des sous-dossiers
            Set subFolders = Nothing
        End With
     
    End Function
     
    Private Sub Ajouter_Click(Index As Integer)
    Dim FichPres As Boolean
    Dim i As Integer
     
        FichPres = False
        If List1.ListIndex >= 0 Then
            For i = 0 To List2.ListCount - 1
                If List1.List(List1.ListIndex) = List2.List(i) Then
                    FichPres = True  'Fichier présent dans la List2
                End If
            Next i
            If Not FichPres Then
                List2.AddItem List1.List(List1.ListIndex)
                List1.RemoveItem (List1.ListIndex)
            End If
     
        End If
     
        'Load SaisieNouveau
        'SaisieNouveau.InitSaisie mFichiers, 0, Trim("om")
        'SaisieNouveau.Show vbModal, Me
    End Sub
     
    Private Sub Annuler_Click(Index As Integer)
        m_Création = False
        Unload Me
    End Sub
     
    Private Sub Supprime_Click()
    If List2.ListIndex >= 0 Then
      List2.RemoveItem (List2.ListIndex)
    End If
     
        Load EffaceObjet
        With EffaceObjet
    .InitSaisie m_TypeListe, m_NuméroInfo, Trim("om"), SQL_Delete_Fichiers_par_Index
    .Show vbModal, Me
    RaiseEvent AprèsSupprime
    End With
    End Sub
     
    Private Sub Command2_Click()
        With Inet1
        List1.Clear
            .AccessType = icDirect
            .Protocol = icFTP
            .URL = txtURL.Text
            .UserName = txtName.Text
            .Password = txtPassword.Text
            ScanFolderFtp
     
            .Execute , "CLOSE"
            WaitExecute Inet1
     
        End With
     
    End Sub
     
    Private Sub Form_Load()
        txtURL.Text = 
        txtName.Text = 
        txtPassword.Text = 
        LoadResStrings Me
        AfficheInfoFichiers
    End Sub
     
    Private Sub Inet1_StateChanged(ByVal State As Integer)
    ' Récupère la réponse du serveur à l'aide de
    ' la méthode GetChunk lorsque State = 12.
     
        Dim vtData As Variant    ' Variable Data.
        Select Case State
        Case icError    ' 11
        ' En cas d'erreur, renvoie ResponseCode et
        ' ResponseInfo.
            vtData = Inet1.ResponseCode & ":" & _
                    Inet1.ResponseInfo
        Case icResponseCompleted
            Dim strData As String
            Dim bDone As Boolean: bDone = False
     
            ' Lecture du premier segment
            vtData = Inet1.GetChunk(1024, icString)
            DoEvents
     
            ' Lecture des segments suivants
            Do While Not bDone
                strData = strData & vtData
                vtData = Inet1.GetChunk(1024, icString)
                DoEvents
     
                If Len(vtData) = 0 Then
                    bDone = True
                End If
            Loop
            StrScanFolderFtp = strData
        End Select
     
    End Sub
     
    Private Sub AfficheInfoFichiers()
     
        Dim ItemX           As ListItem
        Dim Cpte            As Integer
        Dim ListeFichiersCréés As New clsListeObjet
     
        DoEvents
     
        'Constitution de la liste des fichiers déclarés
        '**********************************************
        ListeFichiersCréés.Populate mFichiers
     
       With ListeFichiersCréés
           With ListeFichiersCréés
            If .Count <> 0 Then
                'Il y a des modules déclarés
                '***************************
                For Cpte = 1 To .Count
                    List2.AddItem .Item(Cpte).Nom
     
                Next Cpte
     
            End If
        End With
     
                End With
    End Sub
     
     
    Private Sub AfficheErreurPassword()
        mMessage.ForeColor = vbRed
        mMessage.Caption = LoadRessourceString(IDErreurPassword)
    End Sub
     
    Private Sub AfficheErreurUserName()
        mMessage.ForeColor = vbRed
        mMessage.Caption = LoadRessourceString(IDErreurUser)
    End Sub
     
    Private Sub AfficheErreurURL()
        mMessage.ForeColor = vbRed
        mMessage.Caption = LoadRessourceString(IDErreurURL)
    End Sub

  19. #59
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    Bonjour tout le monde,

    J'ai un dernier gros soucis mais là je pense que je devrais envoyer mon code à qqun poour qu'il puisse m'aider. Donc si qqun est partant...

    En fait je voudrais, à partir de cette liste de fichiers, créer les objets et les sauvegarder dans la BDD. Voila c'est expliqué rapidemment...

    A bon entendeur...

  20. #60
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Points : 31
    Points
    31
    Par défaut
    Bon j vais vous expliquer le truc. J'ai mis une image en PJ pour mieux expliquer. Donc dans la fenetre qui est lancée, je charge les fichiers à partir du ftp dans la liste de gauche. Dans la liste de droite, ce sont les fichiers présents dans la configuration (en dessous dans le dossier liste des fichiers). J'aimerais que qd j'appuie sur ajouter, le nom du fichier séléctionné s'ajoute à la configuration et soit sauvegardé dans la bdd. Il faut qu'il apparaisse ds le menu liste des fichiers.

    Voila HELP ME...

    +
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/02/2009, 17h58
  2. Réponses: 0
    Dernier message: 01/08/2007, 12h12
  3. Réponses: 2
    Dernier message: 20/06/2007, 10h34
  4. [VB]Récupérer une liste de fichiers
    Par yaya54 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 20/02/2006, 16h03
  5. Réponses: 4
    Dernier message: 24/11/2005, 09h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo