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
236
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
236
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
236
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
cs_Galain
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
7
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
236
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
236
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