Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Abrir Carpeta (https://www.clubdelphi.com/foros/showthread.php?t=52527)

RoyTan 23-01-2008 19:55:47

Abrir Carpeta
 
Saludos.
Necesito abrir una carpeta pulsando un botón.
Ejemplo:
Cuando haga clic en un botón se vea el contenido de la carpeta escritos en C:\datos\Escritos.
¿Sería posible que lo hiciera Windows con una llamada a la Api por ejemplo?
Gracias.

enecumene 23-01-2008 20:05:57

Cita:

Empezado por RoyTan (Mensaje 260311)
Saludos.
Necesito abrir una carpeta pulsando un botón.
Ejemplo:
Cuando haga clic en un botón se vea el contenido de la carpeta escritos en C:\datos\Escritos.
¿Sería posible que lo hiciera Windows con una llamada a la Api por ejemplo?
Gracias.

Hola RoyTan, con el componente OpenDialog lo puedes hacer, un ejemplo:

Código Delphi [-]
OpenDialog1.InitialDir := 'C:\Ruta';
OpenDialog1.Execute;

desde un Edit:

Código Delphi [-]
OpenDialog1.InitialDir := Edit1.Text;
OpenDialog1.Execute;

Saludos.

elcolo83 23-01-2008 20:08:28

En el evento OnClick del boton pone este codigo:

Código Delphi [-]
ShellExecute(application.Handle, 'explore', 'c:\datos\Escritos', '', '', SW_SHOW);

eso abre el eplorador en esa carpeta... acordate de poner ShellApi en el uses del form

Saludos

ixMike 23-01-2008 20:23:44

Cita:

Empezado por elcolo83 (Mensaje 260318)
En el evento OnClick del boton pone este codigo:

Código Delphi [-]ShellExecute(application.Handle, 'explore', 'c:\datos\Escritos', '', '', SW_SHOW);


eso abre el eplorador en esa carpeta... acordate de poner ShellApi en el uses del form

Saludos

Yo creo que mejor así (que alguien lo sepa a ciencia cierta me corrija):

Código Delphi [-]
var
  Carpeta: string;
begin
  Carpeta:='C:\datos\Escritos';
  ShellExecute(Application.Handle, PChar(Carpeta), '', nil, nil, SW_SHOW);
end;

Así, si tienes otro explorador por defecto que no sea el explorer, se abriría ese (o eso tengo entendido).

Y lo del Handle, puedes poner sólo Handle (sería el del Form), o poner 0, se va a ejecutar de todas formas :D

Claro que, la pregunta de RoyTan es un poco ambigua. Este método lo que hace es abrir el explorador en esa carpeta. Pero si lo que quiere es visualizarla para obtener datos para su aplicación... OpenDialog, FileList...

Salu2.

RoyTan 23-01-2008 21:56:46

Las tres explicaciones, tanto la de Enecumene, como la de Elcolo83 y la de IxMike funcionan a la perfección.

Mil gracias a todos.

Un abrazo.:D

ixMike 23-01-2008 22:15:47

Bueno, que funcionan lo sabemos, pero... ¿cuál de las dos es la que necesitabas? :D:D:D

enecumene 24-01-2008 14:59:33

Cita:

Empezado por ixMike (Mensaje 260366)
Bueno, que funcionan lo sabemos, pero... ¿cuál de las dos es la que necesitabas? :D:D:D

Vale Hombre, cuales dos si son tres?:confused::confused::D

ixMike 24-01-2008 15:08:35

Cita:

Empezado por enecumene (Mensaje 260539)
Vale Hombre, cuales dos si son tres?:confused::confused::D

La de elcolo83 y la mía son la misma, sólo que expresada de forma algo distinta. La otra es la tuya.

¡Que sé lo que me digo! :D:D:D


Salu2 ;).

elcolo83 24-01-2008 15:12:54

Como dice ixMike , la de el y la mia son iguales.... solo que la de es esta mejor expresada, lo que lo hace un poco mas generica...


Saludos

enecumene 24-01-2008 15:15:47

Cita:

Empezado por ixMike (Mensaje 260544)
La de elcolo83 y la mía son la misma, sólo que expresada de forma algo distinta. La otra es la tuya.

¡Que sé lo que me digo! :D:D:D


Salu2 ;).

Vale Hombre no habia entendido, porque no habias especificado cuales, solo cuantificaste dos, :D:D

Saludos.

RoyTan 24-01-2008 23:57:42

Al final me han valido todas, porque las he utilizado en sitios distintos y todo perfecto.

Gracias de nuevo.


La franja horaria es GMT +2. Ahora son las 16:35:54.

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