Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Arrastrar documento hacia icono ¿Cómo? (https://www.clubdelphi.com/foros/showthread.php?t=39601)

rafadf 25-01-2007 01:16:37

Arrastrar documento hacia icono ¿Cómo?
 
Hola a todos:

Tengo que desarrollar una pequeña aplicación en Delphi que envíe a través de ftp un archivo dado a una determinada dirección ftp. Hasta aquí no hay problema ya que se como hacerlo. El problema es que la aplicación debe tener su correspondiente icono en el escritorio de windows y simplemente arrastrando el archivo encima de este icono debe ser enviado via ftp. (Osea que debe funcionar igual que la papelera de reciclaje...) . ¡Esto es lo que no tengo ni idea de como se puede hacer!
¿Alguíen sabe como?

Muchas gracias y un saludo.

Rafa.

roman 25-01-2007 01:33:59

Cuando arrastras un archivo sobre el icono de la aplicación, o sobre un acceso directo a la aplicación, el sistema abre la aplicación pasándole como parámetro el nombre del archivo arrastrado. Entonces bastaría que tu aplicación leyera ese nombre al inicio:

Código Delphi [-]
if ParamCount > 0 then
  EnviaArchivo(ParamStr(1));

Agrego

Puedes de hecho arrastrar varios archivos a la vez. El siguiente código te listaría todos ellos en un Memo:

Código Delphi [-]
procedure TForm1.FormShow(Sender: TObject);
var
  I: Integer;

begin
  for I := 1 to ParamCount do
    Memo1.Lines.Add(ParamStr(I))
end;

// Saludos

Lepe 25-01-2007 01:35:38

El icono en el escritorio es un acceso directo y en su linea de "destino" puedes poner algo así:

"c:\mi programa\ftp.exe" "%1"

el programa que realmente se ejecutará es ftp.exe y tendrá un parámetro de entrada que es, precisamente, el archivo que se ha soltado encima del icono.

Para que el programa ftp.exe reconozca ese parámetro debe incluir una línea de comandos al más puro estilo msdos, mira en la ayuda de delphi la función GetCommandLine y paramstr que sin duda te serviran.

Pues ya que edito el mensaje para indicar que roman se me adelantó, aprovecho para darte la Bienvenida a los foros rafadf ;).

Saludos

rafadf 25-01-2007 12:20:56

Muchas gracias Roman y Lepe, me habeis ayudado mucho :) . Da gusto encontrar respuestas tan rápidas y claras. Un saludo y de nuevo gracias. ;)


La franja horaria es GMT +2. Ahora son las 05:20:20.

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