菜鸟问题,请教(50分)

  • 主题发起人 主题发起人 Jaline
  • 开始时间 开始时间
J

Jaline

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何把一个指定目录下的文件拷贝到A盘?
 
copyfile('c:/myfiles/abc.txt','a:/abc.txt',true);
 
[RED] uses ...,FileCtrl,ShellApi; [/RED]
[BLUE]
procedure TForm1.Button1Click(Sender: TObject);
begin
if CopyDirFileToA('C:/WINDOWS','A:/') then
MessageBox(Handle,'文件复制成功!','提示框',MB_OK+MB_ICONINFORMATION)
else
MessageBox(Handle,'文件复制成功!','提示框',MB_OK+MB_ICONWARNING);
end;


function TForm1.CopyDirFileToA(SourceDir, DestDrive: String): Boolean;
var
FileListBox: TFileListBox;
I:Integer;
begin
Result:=False;
if Trim(SourceDir)='' then exit;
if Trim(DestDrive)='' then exit;

FileListBox:=TFileListBox.Create(Self);
FileListBox.Parent:=Self;
FileListBox.Directory:=Trim(SourceDir);

For I:=0 to FileListBox.Items.Count-1 do
begin
try
CopyFile(Pchar(SourceDir+'/'+FileListBox.Items.Strings),Pchar(DestDrive+FileListBox.Items.Strings),True);
except
Result:=False;
end;
end;

FileListBox.Free;
end;
[/BLUE][:D]
 
为何不成功?我将应用程序目录下的一个文件拷贝到指定位置,有何错误,请指教
copyfile(pchar(ExtractFileDir(Application.exename)+'/daya.dat'),pchar('a:/daya.dat'),true)
 
CopyFile(Pchar([RED]ExtractFilePath[/RED](Application.ExeName)+[RED]'daya.dat'[/RED]),Pchar('a:/daya.dat'),True);
 
不明白,??
 
下面这样不行吗?
CopyFile(Pchar(ExtractFilePath(Application.ExeName)+'daya.dat'),Pchar('a:/daya.dat'),True);
 
不行呀,指定绝对路径就可,是何缘故?
 
我试了下面的代码,是可以的,所以不是代码问题,可能你要拷贝的文件被使用,
用COPYFILE 函数只能独占方式拷贝!你试试下面的代码再找是什么问题吧。
CopyFile(Pchar(ExtractFilePath(Application.ExeName)+'unit1.pas'),Pchar('d:/unit1.pas'),True);
 
谢谢两位,应该是独占方式copy
 
后退
顶部