Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-08-2004
soul6301 soul6301 is offline
Miembro
 
Registrado: may 2004
Posts: 77
Poder: 20
soul6301 Va por buen camino
Question Mostrar directorios de Mi Pc

Hola:

¿Qué componente o unidad me permite mostrar la ventana donde aparecen los directorios de Mi PC?

[img]c:mis documentosdibujo.bmp[/img]

Gracias.
Responder Con Cita
  #2  
Antiguo 10-08-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por soul6301
¿Qué componente o unidad me permite mostrar la ventana donde aparecen los directorios de Mi PC?
Puedes utilizar los componentes de la paleta Samples llamados ShellTreeView, ShellComboBox y ShellListView; Son sencillos, aunque en la versión 6 de delphiu (desconozco en las demás) tienen algún pequeño Bug. Échales un vistazo, son bastante fáciles de configurar.

Otra opción por código es utilizar una función existente en la unit FileCtrl (que deberás añadir al uses)

Código Delphi [-]
var
  Dir : String;
begin
  SelectDirectory(Dir,[],0);
  ShowMessage(Dir);

y otra opción es utilizar directamnte la API de windows SHBrowseForFolder

Código Delphi [-]
var
  TitleName : string;
  lpItemID : PItemIDList;
  BrowseInfo : TBrowseInfo;
  DisplayName : array[0..MAX_PATH] of char;
  TempPath : array[0..MAX_PATH] of char;
begin
  // Inicializar
  FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
  BrowseInfo.hwndOwner := Form1.Handle;
  BrowseInfo.pszDisplayName := @DisplayName;
  // Título para tu ventana de seleccion
  TitleName := 'Please specify a directory';
  BrowseInfo.lpszTitle := PChar(TitleName);
  // Diferentes opciones (mira la API), hay diferentes valores:
  // BIF_BROWSEFORCOMPUTER (SOLO ORDENADORES),
  // BIF_BROWSEFORPRINTER (Sólo impresoras),
  // BIF_DONTGOBELOWDOMAIN (no incluidos los de red),
  // BIF_RETURNFSANCESTORS (el botón de OK se desactiva si la selección dno es correcta),
  // BIF_RETURNONLYFSDIRS (sólo enseña directorios),
  // BIF_STATUSTEXT
  BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
  lpItemID := SHBrowseForFolder(BrowseInfo);
  // Se ha selecconado algo?
  if lpItemId <> nil then begin
    SHGetPathFromIDList(lpItemID, TempPath);
    ShowMessage(TempPath);
    GlobalFreePtr(lpItemID);
  end;

en éste último caso deberás añadir la unit ShellAPI al uses.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 14-08-2004
soul6301 soul6301 is offline
Miembro
 
Registrado: may 2004
Posts: 77
Poder: 20
soul6301 Va por buen camino
Gracias. Voy a intentar con las opciones que me das. Gracias otra vez.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:14:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi