100分FileExists问题.十万火急

jinhe 2004-12-26 01:34:46
我在用FileExists判断本地一个中文文件名时总是返回false,问题出在什么地方。
源码如下,新建的一个测试工程,只有一个buttn
var str: string;
str:= ExtractFilePath(Application.ExeName) + '最近设计模板.dat';
if FileExists(str) then
ShowMessage('ddd');
...全文
521 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinhe 2005-01-04
  • 打赏
  • 举报
回复
很是对不起大家,小弟我那天喝多了,其实太简单了,我的文件名用了.dat.dat两个扩展名。很是抱歉,可惜能给的人数太少,就一百,如果给分数少了,联系我qq8528630,msn:xun_love@hotmail.com,msn比较常用。很是抱歉,哎............
gxgyj 2004-12-27
  • 打赏
  • 举报
回复
楼主另新建一个工程试试,如果还是这样的话,就重装..,重装..
ssq237712 2004-12-27
  • 打赏
  • 举报
回复
中文能有什么问题?
if FileExists('C:\Documents and Settings\Administrator\My Documents\新建文件夹\没有丑陋的女人只有贫穷的女人.JPG') then
Showmessage('1');

我试了的,都没错啊。你换台机器试试看
jinhe 2004-12-27
  • 打赏
  • 举报
回复
'D:\Documents and Settings\Administrator\My Documents\新建文件夹\最近设计模板.dcu' 文件名路径都是对的,主要是我必须用中文名,设计有点问题不想改,改动太大
alphax 2004-12-27
  • 打赏
  • 举报
回复
我也常用中文路径名,没遇到过这种情况,你的路径全名是什么,让我也试一下
Kshape 2004-12-27
  • 打赏
  • 举报
回复
var str: string;
begin
str:= ExtractFilePath(Application.ExeName) + '最近设计模板.dat';
ShowMesage(str);//看看这里正确吗?
if FileExists(str) then ShowMessage('ddd');
end;

你先Message出来看看正确吗?在根据问题分析。
symk0014 2004-12-27
  • 打赏
  • 举报
回复
delphi代码中最好都用英文...
Gfire 2004-12-27
  • 打赏
  • 举报
回复
可能是对中文文件的支持问题,要不改成拼音缩写
jinhe 2004-12-27
  • 打赏
  • 举报
回复
倒 怎么解决这个问题呀,我是过了好多函数,英文名称的文件名都可以,中文文件名就不行。help help
jinhe 2004-12-27
  • 打赏
  • 举报
回复
ExtractFilePath(Application.ExeName)是带'\'的
xjwy 2004-12-27
  • 打赏
  • 举报
回复
首先你要判断,ExtractFilePath(Application.ExeName)
最后一个字是否是"/"如果是则不用加,如果不是则要要加上
jinhe 2004-12-27
  • 打赏
  • 举报
回复
这根我应用程序放在那个目录没关系,我用的是绝对路径也不行,你们做的都可以?我的开发环境是win2000 server delphi 6 delphi 7我都是过了不行。代码十分简单,新建的工程,就一个判断一个showmessage。TForm类中也没有FileExists方法。郁闷呀
gxgyj 2004-12-26
  • 打赏
  • 举报
回复
look
Kevin_Lmx 2004-12-26
  • 打赏
  • 举报
回复
var str: string;
str:= ExtractFilePath(Application.ExeName) + '最近设计模板.dat';
//上面的函数返回的路径是带'/'的
showMessage(str); //看看路径是不是你要的再说
if FileExists(str) then
ShowMessage('ddd');
SampsonDyh 2004-12-26
  • 打赏
  • 举报
回复
我再次把这个生成的exe文件copy到win98、win2000、winXp的虚拟系统上进行调试。
一切运行正常。
SampsonDyh 2004-12-26
  • 打赏
  • 举报
回复
我学才把你的代码调试过了,没出什么异常:
var
str: string;
begin
str:= ExtractFilePath(Application.ExeName) + '最近设计模板.dat';
if FileExists(str) then
ShowMessage(str)
else
ShowMessage('Not Exists');
end;
kuki84 2004-12-26
  • 打赏
  • 举报
回复
关注
zzlazio 2004-12-26
  • 打赏
  • 举报
回复
先把路径SHOW出来看下对不对啊.
Zhenlong 2004-12-26
  • 打赏
  • 举报
回复
即使文件存在也得False,就是缺那个"\"
ssq237712 2004-12-26
  • 打赏
  • 举报
回复
检查一下ExtractFilePath(Application.ExeName) 后有没有‘\'。
你可以自己判断一下,没有'\'则加上。
还不行就可能确实没有那个文件了,你把str显示出来看看
加载更多回复(6)

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧