OVH Cloud OVH Cloud

paramètre supplémentaire de OpenFileDialogue

2 réponses
Avatar
scraper
bonsoir à tous !

dans mon code,j'utilise la fonction :
-------
Function OpenFileDialog(Optional DialogTitle As String, Optional sFilter As String, Optional Flags As OFN_Constants, Optional
InitialDir As String, Optional hwndOwner As Long, Optional hInstance As Long) As String
-------
pour parcourir l'arborescence des répertoires à la recherche d'un fichier

ça va jusque là ...

j'ai placé un filtre (je veux que des exe en retour), et des flags appropriés à ce que je désire ...

mais je souhaiterais en outre préafficher, si c'est possible (comme on le voit parfois dans certaines appli), le nom du fichier que
je recherche (tjs le même) dans la zone de saisie "fichier" de cette fenêtre ...

ou au moins, qu'il s'affiche automatiquement , si le répertoire sélectionné le contient ?
(un peu comme avec la boite de sélection de fichiers manquants affichée par Windows ... )

or, j'ignore quel paramètre passer, pour celà, si c'est possible ??

merci d'avance

--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper

2 réponses

Avatar
François Picalausa
Bonjour/soir,

Cette fonction doit utiliser en interner une structure (un type)
OPENFILENAME
Le paramètre de cette strcuture peut contenir le nom de fichier.

If Len(InitFile) > 1024 Then
OFNStruct.lpstrFile = InitFile & Chr(0)
Else
OFNStruct.lpstrFile = InitFile & String(1024- Len(InitFile), Chr(0))
& Chr(0)
End If

Initfile désigne une chaine contenant le chemion vers le fichier.

String(1024 - Len(InitFile), Chr(0))
Sert à ajouter quelques caractères au buffer pour avoir un minimum d'espace
pour stoquer le path de retour (ce qui n'exclu pas qu'il puisse toujours y
avoir un manque de place).

& Chr(0)
est utilisé pour s'assurer que la chaine soit null terminated (terminée par
null)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"scraper" a écrit dans le message de
news:
bonsoir à tous !

mais je souhaiterais en outre préafficher, si c'est possible (comme
on le voit parfois dans certaines appli), le nom du fichier que je
recherche (tjs le même) dans la zone de saisie "fichier" de cette
fenêtre ...

merci d'avance


Avatar
scraper
Salut à François Picalausa, qui nous a nous a écrit/ répondu

dans son message % :


Bonjour/soir,



bonjour ! :-)


Cette fonction doit utiliser en interner une structure (un type)
OPENFILENAME
Le paramètre de cette strcuture peut contenir le nom de fichier.

If Len(InitFile) > 1024 Then
OFNStruct.lpstrFile = InitFile & Chr(0)
Else
OFNStruct.lpstrFile = InitFile & String(1024- Len(InitFile),
Chr(0)) & Chr(0)
End If




j'avoue que je suis perplexe ?

j'ai bien une structure associée à cette fonction :

Dim OFName As OPENFILENAME, initFile As String
With OFName
.lStructSize = Len(OFName)
.hwndOwner = hwndOwner
.hInstance = hInstance
.lpstrFilter = sFilter
.lpstrFile = Space$(254)
.nMaxFile = 255
.lpstrFileTitle = Space$(254)
.nMaxFileTitle = 255
.lpstrInitialDir = InitialDir
.lpstrTitle = DialogTitle
.Flags = Flags
End With

j'ai essayé d'y coller ton code, et ça ne fonctionne pas ?

par ailleurs, si je cherche à modifier, dans la structure, directement le paramètre lpstrFile , en y collant le nom que je veux voir
apparaitre, ce dernier apparait bien, mais ensuite le code se bloque ??

voici en fait ce que je chjerche à réaliser :

je recherche un fichier, disons "toto.txt" .. j'ai mis en place un filtre, dans la fonction OpenFileDialog, pour n'afficher que ce
fichier

or, je voudrais (si c'est possible !) que, lorsque je parcours les répertoires, à la recherche de ce fichier, s'il se trouve dans le
répertoire que je viens d'ouvrir, il s'affiche directement dans la zone "nom de fichier", comme si j'avais cliqué dessus ?

(si c'est ce que tu m'as indiqué ci dessus .. toutes mes excuses, j'ai pas su m'en servir ! :-((

merci ...

--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper