首页 > 其他分享 >Delphi 2010 新增功能之: IOUtils 单元(1): 初识 TDirectory.GetFiles

Delphi 2010 新增功能之: IOUtils 单元(1): 初识 TDirectory.GetFiles

时间:2024-05-31 09:21:49浏览次数:22  
标签:files GetFiles Delphi IOUtils procedure str TDirectory Memo1

用 IOUtils 单元下的 TDirectory.GetFiles 获取文件列表太方便了;

下面的例子只是 TDirectory.GetFiles 的典型应用...



unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses IOUtils, Types;

{这是随意拿来的测试路径}
const path = 'C:\Program Files\Embarcadero\RAD Studio\7.0';

//获取指定目录下的所有文件
procedure TForm1.Button1Click(Sender: TObject);
var
  dir: TDirectory; {这是个结构, 后面就不再声明了, 将直接使用}
  files: TStringDynArray; {TStringDynArray = array of string;}
  str: string;
begin
  files := dir.GetFiles(path);
  Memo1.Clear;
  for str in files do Memo1.Lines.Add(str);
end;

//获取指定目录下的所有指定类型的文件
procedure TForm1.Button2Click(Sender: TObject);
var
  files: TStringDynArray;
  str: string;
begin
  files := TDirectory.GetFiles(path, '*.txt');
  Memo1.Clear;
  for str in files do Memo1.Lines.Add(str);
end;

//获取指定目录及其嵌套目录下的所有指定类型的文件
procedure TForm1.Button3Click(Sender: TObject);
var
  files: TStringDynArray;
  str: string;
begin
  files := TDirectory.GetFiles(path, '*.txt', TSearchOption.soAllDirectories);
  Memo1.Clear;
  for str in files do Memo1.Lines.Add(str);
end;

end.

标签:files,GetFiles,Delphi,IOUtils,procedure,str,TDirectory,Memo1
From: https://www.cnblogs.com/xionda/p/18223789

相关文章

  • delphi 三层源码框架
    一,框架简介1,本套源码主要是用来开发企业应用系统如:erp,mes,hrms,进销存等制造业内部应用系统;跟网上常见的delphi中间件相比,功能更丰富,开发便捷。若用来开发一些几千上万的高并发,垮平台,实时高效的系统,可能需要自己优化下代码。(交流微信173713873)2,此框架服务端没有使用任何第三......
  • 安装和使用delphi最后的余辉:lazarus集成编译环境@FreeBSD
    遥想当年,最牛最流行的两个编程IDE是Delphi和VisualBasic,结果这么多年下来,VB已经没有往昔的热度,而Delphi也已经消亡在历史的长河中。不过Delphi的精神没消失,lazarus坚守delphi的编程风格,散发delphi最后的余辉。Lazarus介绍Lazarus是一个基于FreePascal的跨平台集成开发环境(I......
  • Delphi 防止程序重复运行
    Delphi防止程序重复运行,D11.3/D12调试通过代码如下红色部分即可programProMain;uses Vcl.Forms,Windows,SysUtils, DmPasin'DmPas.pas'{DM:TDataModule}, uFrmMainin'uFrmMain.pas'{FrmMain};{$R*.res}VarhMutex:HWND;//把HWND换成Cardinal,因为Cre......
  • Delphi CxGrid/CxDBTreeList等将排序筛选条件改为中文方法
    Delphi CxGrid/CxDBTreeList等将排序筛选条件改为中文方法一、加入cxLocalizer控件二、在FormCreate里加入以下代码procedureTForm1.FormCreate(Sender:TObject);begin cxLocalizer1.LoadFromResource(HInstance); cxLocalizer1.Language:='中文(简体,中国)';......
  • IDocList/IDocDict JSON for Delphi and FPC
    IDocList/IDocDictJSONforDelphiandFPC【英文原文】多年来,我们的开源mORMot框架提供了多种方式,以处理在运行时定义的任何数组/对象文档组合,例如通过JSON,它具备许多功能,并且非常高的性能。我们的TDocVariant自定义变体类型是处理这类无模式数据的一种强大方式,但一些用户......
  • delphi cxgrid 画鼠标经过的轨迹或者说是鼠标经过下高亮行
    unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,dxSkinsCore,dxSkinsDefaultPainters,dxSkinscxPCPainter,cxStyles,cxCustomData,cxGraphics,cxFilter,cxData,cxDataStorage,cxEdit,......
  • delphi cxgrid自定义画焦点框,把自带的虚线框去掉
    参考资料将FocusRect从虚线更改为实线或更改FocusRect的颜色|DevExpress支持如何在TableView网格中的整个选定/聚焦行周围绘制边框?|DevExpress支持 procedureTcxGridTableView.DoCustomDrawCell(ACanvas:TcxCanvas;AViewInfo:TcxGridTableDataCellViewInfo;v......
  • delphi cxgrid 自定义画焦点框
    procedureTMyTable.MyBandedTableViewCustomDrawCell(Sender:TcxCustomGridTableView;ACanvas:TcxCanvas;AViewInfo:TcxGridTableDataCellViewInfo;varADone:Boolean);varbounds:TRect;beginifAViewInfo.Focusedthenbeginbounds:=A......
  • delphi安卓动态权限申请
    delphi安卓动态权限申请安卓8及以上版本,除了原来的静态权限申请以外,还需要动态权限申请。delphi10.3开始支持安卓动态权限申请。delphi11开始官方改变了安卓动态权限申请的参数类型,导致原来编写的代码,编码报错。下面的代码,可以很好地解决权限问题。兼顾了delphi10.3和delphi11......
  • 【Delphi 开箱即用 1】简单实现拖拽文件到窗口
    当今,大多数个人小程序都普遍具备拖拽功能,因为拖拽操作极其便捷。毕竟,相比于传统的浏览文件夹方式打开目标文件,拖拽操作简直是一种解放。在这里,我们无需依赖任何第三方控件,单纯通过代码实现拖拽功能。目录1.最终效果图2.部分核心代码3.完整Demo源码下载1.最终效果图2.部分......