procedure TForm1.Button1Click(Sender: TObject);
var
Dir: string;
begin
Dir := 'D:';
if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],0) then
//函数执行成功
// sdAllowCreate:允许创建目录
// sdPerformCreate:执行创建目录
// sdPrompt:显示提示信息
edit1.text:= Dir;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Dir: string;
begin
Dir := 'D:';
if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],0) then
//解释同上
edit2.text:= Dir;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
OpStruc:TSHFileOpStruct;
FromBuf,ToBuf:Array[0..128] of Char;
begin
FillChar(FromBuf,Sizeof(FromBuf),0);
FillChar(ToBuf,Sizeof(ToBuf),0);
//用0初始化FromBuf和ToBuf数组
StrPCopy(FromBuf,Pchar(Edit1.Text));
StrPCopy(ToBuf,Pchar(Edit2.Text));
//分别在 FromBuf和ToBuf数组中填入操作的源目录及目标目录
//开始填充OpStruc记录
with OpStruc do
begin
Wnd:=Handle;
wFunc:=FO_COPY;
//复制操作
pFrom:=@FromBuf;
pTo:=@ToBuf;
fFlags:=FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted:=False;
hNameMappings:=nil;
lpszProgressTitle:=nil;
end;
if SHFileOperation(OpStruc)=0 then
//函数执行成功
MessageBox(Handle,'复制完毕。','复制信息',MB_OK+MB_ICONINFORMATION);
end;
procedure TForm1.Button4Click(Sender: TObject);
var
OpStruc:TSHFileOpStruct;
FromBuf,ToBuf:Array[0..128] of Char;
begin
FillChar(FromBuf,Sizeof(FromBuf),0);
FillChar(ToBuf,Sizeof(ToBuf),0);
StrPCopy(FromBuf,Pchar(Edit1.Text));
StrPCopy(ToBuf,Pchar(Edit2.Text));
//开始填充OpStruc记录
with OpStruc do
begin
Wnd:=Handle;
wFunc:=FO_MOVE;
//移动操作
pFrom:=@FromBuf;
pTo:=@ToBuf;
fFlags:=FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted:=False;
hNameMappings:=nil;
lpszProgressTitle:='正在文件';
end;
if SHFileOperation(OpStruc)=0 then
//执行成功
MessageBox(Handle,'移动完毕。','移动信息',MB_OK+MB_ICONINFORMATION);
end;
procedure TForm1.Button5Click(Sender: TObject);
var
OpStruc:TSHFileOpStruct;
FromBuf:Array[0..128] of Char;
begin
FillChar(FromBuf,Sizeof(FromBuf),0);
StrPCopy(FromBuf,Pchar(Edit1.Text));
//开始填充OpStruc记录
with OpStruc do
begin
Wnd:=Handle;
wFunc:=FO_DELETE;
pFrom:=@FromBuf;
pTo:=nil;
fFlags:=FOF_NOCONFIRMATION;
lpszProgressTitle:='正在删除';
end;
if SHFileOperation(OpStruc)=0 then
//执行成功
MessageBox(Handle,'删除完毕。','删除信息',MB_OK+MB_ICONINFORMATION);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Dir: string;
begin
Dir := 'D:';
if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],0) then
//函数执行成功
// sdAllowCreate:允许创建目录
// sdPerformCreate:执行创建目录
// sdPrompt:显示提示信息
edit1.text:= Dir;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Dir: string;
begin
Dir := 'D:';
if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],0) then
//解释同上
edit2.text:= Dir;
end;
我做过一个 (只能记得大致意思)
var
copyfromfile,copytofile:file
fromfilesize,copyedsize:integer;
buff:array[0.1024] of char;
begin
assignfile(copyfromfile,'c:\f.txt');
reset(copyfromfile);
assignfile(copytofile,'d:\f.txt');
rewrite(copytofile);
fromfilesize=filesize(copyfromfile);
copyedsize=0;
while not eof(copyfromfile) do
begin
blockread(copyfromfile,buff);
blockwrite(copytofile,buff);
end;
end;