今儿个咱来聊聊Delphi里头一个挺实用的小玩意儿——ExtractFilePath。说白,这东西就是帮你从一个完完整整的文件路径里头,把文件搁哪儿的那段目录给揪出来。
一开始我琢磨着这玩意儿有啥用?直接手动看不就得?我发现,写程序的时候,经常需要把文件路径和文件名给拆开来使,这时候就显出它的本事。
记得有一次,我要做一个文件批量处理的小工具。用户选一大堆文件,我得把这些文件一个个读出来,处理完还得按原来的目录结构给存回去。这要是没有ExtractFilePath,我得费老鼻子劲去自己写代码分析路径,想想都头大。
我就开始琢磨这ExtractFilePath到底咋用。
第一步,当然是先找个Delphi的环境。
我打开我的Delphi 10.4,新建一个VCL Forms Application。这玩意儿做界面快,适合我这种懒人。然后,我往窗体上拖一个Button,一个OpenDialog,还有一个Memo。
第二步,给按钮写代码。
双击按钮,进入代码编辑界面。我先写个让用户选文件的代码:
procedure *1Click(Sender: TObject);
begin
if * then
begin
// 用户选文件,咱啥也不干
end;
end;
这段代码很简单,就是弹出一个文件选择对话框。用户选文件,咱就往下走,没选就算球。
第三步,见证奇迹的时刻!
在上面的代码基础上,我加这么一句:
procedure *1Click(Sender: TObject);
var
FilePath: string;
begin
if * then
begin
FilePath := ExtractFilePath(*);
*(FilePath);
end;
end;
瞅见没?ExtractFilePath(*)
,就是这句,把戏全在这儿。 是用户选的文件的完整路径,ExtractFilePath
一出手,就把目录部分给提溜出来,然后我把它显示在Memo里。
运行,测试!
- 我点一下按钮,选个文件,比如“D:\我的文档\测试\示例.txt”。
- Memo里立马显示出:“D:\我的文档\测试\”。
- 我又试几个不同目录的文件,都好使!
总结
这回实践,让我彻底明白ExtractFilePath的用法。这玩意儿真是个好帮手,以后处理文件路径的时候,再也不用自己费劲巴拉地去扣字符串。简单,高效,这才是程序员该有的范儿嘛