Delphi 多文件拖放获取路径示例


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);
  private
    // 当文件拖放至窗体中后,系统将向窗体发送WM_DRAPFILES事件,
    // 因此我们可以在WMDROPFILES过程中获取文件总数及文件名。
    procedure WMDROPFILES(var Msg: TMessage); message WM_DROPFILES;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  // 当程序启动时,启用文件拖放功能。当第二个参数True时,
  // 启用文件拖放,如果为False则禁止文件拖放。
  DragAcceptFiles(Handle, True);
end;

procedure TForm1.WMDROPFILES(var Msg: TMessage);
var
  FilesCount: Integer; // 文件总数
  i: Integer;
  FileName: array [0 .. 255] of Char;
begin
  try
    Memo1.Clear;
  // 获取文件总数
    FilesCount := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 0);
    Memo1.Lines.Add(‘文件总数为:‘ + IntToStr(FilesCount));
  // 获取文件名
    for i := 0 to FilesCount - 1 do
      begin
        DragQueryFile(Msg.WParam, i, FileName, 256);
        Memo1.Lines.Add(FileName)
      end;
  finally

DragFinish(Msg.WParam);
  end;
end;

end.

来自为知笔记(Wiz)

Delphi 多文件拖放获取路径示例,布布扣,bubuko.com

时间: 2024-10-12 14:37:10

Delphi 多文件拖放获取路径示例的相关文章

C#项目打开/保存文件夹/指定类型文件,获取路径(转)

C#项目打开/保存文件夹/指定类型文件,获取路径 转:http://q1q2q363.xiaoxiang.blog.163.com/blog/static/1106963682011722424325/ 1.打开文件路径:                  OpenFileDialog ofd = new OpenFileDialog();                //new一个方法            ofd.Filter = "(*.et;*.xls;*.xlsx)|*.et;*.x

javascript 在js文件中获取路径

如果在*.js文件中获取当自己当前的路径是很重要的. 举个例子,如果一个css文件中引用图片,如background-img: url('./Images/bg.png').那么图片的路径,是相对于css文件而言的. 但是,如果我们再js文件中引用图片,如img.src = './images/bg.png';  但是,图片却不是根据js的相对路径的.而是根据(引用该js)的html的相对路径来决定的.这显然不合理. 所以如果我们能获取js文件的绝对路径的话,就会好很多.譬如 img.src =

JAVA文件中获取路径及WEB应用程序获取路径方法

原文转自:http://www.tqcto.com/article/recommend/141.html 1. 基本概念的理解 `绝对路径`:你应用上的文件或目录在硬盘上真正的路径,如:URL.物理路径 例如: c:/xyz/test.txt代表了test.txt文件的绝对路径: http://www.sun.com/index.htm也代表了一个URL绝对路径: `相对路径`:相对与某个基准目录的路径,包含Web的相对路径(HTML中的相对目录). 例如: 在Servlet中,"/"

C#打开/保存文件,获取路径

1.打开文件路径: OpenFileDialog a= new OpenFileDialog(); //new一个方法 a.Filter = "(*.et;*.xls;*.xlsx)|*.et;*.xls;*.xlsx|all|*.*"; //删选.设定文件显示类型 a.ShowDialog(); //显示打开文件的窗口 string fileName = a.FileName; //获得选择的文件路径 System.Diagnostics.Process.Start(fileName

C#中的文件路径获取函数和文件名字获取函数小结

1. 获取绝对文件路径 代码如下: System.IO.Path.GetFullPath(string path) string fileName = "myfile.ext"; string path1 = @"mydir"; string path2 = @"\mydir"; string fullPath; fullPath = Path.GetFullPath(path1); fullPath = Path.GetFullPath(fil

python 获取当前文件的绝对路径

import os os.path.abspath(__file__) #获取当前文件的绝对路径 os.path.dirname(os.path.abspath(__file__)) #获取当前文件所在目录 os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #获取当前文件所在目录的上级目录

IOS中获取各个文件的目录路径的方法和NSFileManager类

转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有

php获取两个文件的相对路径

例如:文件A 的路径是 /home/web/lib/img/cache.php 文件B的路径是 /home/web/api/img/temp/show.php 那么,文件A相对于文件B的路径是 ../../lib/img/cache.php function getRelativePath($urla,$urlb){ /*******第一步:获取两个文件的相同路径并去掉*****/ //获取路径名 $a_dirname=dirname($urla);   //$a_dirname=/home/w

JavaSE 文件递归之删除&获取文件夹文件夹中全部的以.jpg的文件的绝对路径

1.递归删除文件 假设一个文件夹以下还有子文件夹,进行删除的话会 报错,这个时候要使用递归的方式来删除这个文件文件夹中的全部文件以及文件夹 package cn.itcast.digui; import java.io.File; /** * 递归删除demo目录中全部文件包含目录 * 分析: * A:封装目录 * B:获取改目录下的全部文件或者目录 * C:遍历改file数组,得到每个File对象 * D:推断该file对象是都是目录 * 是:回到B * 否:删除 * @author Admi