Abrir el cuadro de diálogo que permite escoger una carpeta

5418 vistas

La función SelectDirectory muestra el explorador de carpetas de Windows. Para usarla necesitamos incluir la unidad FileCtrl en la cláusula Uses.

Esta función tiene dos formatos de llamada diferentes:

SelectDirectory(const Caption: string; const Root: WideString; out Directory: string): Boolean; Esta versión permite escoger la carpeta de inicio de búsqueda y el título de la ventana.



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   Carpeta: string;
  4. begin
  5.   If SelectDirectory('Escoge la carpeta', 'C:\TEMP\', Carpeta) Then
  6.     Label1.caption := Carpeta;
  7. end;



SelectDirectory(var Directory: string; Options: TSelectDirOpts; HelpCtx: Longint): Boolean; Esta versión permite definir qué pasará si el usuario escoge una carpeta innexistente.



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   Carpeta: string;
  4. begin
  5.   If SelectDirectory(Carpeta, [sdAllowCreate, sdPerformCreate, sdPrompt], 0) Then
  6.     Label1.caption := Carpeta;
  7. end;



sdAllowCreate autoriza la selección de una carpeta innexistente
sdPerformCreate autoriza al cuadro de diálogo a crear la carpeta
sdPrompt pide confirmación en caso de tener que crear la carpeta