begin process at 2012 02 15 18:31:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Fichier / Disque

 > 

GetFolder ??? répertoire par defaut autre que poste de travail


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

GetFolder ??? répertoire par defaut autre que poste de travail

mercredi 22 septembre 2004 à 10:54:18 | GetFolder ??? répertoire par defaut autre que poste de travail

TOOCOOL

Salut,

j'utilise la fonction GetFolder (trouvée sur VBFrance) pour sélectionner via une boite de dialogue un répertoire.

le probleme c est qu elle est positionnée toujours au démarrage sur poste de travail... y aurait il un moyen pour lui declarer le app.path par defaut ?

voici le code ci-dessous des déclarations et de la fonction

merci d'avance pour votre aide !!!

A+
TOOCOOL



' ****** pour afficher une boite de dialogue Repertoire ******
Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
'These constants are to be set to the ul
' Flags property in the BROWSEINFO type de
' pending of what result you want
Const BIF_RETURNONLYFSDIRS = &H1 'Allows you To browse For system folders only.
Const BIF_DONTGOBELOWDOMAIN = &H2 'Using this value forces the _
user To stay within the domain level of the _
Network Neighborhhood
Const BIF_STATUSTEXT = &H4 'Displays a statusbar on the selection dialog
Const BIF_RETURNFSANCESTORS = &H8 'Returns file system ancestor only
Const BIF_BROWSEFORCOMPUTER = &H1000 'Allows you To browse for a computer
Const BIF_BROWSEFORPRINTER = &H2000 'Allows you To browse the Printers folder

Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
')) ****** FIN pour afficher une boite de dialogue Repertoire ******

Function GetFolder(Optional Title As String, Optional hwnd) As String
')) affiche une boite de dialogue de repertoire uniquement (PAS DE FICHIERS)

Dim bi As BROWSEINFO
Dim pidl As Long
Dim Folder As String
Folder = String$(255, Chr$(0))


With bi
If IsNumeric(hwnd) Then .hOwner = hwnd
.ulFlags = BIF_RETURNONLYFSDIRS
.pidlRoot = 0
If IsNull(Title) Then
'If Not IsMissing(Title) Then
.lpszTitle = Title
Else
.lpszTitle = "Sélectionner un répertoire :" & Chr$(0)
End If
End With
pidl = SHBrowseForFolder(bi)


If SHGetPathFromIDList(ByVal pidl, ByVal Folder) Then
GetFolder = Left(Folder, InStr(Folder, Chr$(0)) - 1)
Else
GetFolder = ""
End If
End Function


mercredi 22 septembre 2004 à 11:02:00 | Re : GetFolder ??? répertoire par defaut autre que poste de travail

crenaud76

Normal ! Il faut faire un peu de SubClassing pour cela. Voici un code qui fonctionne :
Dasn un module standard, colle ceci :

Private Const WM_USER = &H400
Private Const BFFM_INITIALIZED = 1
Private Const BFFM_SETSELECTIONA = (WM_USER + 102)

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public BFFInitialPath As String

Public Function BrowseForFolderCallBackFunc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal lParam As Long, ByVal lpData As Long) As Long 'callback-funktion für ordnerwahl-dialog
Select Case uMsg
Case BFFM_INITIALIZED
If Len(BFFInitialPath) > 0 Then
SendMessage hwnd, BFFM_SETSELECTIONA, 1, ByVal BFFInitialPath
End If
End Select
End Function
Private Function GetAddress(Adr As Long) As Long
GetAddress = Adr
End Function

Public Function ShowBrowseForFolderDlg(ByVal hwnd As Long, ByVal Msg As String, Optional ByVal InitDir As String) As String
Dim iNull As Integer, lpIDList As Long, sPath As String, udtBI As BrowseInfo

With udtBI
.hWndOwner = hwnd
.lpszTitle = lstrcat(Msg, "")
.ulFlags = BIF_RETURNONLYFSDIRS + BIF_NEWDIALOGSTYLE
.lpfnCallback = GetAddress(AddressOf BrowseForFolderCallBackFunc)
End With
BFFInitialPath = InitDir
lpIDList = SHBrowseForFolder(udtBI)
If lpIDList Then
sPath = String$(MAX_PATH, 0)
SHGetPathFromIDList lpIDList, sPath
CoTaskMemFree lpIDList
iNull = InStr(sPath, vbNullChar)
If iNull Then
sPath = Left$(sPath, iNull - 1)
End If
End If

ShowBrowseForFolderDlg = sPath
End Function


Appel ensuite la fonction "ShowBrowseForFolderDlg()" avec les param qui vont bien. Ca devarit passer

Christophe R.
mercredi 1 décembre 2004 à 17:37:51 | Re : GetFolder ??? répertoire par defaut autre que poste de travail

JBTHEBEST


S'il te plais tu peux pas nous faire une source car il y a plein de variable inconnu !

ça en depannerais plus d'un (surtout moi)

merci d'avance

J&B



Cette discussion est classée dans : long, string, to, getfolder, bif


Répondre à ce message

Sujets en rapport avec ce message

Help : Selection répertoire et browser [ par arb ] BonjourMon appli permet à l'utilisateur de sélectionner le répertoire ou l'appli ira creer des fichiers. Comme l'utilisateur sélectionne le répertoire Fonctions API VB.NET [ par jojo93 ] Bonjour à tous,Je ne sais pas comment modifier la fonction findFirstFile créer pour la version visual basic 6.0. pour l'adapter à VB.NET.Certaines ins petit probleme urgent [ par maryouma ] Salut je veux ouvrir un fichier matlab en mode exécution à partir d'une feuille vb pour cela j'ai ecrit le code suivant : Private Declare Function she pb avec shellexecute [ par deubal ] salut, je boss sur une bdd access 2000 et pour ouvrir un fichier j'utilise l'api shellexecute, j'utilise le code suivant mais ca marche pas.*****'ds l Passage de tableaux de string vers une DLL [ par morte ] Bonjour à tous ...Voici mon problème :J'ai une première fonction VB :Declare Function Query Lib "UGF_ITK_DLL1.DLL" Est'il possible d'accelerer ce code ? [ par ATitus ] BonjourVoila ce code ci dessous permet sur excel de faire une recherche de combinaisons sur une plage de données .1) on choisi la plage soit par exemp Qui est dans application [ par kat40 ] Bonjour, Toujours la même application! Nous travaillons en réseau et j'aimerais que le code de l'utilisateur qui est dans mon application, s'inscrive parametres d'une fonction CreateService [ par lucio57 ] Bonjour,J'utilise une fonction CreateService pour installer un service par code. Mon pb est que je ne comprends pas tous les parametres si quelqu'un p [ftp] probleme avec une source venant de apiguide [ par babouche ] bijour !voila la source suivante dans apiguide :Const FTP_TRANSFER_TYPE_UNKNOWN = &H0Const FTP_TRANSFER_TYPE_ASCII = &H1Const FTP_TRANSFER_TYPE_BINA Gestion d'erreur [ par willytito ] Bonjour à tousC'est encore moi!J'ai testé le code suivant :Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd A


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales