DIRECTORY BROWSER

gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 - 12 avril 2003 à 01:46
aljalvin Messages postés 1 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 19 mars 2008 - 19 mars 2008 à 12:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/11501-directory-browser

aljalvin Messages postés 1 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 19 mars 2008
19 mars 2008 à 12:30
Ton code est super, petite amélioration

Au lieu d'un Void mets un boolean
déclare une variable boolean Réponse
et aprés ,

if (pidl <> 0) Réponse = True
else Réponse = False
Return Réponse

ce qui te permet de faire l'intruction suivante
if Odd.Show(....) = true
{
//Traitement
Odd.directory
}

je te remercie encore pour ce code, il m'as était bien utile
sparky_rv Messages postés 9 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 6 octobre 2004
18 janv. 2004 à 18:46
pas mal la petite fonction ! parcontre j en ai pas trouvé une qui permetrait d avoir le contenu d un repertoire ... une fonction du genre "FileBrowserDialog" car j ai fait une appli qui crache des fichiers dans un rep et j ai pas trouvé mieu que d ouvrir un explorer dans le rep en question ... voila donc si qqu un a un tuyau merci...
ps peut etre en utilisant "OpenFileDialog" je suis dessus ... a suivre :/
cs_cariboux Messages postés 3 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 janvier 2004
6 janv. 2004 à 15:24
Merci gg00xiv pour ce petit bout de code bien sympathique quand on utilise pas le framework 1.1 :)

Il y a t il un moyen de trapper le click sur le bouton annuler de la fenetre affichant l'arboresence?

Merci
tiborg Messages postés 7 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 13 novembre 2004
23 sept. 2003 à 18:49
Merci gg00xiv pour l'update 2.3 !
en fait j'avais trouvé la solution y a quelques jours et je voulais la poster mais le server web lui même ne marchait pas.. :o)
En tout cas continue à nous pondre des pti codes bien sympa comme ça .. c'est super utile !
ciao
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
23 sept. 2003 à 08:41
bon apparemment, les backslash ne passent plus sur les postes... tres ennuyeux
this.directory = Encoding.ASCII.GetString(path).Replace("\0","");
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
23 sept. 2003 à 08:40
ya un caractère ki n'est apparemment pas passé :
desolé :

this.directory = Encoding.ASCII.GetString(path).Replace(" 0","");
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
23 sept. 2003 à 08:39
update 2.3 :)

this.directory = Encoding.ASCII.GetString(path).Replace("","");
afra59 Messages postés 29 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 4 février 2004
22 sept. 2003 à 17:28
folderBrowserDialog fait partie du framework 1.1 et pas de visual, vous pouvez donc l'utiliser du moment que vous avait le framework dans cette version
tiborg Messages postés 7 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 13 novembre 2004
19 sept. 2003 à 18:39
J'ai un pti soucis avec ta classe, le répertoire renvoyé est sous un string qui fait toujours 260 caractères, et ça me cause des problèmes pour la suite dans mon programme car ce n'est pas la réelle longueur de la chaine.. peux tu m'aider ou m'apporter un update 2.3 :) ?
cs_chessandmat Messages postés 23 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 13 février 2007
24 juil. 2003 à 18:27
Sauf que je n'ai pas VS.NET 2003 et donc pas FolderBrowserDialog. J'ai juste VS.NET 2002. Donc je reitere ma question avec le code donne precedemment.
Merci quand mem.
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
24 juil. 2003 à 16:57
Tu a une propriété de FolderBrowserDialog qui s'appelle ShowNewFolderButton et qui est a true par defaut

Pour supprimer tu tape juste sur "Suppr" en te positionnant sur un dossier ... enfin je pense
cs_chessandmat Messages postés 23 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 13 février 2007
22 juil. 2003 à 14:38
Savez-vous comment faire pour que l'on puisse creer ou supprimer des repertoires avec le directory browser ?
Merci d'avance.
P.S. : j'ai VS.NET 2002
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
18 juil. 2003 à 18:54
Bon, en fait dans VS.NET 2003 pour ceux qui l'on un composant nommé FolderBrowserDialog existe et se met en place tout comme OpenFileDialog ou SaveFileDialog donc toute cette prise de tête avec les API aura été vaine :)
cs_chessandmat Messages postés 23 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 13 février 2007
10 juil. 2003 à 16:09
Ca serait pas mal si on pouvait choisir un repertoire preselectionner
cs_chessandmat Messages postés 23 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 13 février 2007
10 juil. 2003 à 14:15
gg00xiv pour ton pb, voici une correction :
public void Show(IntPtr hWnd, string title)
{
BROWSEINFO bi = new BROWSEINFO();
int pidl;
byte[] path = new byte[260];
byte[] path2;

bi.hOwner = hWnd;
bi.pidlRoot = 0;
bi.title = title;
bi.flags = 1;

pidl = SHBrowseForFolderA(ref bi);
SHGetPathFromIDListA(pidl,path);
int i;
for (i = 0 ; i < 260 ; i++)
if (path[i] == 0)
break;
path2 = new byte[i];
for (int j = 0 ; j < i ; j++)
path2[j] = path[j];
this.directory = Encoding.ASCII.GetString(path2);

CoTaskMemFree(pidl);
}
cs_chessandmat Messages postés 23 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 13 février 2007
10 juil. 2003 à 14:12
Merci pour ce code qui m'a ete tres pratique. Par contre je crois qu'on peut mettre une option pour creer et supprimer des repertoires dans le browser. Sais-tu ce qu'il faudrait rajouter ?
Merci d'avance
Cordialement
chessandmat
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
12 avril 2003 à 01:46
un petit soucis, le titre du dialog censé s'affiché n'apparait pas. le paramêtre "string" est sans doute en cause.
Si quelqu'un a une solution ...

merci
Rejoignez-nous