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 :

reconnaissance du chemin & listbox


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut reconnaissance du chemin & listbox
    Bonjour a tous, j'ai encore une fois besoin de vous.

    Alors je vous explique mon probleme :
    Suite a une connexion a un serveur ftp, j'ai 2 listbox, une qui prend les dossiers (listdoss), et une autre les fichiers (list1). Jusque la, tout va bien.
    Mais ensuite, lorsque que je veux uploader un fichier vers le serveur, il ne reconnait pas que si je suis dans un dossier ou non et colle donc le fichier transféré directement dans la page principal du serveur.

    Je vous joint mon code d'upload qui vous aidera peut-être a comprendre le probleme. C'est une page qui est apelé de ma page pricipale :

    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
    Sub upload
           Timer1.Enabled = False
    Dim yaspc As Boolean
    Dim taille As Variant
    Dim pourcent As Integer
    Dim fic_source, fic_destination As String
    yaspc = False
    fic_source = dir.Dir1.Path & "/" & dir.File1.FileName 'fichier a uploader"
    fic_destination = dir.File1.FileName 'fichier de destination"
     
    'verif fichier pas spc
    Dim tmp, tmp2 As String
    tmp = dir.File1.FileName
    Dim i As Integer
    For i = 1 To Len(tmp)
        If Mid(tmp, i, 1) = Chr(32) Then
        yaspc = True: tmp2 = tmp2 & "_"
        Else: tmp2 = tmp2 & Mid(tmp, i, 1)
        End If
    Next i
    'verif si path a spc
    tmp = dir.Dir1.Path
    For i = 1 To Len(tmp)
        If Mid(tmp, i, 1) = Chr(32) Then
        yaspc = True
        End If
    Next i
    'si y a spc alors on passe par un temporaire sur c:
    If yaspc = True Then
        Label1 = "copie du fichier temporaire..."
        FileCopy fic_source, "c:\" & tmp2
        fic_source = "c:\" & tmp2
        fic_destination = tmp2
    End If
    pb.Min = 0
    pb.Max = FileLen(fic_source)
    With Inet1
    .Protocol = icFTP 'declaration protocole
    .URL = dir.Inet1.URL
    End With
     
    Inet1.Execute , "put " & fic_source & " " & dir.Label1 & "/" & fic_destination 'envoie du fichier
     
    Inet2.URL = Inet1.URL 'initialise inet2 : mm url
     
    Do Until Inet1.StillExecuting = False 'boucle pendant le traitement de inet1
    On Error Resume Next
        If Inet2.StillExecuting = False Then 'si inet2 n'est pas actif
     
            Inet2.Execute , "size /" & fic_destination 'demande la taille du fichier sur le ftp
            Do Until Inet2.StillExecuting = False 'boucle pendant le demande inet2
            DoEvents
            Loop
     
            taille = Inet2.GetChunk(1024) 'recuperation du size dans taille
            Do Until Inet2.StillExecuting = False 'boucle pendant le demande inet2
            DoEvents
            Loop
     
           'affichage de la progressbar
     
           pb.Value = taille 'affichage de l'avancement de pb
           pourcent = (pb.Value / pb.Max) * 100 'calcul du pourcentage reçu
           Label1.Caption = pourcent & "%" 'affichage du % du telechargement
           sb.Panels(1).Text = taille & "ko de " & (FileLen(fic_source))
        End If
    Loop
    'si scp effacement du fichier temporaire
    If yaspc = True Then
    Label1 = "Suppression du fichier temporaire...": Kill "c:\" & tmp2
    End If
    dir.AfficheList1
    Unload Me
    End Sub
    Etant parti d'un code existant et pris sur ce site, j'ai un peu de mal a modifier ce qu'il faut.

    En esperant que la solution sera clair pour l'un d'entre vous, Merci

  2. #2
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Salut,

    Je ne t'ai pas oublié mais je n'ai pas eu le temps d'approfondir ton problème ... Je regarde ça rapidement.

    Autre chose :

    Je te rappelle qu'il est défendu de faire du multipostage sur le forum donc il faut pour suivre sur le post précédent

    Merci

    Théo

  3. #3
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    ok j'attend de tes nouvelles..

    ps : comment tu fait pour que, en gros, un message auquel personne n'a repondu et n'est plus sur les pages principales y revienne?

  4. #4
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    en fait par contre, dsl de te dire ca et j'espere que tu n'a pas bossé dessus mais a la place de mettre 2 listes box, j'ai opté pour un treeview et une listebox. Les dossiers de mon ftp vont donc dans le treeview et les fichiers, dans la listbox.
    Mon probleme a présent et de dire dans ma fonction dbl_click_treeview que qd je doubleclic, il m'ouvre le dossier en question et me met ses fichiers dans la listbox.
    J'avais fait cette fonction avec mes 2 listbox et ca marché trés bien mais je n'arrive pas a la modifiée pour qu'elle remarche.

    Je te la donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub TreeView1_DblClick()
    Inet1.Execute , "cd " & TreeView1.???  '(avant, qd ca marchait, il y avait listbox.text)
    Do Until Inet1.StillExecuting = False 'boucle pendant inet actif
    DoEvents
    Loop
    AfficheList1
    End Sub
    En esperant que ca sera clair pour toi
    Merci

  5. #5
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Citation Envoyé par malhivertman1
    en fait par contre, dsl de te dire ca et j'espere que tu n'a pas bossé dessus mais a la place de mettre 2 listes box, j'ai opté pour un treeview et une listebox. Les dossiers de mon ftp vont donc dans le treeview et les fichiers, dans la listbox.
    Mon probleme a présent et de dire dans ma fonction dbl_click_treeview que qd je doubleclic, il m'ouvre le dossier en question et me met ses fichiers dans la listbox.
    J'avais fait cette fonction avec mes 2 listbox et ca marché trés bien mais je n'arrive pas a la modifiée pour qu'elle remarche.

    Je te la donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub TreeView1_DblClick()
    Inet1.Execute , "cd " & TreeView1.???  '(avant, qd ca marchait, il y avait listbox.text)
    Do Until Inet1.StillExecuting = False 'boucle pendant inet actif
    DoEvents
    Loop
    AfficheList1
    End Sub
    En esperant que ca sera clair pour toi
    Merci
    Salut,

    Voici la solution pour récupérer le nom du noeud sélectionné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TreeView1.SelectedItem.Text
    Par contre, tu risques de rencontrer des problèmes au niveau de l'accès au répertoire sélectionné car si tu double-clique sur un noeud "enfant" c'est à dire un sous-menu la commande que je t'ai donné ne renvoi que le nom du noeud actif et non associé à celui de ses parents...

    Dans ce cas, tu peux utiliser la propriété fullpath:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TreeView1.SelectedItem.FullPath
    ATTENTION : il donne le nom complet avec un séparateur définit par défaut à "\"

    Tu peux modifier ceci avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        TreeView1.PathSeparator = "+"
    Ici j'ai mis comme séparateur un "+"

    Imaginons l'arbre suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Racine
       I___rep1
            I____sous-rep1
    la procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub TreeView1_DblClick()
        TreeView1.PathSeparator = "+"
        MsgBox TreeView1.SelectedItem.FullPath
    End Sub
    avec la procédure suivante en cliquant sur sous-rep1, tu auras le message
    Racine+rep1+sous-rep1
    Voilà

    Bonne continuation

    Théo

  6. #6
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    Bon alors pour le fait du treeview.selecteditem.text, jte remerci, c'est parfait.
    Il m'ouvre les dossiers superbement bien
    Par contre, qd je veux uploader un fichier dans un de ses dossier, il ne reconnait pas que je suis justement dans un dossier, et envoi le fichier voulu dans la page principale du ftp, tu vois ce que je veux dire?

  7. #7
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Citation Envoyé par malhivertman1
    Bon alors pour le fait du treeview.selecteditem.text, jte remerci, c'est parfait.
    Il m'ouvre les dossiers superbement bien
    Par contre, qd je veux uploader un fichier dans un de ses dossier, il ne reconnait pas que je suis justement dans un dossier, et envoi le fichier voulu dans la page principale du ftp, tu vois ce que je veux dire?
    Re,

    A ce niveau là, c'est un problème concernant ta méthode copie vers le ftp ...

    Si tu avais du code à nous montrer, ça pourrait aider

    +

    Théo

  8. #8
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    je n'est pas remi mon code vu que qu'il est assez important et que je l'ai mis plus haut dans cette conversation (sub upload)
    Merci

  9. #9
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Citation Envoyé par malhivertman1
    je n'est pas remi mon code vu que qu'il est assez important et que je l'ai mis plus haut dans cette conversation (sub upload)
    Merci
    excuse je n'avais pas détaillé le code je regarde

  10. #10
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    no problem c'est pas grave

  11. #11
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    ca va, tu comprend mon code? enfin qd jmet mon jdevrai mettre "mon", car je suis partis d'un code existant et ceci en fesait parti et ça explique pourquoi j'ai du mal a y modifier

  12. #12
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Salut,

    J'ai regardé le code ce week-end, malheureusement je ne peux guère plus t'aider car je ne connais pas le transfert de données de manière approfondie.

    On peut espérer quelqu'un de plus calé regardera cela.

    Bon courage pour la suite

    Théo

  13. #13
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    Merci quand même d'avoir regarder..

Discussions similaires

  1. la reconnaissance des objets et la recherche des chemins
    Par Papillon de mer dans le forum SIG : Système d'information Géographique
    Réponses: 2
    Dernier message: 19/08/2015, 00h55
  2. Afficher les fichiers dans une listbox sans le chemin complet
    Par thewarior dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 10/10/2014, 22h11
  3. Réponses: 18
    Dernier message: 01/06/2011, 00h04
  4. Chemin complet d'un fichier affiché dans une listBox
    Par Djang0 dans le forum C++Builder
    Réponses: 4
    Dernier message: 19/08/2009, 10h47
  5. [XHTML 1.0] Reconnaissance de & dans un lien
    Par MorganStern dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 21/03/2009, 15h50

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