| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Lun 02 Nov, 2009 2:46 pm Asunto: Dialog a carpetas o directorios |
|
|
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 02 Nov, 2009 4:37 pm Asunto: |
|
|
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 |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Lun 02 Nov, 2009 4:44 pm Asunto: |
|
|
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 |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Lun 02 Nov, 2009 5:10 pm Asunto: |
|
|
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  _________________ Todos somos ignorantes, lo que no todos ignoramos lo mismo... |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
|