Boite dialogue sélection de fichier [Résolu]

Signaler
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
227
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.
Messages postés
3
Date d'inscription
samedi 5 mai 2007
Statut
Membre
Dernière intervention
23 février 2013

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
'*******************************************************************************
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
227
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.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
227
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.
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
227
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.
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
1
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.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
227
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.