openDiaglog问题

ck_邬 2009-09-23 11:00:01
我用了opendiaglog选了一个文件,
OpenDialog1.Execute;
fn:=OpenDialog1.filename;
CopyFile(pchar(fn),'c:\aa.txt',true);//这句没响应
后来我调试后发现OpenDialog1.Execute后,再操作那个选中的文件时提示该文件正在被程序使用..
我要如何能能把那个文件进行操作呢?
...全文
139 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ck_邬 2009-09-23
  • 打赏
  • 举报
回复
终于找到原因了..原来在我copyfile之前有一句代码打开了文件...谢谢各位了..
ck_邬 2009-09-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dinoalex 的回复:]
跟opendiaglog没关系吧,文件肯定是占用了
[/Quote]但是如果我不用opendialog来选择文件的话,那个copyfile是没问题的..
只要两个合在一齐用,copyfile就提示被文件被使用中.
dinoalex 2009-09-23
  • 打赏
  • 举报
回复
跟opendiaglog没关系吧,文件肯定是占用了
newfang 2009-09-23
  • 打赏
  • 举报
回复
CopyFile(pchar(fn),'c:\aa.txt',true);//这句没响应

showmessage(fn);看看文件名后面带扩展名了吗~~
如果不带扩展名可能会因为找不到文件而没响应。
dinoalex 2009-09-23
  • 打赏
  • 举报
回复
试试

if OpenDialog1.Execute then fn:=OpenDialog1.filename;
ck_邬 2009-09-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 de410 的回复:]
CopyFile(pchar(fn),'c:\aa.txt',fasle);
[/Quote]试了,最后一个参数是是否覆盖,
我估计是要释放opendialog的某些东西 ..但不知道是什么..
阿三 2009-09-23
  • 打赏
  • 举报
回复
procedure TForm1.Button2Click(Sender: TObject);
var
OpenDialog: TOpenDialog;
begin
OpenDialog := TOpenDialog.Create(nil);
try
OpenDialog.FileName := '*.txt';
if OpenDialog.Execute then
begin
Copyfile(pchar(OpenDialog.FileName),'C:\aa.txt',false);
end;
finally
OpenDialog.Free;
end;
end;
de410 2009-09-23
  • 打赏
  • 举报
回复
CopyFile(pchar(fn),'c:\aa.txt',fasle);
ck_邬 2009-09-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dinoalex 的回复:]
用Stream导入再另存
[/Quote]
我试了,也是提示文件正在使用..
dinoalex 2009-09-23
  • 打赏
  • 举报
回复
用Stream导入再另存

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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