DELPHI得到文件路径的方法

本文介绍了使用DELPHI获取文件路径的多种方法,包括通过SelectDirectory选择目录、利用open/savedialog获取文件路径,以及从当前运行程序中提取路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DELPHI得到文件路径的方法

方法一:只能到文件夹

uses FileCtrl;{记得要先引用这个}

var
  Dir: string;
begin
  SelectDirectory('选择你要 XXOO 的目录', '', Dir);
  ShowMessage('你选择了这个目录来 XXOO '+ Dir);
end;


方法二:
用opendialog,和savedialog的filename可以得到.
var
    path_name:string;//带文件名的路径
begin
    if   opendialog1.execute   then
        path_name:=opendialog1.filename;
end;  
//------------------------------------------------

if   opendialog1.execute   then
begin
//获得打开文件的路径
    filepath   :=   extractfilepath(opendialog1.filename);
//其他你的代码

end;

if   savedialog1.execute   then
begin
//获得保存文件的路径
    filepath   :=   extractfilepath(opendialog1.filename);
//其他你的代码
end;

------------------------------------------------------------------


都知道用ExtractFilePath来提取Exe文件的全部路径。

而ExtractFileDir与ExtractFilePath的区别就是少一个‘/’

嘿嘿,如ExtractFilePath( 'C:/TEST/MYPROG.EXE ')得到的就是C:/TEST/

ExtractFileDir( 'C:/TEST/MYPROG.EXE ')得到的就是C:/TEST

以上是题外话……   ^_^

可能大家都用这个:

ExtractFilePath(Application.ExeName)

来提取可执行文件的路径。

但是用Application就得Uses   Forms……

最近正好发现一招。用ParamStr(0)

delphi帮助上如下写:

ParamStr(0)   returns   the   path   and   file   name   of   the   executing   program   (for   example,   C:/TEST/MYPROG.EXE).

ExtractFilePath(ParamStr(0))与ExtractFilePath(Application.ExeName)等价。

而且在system.pas定义的。

而且里面如下操作的:

if   Index   =   0   then
    SetString(Result,   Buffer,   GetModuleFileName(0,   Buffer,   SizeOf(Buffer)))

哦,使用的是GetModuleFileName这个Api函数。

好了,到此为止继续查看Msdn有关GetModuleFileName之后。我明白并写下如下:

因为system.pas不用uses任何文件,得到exe文件所在路径ExtractFilePath(ParamStr(0))

以及Api函数GetModuleFileName的一些东西。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值