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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-01-2021
ArtPortEsp ArtPortEsp is offline
Miembro
 
Registrado: may 2018
Ubicación: Mexico
Posts: 151
Poder: 6
ArtPortEsp Va por buen camino
Nombres de archivos seleccionados

Buen dia

quisiera implementar la funcionalidad de que el usuario pueda seleccionar varios archivos desde el explorador de windows y "capturar" los nombres de esos archivos (incluyendo la ubicacion), para agregarlos a una base de datos.

No se ni como empezar.

Supongo que algo tiene que ver con DRAG and DROP, pero tengo un ejemplo (abajo), pero no hace nada :

Código:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  public
    { Public declarations }
  protected
    procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;

  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

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

procedure TForm1.WMDropFiles(var Msg: TWMDropFiles);
var
  DropH: HDROP;               // drop handle
  DroppedFileCount: Integer;  // number of files dropped
  FileNameLength: Integer;    // length of a dropped file name
  FileName: string;           // a dropped file name
  I: Integer;                 // loops thru all dropped files
  DropPoint: TPoint;          // point where files dropped
begin
     inherited;
     // Store drop handle from the message
     DropH := Msg.Drop;
     try
          // Get count of files dropped
          DroppedFileCount := DragQueryFile(DropH, $FFFFFFFF, nil, 0);
          // Get name of each file dropped and process it
          for I := 0 to Pred(DroppedFileCount) do
          begin
               // get length of file name
               FileNameLength := DragQueryFile(DropH, I, nil, 0);
               // create string large enough to store file
               SetLength(FileName, FileNameLength);
               // get the file name
               DragQueryFile(DropH, I, PChar(FileName), FileNameLength + 1);
               ShowMessage(FileName);
               Memo1.Lines.Add(Filename);
               // process file name (application specific)
               // ... processing code here
          end;
          // Optional: Get point at which files were dropped
          DragQueryPoint(DropH, DropPoint);
          // ... do something with drop point here
     finally
          // Tidy up - release the drop handle
          // don't use DropH again after this
          DragFinish(DropH);
     end;
     // Note we handled message
     Msg.Result := 0;
end;
Estoy usando Delphi 7 y Windows 10

Última edición por ArtPortEsp fecha: 28-01-2021 a las 21:18:44.
Responder Con Cita
 



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
como hacer que un DBLookupComboBox muestre un historico de nombres seleccionados? mematanlimon OOP 4 28-01-2010 18:00:35
Abrir archivos con nombres de archivos de otra codificación. matabyte Windows 2 01-05-2008 01:40:13
Extensión en nombres de archivos de fuente Ñuño Martínez Varios 6 05-07-2007 14:45:56
Problemas con los nombres de los archivos Alcolea Varios 4 15-02-2007 15:49:05
como obtener los nombres de archivos de un directorio ilichhernandez Varios 3 14-07-2006 17:49:57


La franja horaria es GMT +2. Ahora son las 10:52:40.


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