Boite dialogue sélection de fichier

Résolu
cs_marco62118 Messages postés 176 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 1 avril 2013 - 23 févr. 2013 à 14:35
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 25 févr. 2013 à 12:58
bonjour
je recherche une boite de dialogue conviviale pour sélectionner des fichiers plus comme "SHBrowseForFolder" pour sélectionner un répertoire. actuellement j'utilise "CommonDialog1" mais archaique et en plus elle ne gère pas les noms long

merci d'avance

8 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
23 févr. 2013 à 19:09
Plus là ?
Bon. Je suppose alors que tu as enfin ouvert ton aide CommonDialog et découvert certaines petites "choses".
Celle-ci, par exemple :
Tapez le texte de l'url ici.
A moins que tu ne te sois décidé (enfin) à ouvrir ton aide VB6 à la rubrique CommonDialog Control Constants (ma version est en anglais) et que tu y as découvert plein de petites "choses" également.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
3
DGI972 Messages postés 3 Date d'inscription samedi 5 mai 2007 Statut Membre Dernière intervention 23 février 2013
23 févr. 2013 à 15:06
Bonjour,

J'utilise une dll dynawrap:
http://glsft.free.fr/index.php?option=com_content&task=view&id=47&Itemid=33
ou http://freenet-homepage.de/gborn/WSHBazaar/WSHDynaCall.htm
Il faut enregistrer cette DLL avec regsvr32 C:\DynaWrap.dll *
Merci encore une fois a Gilles LAURENT sur le Newgroup vbscript.fr

fich_index = ChooseFile("C:\NPAI_OC\IN") 'Choisir un fichier avec la dll dynawrap avec le chemin
Set oFs=CreateObject("Scripting.FileSystemObject")
Set oFilein=oFs.OpenTextFile(fich_index)

'*******************************************************************************
'Function Choosefile (le chemin racine) *
'Il faut la DLL dynawrap disponible sur: *
'http://glsft.free.fr/index.php?option=com_content&task=view&id=47&Itemid=33 *
'ou http://freenet-homepage.de/gborn/WSHBazaar/WSHDynaCall.htm *
'Il faut enregistrer cette DLL avec regsvr32 C:\DynaWrap.dll *
' Merci encore une fois a Gilles LAURENT sur le Newgroup vbscript.fr *
'*******************************************************************************
Function ChooseFile (sInitPath)
Set oDyn=CreateObject("DynamicWrapper")
oDyn.Register "ComDlg32.dll", "GetOpenFileNameW", "r=b", "i=l"
sOpenFileName=String(76/2, Chr(0))
sFileName=String(256, Chr(0))
dwBSTRAddr=oDyn.GetBSTRAddr(sOpenFileName)
oDyn.SetMemInBSTRAddr dwBSTRAddr,0,4,76
oDyn.SetMemInBSTRAddr dwBSTRAddr,28,4,oDyn.GetBSTRAddr(sFileName)
oDyn.SetMemInBSTRAddr dwBSTRAddr,32,4,256
oDyn.SetMemInBSTRAddr dwBSTRAddr,44,4,oDyn.GetBSTRAddr(sInitPath)
oDyn.SetMemInBSTRAddr dwBSTRAddr,52,4,4096 Or 4
oDyn.GetOpenFileNameW(dwBSTRAddr)
ChooseFile=Replace(sFileName, Chr(0), "")
End Function
'*******************************************************************************
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
23 févr. 2013 à 15:08
Bonjour,
actuellement j'utilise "CommonDialog1" mais archaique et en plus elle ne gère pas les noms long

1) Commondialog1 ? ===>> Inconnu ! Je pense que tu veux parler du contrôle CommonDialog !
2) archaique ? Tiens donc ! ===>> je n'en connais pas d'autre !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
23 févr. 2013 à 19:22
Sans compter que même la propriété Flags (à ouvrir dans ton aide VB6) t'aurait également conduit à faire cette découverte des constantes nécessaires.
Alors :
mais archaique et en plus elle ne gère pas les noms long

je te laisse seule juge de ce que ce contrôle est "archaique" ou toi "peu avancé".
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
24 févr. 2013 à 14:32
Salut ucfoutu
Bien souvent l'archaïque est la base !

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
24 févr. 2013 à 14:57
salut à toi, Alain,
Dans le présent cas de figure, toutefois, la certitude d' "archaisme" ne trouve d'autre fondement que celui de l'ignorance

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
cs_marco62118 Messages postés 176 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 1 avril 2013 1
25 févr. 2013 à 12:49
bonjour
Merci pour vos réponses.
j'ai apprécié la citation de "ucfoutu"
je te laisse seule juge de ce que ce contrôle est "archaique" ou toi "peu avancé".
et de ce fait regardé ton profil, du coup je ne suis plus étonné!
Je prendrais volontiers un peu plus de temps pour commenter ton profil et de philosopher avec toi.
Je te remercie tout de même ç'est vraiment ce qui me manquer pour que la boîte de dialogue soit à la mode.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
25 févr. 2013 à 12:58
Bonjour, marco62118,
Je crois que certaines choses ne méritent rien d'autre (et aucune philosophie) que l'invite à s'intéresser de près à ce que l'on utilise.
Il se trouve simplement que le composant incriminé est l'un des plus parfaits et complet que je connaisse. Il se trouve également que Microsoft n'a jamais (et je pense qu'il ne le fera jamais) remplacé la dll et la fonction que ce contrôle utilise (et pour cause : je ne vois même pas comment on pourrait l'améliorer ! Tout y est !)
Bonne étude.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0