Soyez le premier à donner votre avis sur cette source.
Snippet vu 9 664 fois - Téléchargée 38 fois
(**---------- Déclaration des API Functions ----------**) Function SHGetPathFromIDList (pidl : Integer; pszPath : String) : Integer; stdcall;external 'shell32.dll' name 'SHGetPathFromIDListA'; Function SHBrowseForFolder (lpBrowseInfo : BROWSEINFO) : Integer; pascal;external 'shell32.dll' name 'SHBrowseForFolderA'; //Affiche l'arborescence des repertoires afin de choisir un Path Procedure DisplayExplorer(); var x : BROWSEINFO; Chemin : String; pidl : Integer; RetVal : Integer; p : Integer; begin FillChar(x, SizeOf(x), 0); x.hOwner := frmPreferences.Handle; //Handle de l'objet de votre fiche x.pidlRoot := 0; x.lpszTitle := 'Sélectionnez un répertoire'; x.ulFlags := 1; pidl := SHBrowseForFolder(x); Chemin := StringOfChar(Chr(0),512); RetVal := SHGetPathFromIDList(pidl, Chemin); If RetVal <> 0 Then begin p := Pos(Chr(0),Chemin); txtRepertoire.Text := Copy(Chemin,1,p); //txtRepertoire est un TEdit end; end;
20 mai 2010 à 11:19
A titre d'information, le type BROWSEINFO est dans le uses shlObj..
1 déc. 2009 à 19:03
je voudrais crer un bouton parcourir comme celui de windows afin d'ajouter une photo à la fiche du genre chaque saisie de fiche sa photo correspondant; le hic est que je n'arrive pas à le realiser en delphi 7. Merci de m'aider
ISGIO
7 févr. 2006 à 12:11
Cependant il y a un petit bug dans ce code ligne 34:
il ne faut pas ecrire
txtRepertoire.Text := Copy(Chemin,1,p); //txtRepertoire est un TEdit
mais
txtRepertoire.Text := Copy(Chemin,1,p-1); //txtRepertoire est un TEdit
car sinon il reste un caractère #0 dans la chaine
25 août 2004 à 21:58
Merci pour ces infos, mais je vois que ce code est adressé aux débutant...
Mais étant un 'Vrai' débutant, je n'ai pas réussi à utiliser ce code :(
Y aurait-il possibilité d'avoir un projet pour concrétiser ce code ??
Merci
26 sept. 2003 à 14:01
Merci beaucoup, voila ce qui nous manquer
pour info sous delphi cela donne ca :
Type
BROWSEINFO = record
hOwner : integer ;
pidlRoot : integer ;
pszDisplayName : String ;
lpszTitle : String ;
ulFlags : integer ;
lpfn : integer ;
lParam : integer ;
iImage : integer ;
end ;
Volia et merci encore
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.