Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Dialog a carpetas o directorios

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Dialog a carpetas o directorios Responder citando

Hola amigos del foro
Hasta donde se el TOpenDialog que viene en el bcb6 solo da acceso a un fichero, pero si en este caso deseamos seleccionar un directorio o una carpeta en especifico y no su contenido, eso no podemos realizarlo, sino utilizando otros componentes. Trabajando con los jedi, tms y otros paquetes externos con ellos vienen unos componentes llamados TSelectDirectory o TOpenFolder que si realizan una llamada a la ventana de seleccionar directorio o carpeta de windows. He visto aca en el foro la posibilidad de llamar a la ventana de conexiones de red y otras, pero alguien podria decirme como hacer una llamada a la ventana que menciono aqui, es decir que me deje seleccionar una carpeta o un directorio?
muchas grcias
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Yo, para seleccionar una carpeta, uso este código:
Código:
//-----------------------------------------
#define NO_WIN32_LEAN_AND_MEAN

#include <WindowsX>

BROWSEINFO bi;
char WDir[MAX_PATH], FolderName[MAX_PATH], *cPath;
LPITEMIDLIST ItemID;
int nDirectorio = 0;
AnsiString cInicio;

while (nDirectorio == 0)
{
     memset(&bi, 0, sizeof(BROWSEINFO));
     memset(WDir, 0, MAX_PATH);
     bi.hwndOwner = NULL;
     bi.pszDisplayName = FolderName;
     bi.lpszTitle = "Seleccione la ubicación\r\nde los ficheros de datos";
     ItemID = SHBrowseForFolder(&bi);
     SHGetPathFromIDList(ItemID, WDir);
     GlobalFreePtr(ItemID);
     cInicio = String(WDir);
}

Me parece que no falta nada.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola Angel gracias por la rapida respuesta.
me da los siguientes errores

[C++ Error] Unit1.cpp(25): E2451 Undefined symbol 'BROWSEINFO'

el
#define NO_WIN32_LEAN_AND_MEAN
#include <WindowsX>

los he puesto debajo de
#include "Unit1.h"
que sucede?
gracias
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Disculpa Angel he leido otros post y simple

debe declararse asi

Código:
#define NO_WIN32_LEAN_AND_MEAN

#include <WindowsX>
#include <vcl>
#pragma hdrstop

#include "Unit1.h"


y no como yolo tenia eso era el rollo
muchas gracias de corazon agradecidisimo Razz
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Ya te decía que creía que no faltaba nada... ¡Error mío! Faltaban varias cosas.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.