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 27-01-2015
noobdelphi5 noobdelphi5 is offline
Miembro
NULL
 
Registrado: ene 2015
Posts: 22
Poder: 0
noobdelphi5 Va por buen camino
Smile Delphi arrastrar varios ficheros en una aplicación

Hola!

Soy nuevo en delphi, casi no se nada, necesito arrastrar varios archivos a mi aplicación para sacar sus nombres y hacer varias cosas, encontré un código pero solo agrega un fichero, ¿Quisiera saber cómo arrastro varios ficheros a la vez?

Código:
Código Delphi [-]
  DragAcceptFiles(Handle, True);
El código fuente/Source Code completo:
Código Delphi [-]
unit UnidadMenuPrincipal;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, shellapi;

type
  TformMenuPrincipal = class(TForm)
    lsFicheros: TListBox;
    Label1: TLabel;

    //para arrastrar y soltar
    procedure SoltarFichero  (var Msg: TWMDropFiles); message WM_DROPFILES;
    procedure FormCreate(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  formMenuPrincipal: TformMenuPrincipal;

implementation

{$R *.dfm}

procedure TformMenuPrincipal.SoltarFichero (var Msg : TWMDropFiles);
var
  CFileName: array[0..MAX_PATH] of Char;
begin
  try
    if DragQueryFile(Msg.Drop, 0, CFileName, MAX_PATH) > 0 then
    begin
      lsFicheros.Items.Add (CFileName);
      Msg.Result := 0;
    end;
  finally
    DragFinish(Msg.Drop); //finaliza arrastrar y soltar
  end;
end;

procedure TformMenuPrincipal.FormCreate(Sender: TObject);
begin
  //permitimos arrastrar y soltar
  DragAcceptFiles(Handle, True);
end;

end.

Última edición por nlsgarcia fecha: 29-01-2015 a las 05:16:29. Razón: Sintaxis Delphi
Responder Con Cita
  #2  
Antiguo 28-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración


Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 28-01-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola noobdelphi5.

Aplica estos cambios:
Código Delphi [-]
...
  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
  private
    procedure SoltarFichero(var Msg: TMessage); message WM_DROPFILES;
  ...

implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  DragAcceptFiles(Handle, True)
end;

procedure TForm1.SoltarFichero(var Msg: TMessage);
var
  i, tFiles: integer;
  fName: array [0..MAX_PATH] of Char;
begin
  tFiles:= DragQueryFile(Msg.WParam, $FFFFFFFF, fName, MAX_PATH) - 1;
  try
    for i:= 0 to tFiles do
    begin
      DragQueryFile(Msg.WParam, i, fName, MAX_PATH);
      ListBox1.Items.Add(fName)
    end;
  finally
    DragFinish(Msg.WParam);
  end;
end;
...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 29-01-2021 a las 01:11:33.
Responder Con Cita
  #4  
Antiguo 29-01-2015
noobdelphi5 noobdelphi5 is offline
Miembro
NULL
 
Registrado: ene 2015
Posts: 22
Poder: 0
noobdelphi5 Va por buen camino
Smile

Muchas Gracias, ya lo probe y funciona bien. Aqui estare dando lata ahora que estoy empezando con delphi.

Saludos!!
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿programar aplicacion delphi con varios usuarios/sesiones? JXJ Varios 2 02-08-2013 05:22:52
Arrastrar y soltar un archivo sobre la aplicación escafandra C++ Builder 7 05-04-2008 16:30:46
Como ejecutar una aplicación delphi en varios pc snowlis Varios 5 05-06-2007 17:31:06
Base de datos en varios ficheros mguixot Firebird e Interbase 6 05-05-2005 22:19:17
Dividir base interbase en varios ficheros Eolo Firebird e Interbase 2 02-06-2004 06:05:57


La franja horaria es GMT +2. Ahora son las 18:04:32.


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