Visual Basic - Búsqueda Avanzada

Life is soft - evento anual de software empresarial
 
Vista:

Búsqueda Avanzada

Publicado por Nicolás (164 intervenciones) el 22/12/2001 19:10:59
Saludos...
En Windows 98 si vamos a Inicio -> Buscar -> Archivos o Carpetas..., aparece un buscador, si luego apretamos en Examinar... aparece una nueva pantalla llamada "Buscar Carpeta".
Mi preguna es: cómo puedo hacer uso de ésa pantalla en una aplicación de visual, o sea, por ej. apretando un botón que aparezca dicha pantalla y capturar la respuesta de ésa pantalla (si apretamos en Aceptar de dicha pantalla devuelve una dirección (Path))
Espero haber sido claro.
Desde yá Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Búsqueda Avanzada

Publicado por José Hernández Espinosa (27 intervenciones) el 24/12/2001 03:24:34
Hola,

Copia el código que sigue y guárdalo con el nombre que quieras y la extensión .bas

Hace exactamente lo que necesitas. Para llamar la función, utiliza algo así:

Dim ret
ret=fGetSpecialFolder(me)

Espero que te sea útil

Saludos

' ----- COPIAR --------

Attribute VB_Name = "modSpecialFolders"
Public Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

Public Const BIF_RETURNONLYFSDIRS = &H1
Public Const BIF_DONTGOBELOWDOMAIN = &H2
Public Const BIF_STATUSTEXT = &H4
Public Const BIF_RETURNFSANCESTORS = &H8
Public Const BIF_BROWSEFORCOMPUTER = &H1000
Public Const BIF_BROWSEFORPRINTER = &H2000
Public Const MAX_PATH = 260

Public Declare Function SHGetPathFromIDList _
Lib "shell32.dll" Alias "SHGetPathFromIDListA" _
(ByVal pidl As Long, _
ByVal pszPath As String) As Long

Public Declare Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" _
(lpBrowseInfo As BROWSEINFO) As Long

Public Declare Sub CoTaskMemFree Lib "ole32.dll" _
(ByVal pv As Long)


Public Function fGetSpecialFolder(frm As Form) As String
Dim bi As BROWSEINFO
Dim pidl As Long
Dim path As String
Dim pos As Integer
retVal = ""
bi.hOwner = frm.hWnd
bi.pidlRoot = 0& %
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar