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 :

DriveListBox et répertoire réseau sans lettre


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut DriveListBox et répertoire réseau sans lettre
    Bonjour,

    J'ai une form qui sert à parcourir les disques durs pour rechercher des fichiers. Elle est constituée de DriveListBox + DirListBox + FileListBox.

    Je me suis rendu compte que pour qu'un répertoire puisse apparaitre dans la DriveListBox, il est nécessaire qu'une lettre lui soit associé.
    Les répertoires réseaux qui n'ont pas eu de lettre associée à l'aide de "Connecter un lecteur réseau" ne sont donc pas accessibles.

    Est-il donc absolument obligatoire de définir une lettre ?
    Ne peut-on pas parcourir un réseau à l'aide du chemin UNC du fichier ?
    Comment faire une form qui pourcourt un réseau sans lettre pour chaque lecteur/répertoire ?
    Merci

  2. #2
    Membre confirmé Avatar de Paloma
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 228
    Par défaut en fait il y a mieux
    Bonsoir,

    je pense que tu trouveras ton bonheur dans la faq :
    http://vb.developpez.com/faq/?page=Systeme

    sinon tu devrais avoir un truc du genre, avec un bouton parcourrir dans ton form

    code du bouton (désolé,il y a des trucs en plus que j'ai utilisé mais c'est clair et facile à épurer)
    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
     
    Private Sub CmdBrowseJobDirectory_Click()
        'Récupération du chemin de travail
        'MsgBox SelectFolder("Sélectionnez un répertoire :", 0)
        strPathJob = SelectFolder("Sélectionnez un répertoire :", 0)
     
        ' Permet de modifier la valeur Text du champ de texte.
        txtPathJobDirectory.text = strPathJob 'indique le chemin complet
        txtPathJobDirectory.BackColor = &H80000005  'change la couleur du label
     
        'initialisation des variables pour les chemins de transfert de fichier
        strPathJobIN = strPathJob & "\IN\"
        'MsgBox strPathJobIN
        strPathJobOUT = strPathJob & "\OUT\"
        'MsgBox strPathJobOUT
     
        Call FolderExist(strPathJobIN)
        Call FolderExist(strPathJobOUT)
     
    End Sub
    et un Module qui contient 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
     
    Private Const BIF_RETURNONLYFSDIRS = 1
    Private Const BIF_DONTGOBELOWDOMAIN = 2
     
    Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
    Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, _
        ByVal lpBuffer As String) As Long
    Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, _
        ByVal lpString2 As String) As Long
     
    Private Type BrowseInfo
        hWndOwner As Long
        pIDLRoot As Long
        pszDisplayName As Long
        lpszTitle As Long
         ulFlags As Long
        lpfnCallback As Long
        lParam As Long
        iImage As Long
    End Type
     
    Declare Function FlashWindow Lib "user32" (ByVal hWnd As Long, ByVal bInvert As Long) As Long
     
     
    Public Function SelectFolder(Titre As String, Handle As Long) As String
     
    Dim lpIDList As Long
    Dim strBuffer As String
    Dim strTitre As String
    Dim tBrowseInfo As BrowseInfo
     
    strTitre = Titre
    With tBrowseInfo
        .hWndOwner = Handle
        .lpszTitle = lstrcat(strTitre, "")
        .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
    End With
     
    lpIDList = SHBrowseForFolder(tBrowseInfo)
     
    If (lpIDList) Then
        strBuffer = String(260, vbNullChar)
        SHGetPathFromIDList lpIDList, strBuffer
        SelectFolder = Left(strBuffer, InStr(strBuffer, vbNullChar) - 1)
    End If
     
    End Function
    à bientôt
    Paloma

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    OK merci ca n'est pas tout à fait pareil...
    Ainsi, il n'y a pas la possibilité de progresser par palier comme avec DriveListBox + DirListBox + FileListBox.

    En outre, comment fait-on pour ouvrir la fonction "SelectFolder()" dans un répertoire par défaut ?

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Peut être quavec les liens suivant, tu trouveras la solution à ton problème :
    http://msdn.microsoft.com/library/de...ogicaldisk.asp
    Autres liens supprimés par Thierry, désolé
    Si tu veux plus d'aide, poste ton code.

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    Comme je n'ai pas tout à fait trouvé de solution à mon gout, j'ai contourné le problème en gérant de 2 façon,s en fonction de la présence d'une lettre pour un lecteur réseau

    Merci.

Discussions similaires

  1. Réseau sans fil et listener
    Par Pomalaix dans le forum Connexions aux bases de données
    Réponses: 11
    Dernier message: 05/04/2006, 21h07
  2. Lecteur virtuel sans lettre attribué
    Par Heptaeon dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 14/02/2006, 13h10
  3. [Réseau sans fil] Déconnexions régulières
    Par Jfriche dans le forum Hardware
    Réponses: 6
    Dernier message: 01/01/2006, 21h40
  4. portable et Réseau sans fils
    Par mouloudéen dans le forum Administration
    Réponses: 6
    Dernier message: 23/11/2005, 17h55
  5. [VBScript] (débutant) Copie d'un répertoire réseau
    Par benoitB dans le forum VBScript
    Réponses: 11
    Dernier message: 28/09/2005, 16h13

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