Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Option form- guardar preferencias

Estas en el tema de Option form- guardar preferencias en el foro de Visual Basic clásico en Foros del Web. Hola, lo que estoy necesitando es hacer un form con un commondialog de seleccionar directorio (no se como se llama). Luego de apretar ok o ...
  #1 (permalink)  
Antiguo 15/06/2006, 14:20
 
Fecha de Ingreso: febrero-2006
Mensajes: 92
Antigüedad: 18 años, 2 meses
Puntos: 0
Option form- guardar preferencias

Hola, lo que estoy necesitando es hacer un form con un commondialog de seleccionar directorio (no se como se llama). Luego de apretar ok o abrir en el common dialog, que ese directorio seleccionado(la ruta) se copie a un textbox. Y luego que esa preferencia quede grabada para siempre hasta que la vuelvan a cambiar.
Gracias
  #2 (permalink)  
Antiguo 16/06/2006, 16:25
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Para obtener la ruta con el CommonDialog:
Código:
With CommonDialog1
   .ShowOpen
   Text1.Text = .FileName
End With
Y para guardarlo "para siempre", podrias guardar la ruta en el registro o si estas utilizando una Base de Datos la guardas ahi...
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #3 (permalink)  
Antiguo 16/06/2006, 21:02
 
Fecha de Ingreso: febrero-2006
Mensajes: 92
Antigüedad: 18 años, 2 meses
Puntos: 0
Mas bien estoy buscando para sleccionar direcotorios y no archivos , una vantana de este tipo:


Y que el directorio aparezca en el cuadro de texto
Saludos
  #4 (permalink)  
Antiguo 16/06/2006, 23:48
Avatar de [EX3]  
Fecha de Ingreso: marzo-2006
Ubicación: Fuenlabrada, Madrid
Mensajes: 203
Antigüedad: 18 años, 1 mes
Puntos: 1
Aqui tienes el codigo de declaracion del BrowserDialog en el API de Windows y una funcion para llamarlo comodamente desde tu programa:

Module1.bas
Código:
Option Explicit

'Constantes para ventana de directorios:
Public Const BIF_BROWSEFORCOMPUTER = 1000
Public Const BIF_BROWSEFORPRINTER = 2000
Public Const BIF_DONTGOBELOWDOMAIN = 2
Public Const BIF_RETURNFSANCESTORS = 8
Public Const BIF_RETURNONLYFSDIRS = 1
Public Const BIF_STATUSTEXT = 4

Public Const MAX_SIZE = 255

'Estructura para ventana de directorios:
Public Type BROWSEINFO
         hwndOwner 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

'Abre la ventana de seleccion de directorio:
Public Declare Function BrowseFolderDlg Lib "shell32.dll" Alias "SHBrowseForFolder" (lpBrowseInfo As BROWSEINFO) As Long

'Devuelve la ruta del directorio seleccionado en la ventana de seleccion de directorio:
Public Declare Function GetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDList" (ByVal PointerToIDList As Long, ByVal pszPath As String) As Long

'Abre la ventana de seleccion de directorio:
Public Function DLG_BrowseFolder(hwnd As Long, Title As String) As String
On Local Error Resume Next

Dim mBrowseInfo As BROWSEINFO
Dim mPointerToIDList As Long
Dim mResult As Long
Dim mPathBuffer As String
Dim sReturn As String

         sReturn = ""
         With mBrowseInfo
                      .hwndOwner = hwnd
                      .pidlRoot = 0
                      .lpszTitle = Title
                      .pszDisplayName = String(MAX_SIZE, Chr(0))
                      .ulFlags = BIF_RETURNONLYFSDIRS
         End With
         mPointerToIDList = BrowseFolderDlg(mBrowseInfo)

         If mPointerToIDList <> 0& Then
                      mPathBuffer = String(MAX_SIZE, Chr(0))
                      mResult = GetPathFromIDList(ByVal mPointerToIDList, ByVal mPathBuffer)
                      sReturn = Left$(mPathBuffer, InStr(mPathBuffer, Chr(0)) - 1)
         End If

DLG_BrowseFolder = sReturn

End Function
Luego para llamarlo tan sencillo como esto:
Código:
Option Explicit

Private Sub Form_Load()
    MsgBox = DLG_BrowseFolder(Me.hwnd, "Seleccione directorio")

End Sub
Salu2...
__________________
Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX

Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra.

  #5 (permalink)  
Antiguo 17/06/2006, 12:08
 
Fecha de Ingreso: febrero-2006
Mensajes: 92
Antigüedad: 18 años, 2 meses
Puntos: 0
Gracias
Ahora lo que no se como hacer es q ese directorio que selecciona el usuario quede grabado para siempre en un archivo o en algun lado, menos en el registro de windows, para que cuando se cargue de nuevo el prgrama se cargue tambien ese directoio
Gracias de nuevod
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:37.