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 :

Recuperer nom de chemin


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par défaut Recuperer nom de chemin
    Bonsoir tout le monde.

    Je me retourne vers vous et votre savoir afin que vous puissiez m'aider ou me mettre sur la voie d'une idée.

    Je tiens a préciser que j'ai utilise mon ami google et mes neurones, mais pas de chances pour moi cela n'a rien donne malheureusement

    J'explique mon problème.

    Dans l'application, l'utilisateur clique sur un bouton et celui ci ouvre une boite de dialogue, la personne choisit son fichier et le chemin du fichier s'indique dans une textbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
    Dim NomFichier As String
    Label1.Caption = "Ce label renvoie le nom du fichier sélectionné."
    ' Initialize le répertoire par défaut
    CommonDialog1.InitDir = "D:\Temporaire"
    ' Initialize le titre du CommonDialogBox
    CommonDialog1.DialogTitle = "Ceci est un test"
    ' On utilise le CommonDialogBox pour Ouvrir un fichier
    CommonDialog1.ShowOpen
    ' Récupère le nom du fichier sélectionné
    NomFichier = CommonDialog1.FileName
    ' Affiche le nom du fichier récupéré
    Label1.Caption = NomFichier
    End Sub
    A partir de la tout va bien, puis j'insère une autre code qui me permet la de récupérer le dossier encore la aucun problèmes

    Je vous donne le code utilisé :

    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
    Option Explicit
     
    Private Const BIF_RETURNONLYFSDIRS = 1
    Private Const BIF_DONTGOBELOWDOMAIN = 2
    Private Const MAX_PATH = 260
     
    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
     
     
    Private Sub Command1_Click()
    'Opens a Browse Folders Dialog Box that displays the 
    'directories in your computer
    Dim lpIDList As Long ' Declare Varibles
    Dim sBuffer As String
    Dim szTitle As String
    Dim tBrowseInfo As BrowseInfo
     
    szTitle = "Hello World. Click on a directory and " & _
    "it's path will be displayed in a message box"
    ' Text to appear in the the gray area under the title bar
    ' telling you what to do
     
    With tBrowseInfo
       .hWndOwner = Me.hWnd ' Owner Form
       .lpszTitle = lstrcat(szTitle, "")
       .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
    End With
     
    lpIDList = SHBrowseForFolder(tBrowseInfo)
     
    If (lpIDList) Then
       sBuffer = Space(MAX_PATH)
       SHGetPathFromIDList lpIDList, sBuffer
       sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
       MsgBox sBuffer
    End If
     
    End Sub
    Mais le chemin de destination se met dès lors dans un MsgBox

    J'ai essaye a plusieurs reprises de changer cela, car j'aimerais que ce chemin ne s'affiche pas dans la MsgBox mais dans une textbox

    J'ai essaye diverses techniques mais sans résultat

    Je vous remercie d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Si c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If (lpIDList) Then
    sBuffer = Space(MAX_PATH)
    SHGetPathFromIDList lpIDList, sBuffer
    sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
    MsgBox sBuffer '************** ICI *************
    End If
    pas étonnant, tu as essayé ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par défaut
    Je te remercie pour ta réponse elle marche du tonnerre

    car moi j'avais essaye tous le sytle Text1.Text et commondialog alors que c'était une chose toute simple, ce qui prouve que l'on apprend tous les jours

    Un grand merci pour ton aide et ta réponse éclair

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recuperer nom local d'1 dossier partagé depuis Poste Client
    Par bib34690 dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 14/10/2005, 20h51
  2. [PHP-JS] Recuperer nom de lien en PHP
    Par lemagicien dans le forum Langage
    Réponses: 3
    Dernier message: 10/10/2005, 16h03
  3. Réponses: 4
    Dernier message: 19/09/2005, 15h59
  4. Réponses: 2
    Dernier message: 12/01/2005, 10h18
  5. [web] récupérer nom du serveur
    Par GMI3 dans le forum Web
    Réponses: 4
    Dernier message: 24/09/2003, 14h10

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