如何實現目錄的復制、刪除和移動,當你選擇完源文件和目的目錄後,就要以選擇窗口上的幾個按鈕,來復制、刪除、移動所選的文件夾,Delphi文件系統操作的例子吧,叫做FSO。可學習下Delphi如何建立復制對象、刪除對象等基礎操作:
001
unit
MainUnit;
002
interface
003
uses
004
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
005
StdCtrls, FileCtrl, ShellAPI;
006
type
007
TMainForm =
class
(TForm)
008
Label1: TLabel;
009
Label2: TLabel;
010
Edit1: TEdit;
011
Edit2: TEdit;
012
Button1: TButton;
013
Button2: TButton;
014
Button3: TButton;
015
Button4: TButton;
016
Button5: TButton;
017
procedure
Button1Click(Sender: TObject);
018
Button2Click(Sender: TObject);
019
Button3Click(Sender: TObject);
020
Button4Click(Sender: TObject);
021
Button5Click(Sender: TObject);
022
private
023
{ Private declarations }
024
public
025
{ Public declarations }
026
end
;
027
var
028
MainForm: TMainForm;
029
implementation
030
{$R *.DFM}
031
TMainForm
.
032
033
yDir:
String
034
begin
035
yDir:=
''
036
if
SelectDirectory(yDir, [sdAllowCreate, sdPerformCreate, sdPrompt],
0
)
then
037
Edit1
Text:= yDir;
038
039
040
041
mdDir:
042
043
mdDir:=
044
SelectDirectory(mdDir, [sdAllowCreate, sdPerformCreate, sdPrompt],
045
Edit2
Text:= mdDir;
046
047
048
049
OPS: TSHFileOpStruct;
050
FromBuf, ToBuf:
Array
[
0..128
]
of
Char
051
052
FillChar(FromBuf, SizeOf(FromBuf),
);
//初始化數組FromBuf
053
FillChar(ToBuf, SizeOf(ToBuf),
//初始化數組ToBuf
054
StrPCopy(FromBuf,
PChar
(Edit1
Text));
//將FromBuf填入源目錄
055
StrPCopy(ToBuf,
(Edit2
//將ToBuf填入目的目錄
056
with
OPS
do
057
058
Wnd:= Handle;
059
wFunc:= FO_COPY;
//進行復制
060
pFrom:= @FromBuf;
061
PTo:= @ToBuf;
062
fFlags:= FOF_NOCONFIRMATION
or
FOF_RENAMEONCOLLISION;
063
fAnyOperationsAborted:=
False
064
hNameMappings:=
nil
065
lpszProgressTitle:=
066
067
SHFileOperation(OPS)=
068
MessageBox(Handle,
'復制成功!'
,
'復制信息'
, MB_OK+ MB_ICONINFORMATION);
069
070
071
072
073
FromBuf:
074
075
076
077
078
079
080
wFunc:= FO_DELETE;
//進行刪除
081
082
pTo:=
083
fFlags:= FOF_NOCONFIRMATION;
084
'正在刪除'
085
086
087
'刪除成功!'
'刪除信息'
088
089
090
091
092
093
094
095
096
097
098
099
100
101
wFunc:= FO_MOVE;
//進行移動
102
103
104
105
106
107
'正在移動'
108
109
110
'移動成功!'
'移動信息'
111
112
當我第一次從 TClIEntDataSet 中讀出圖片數
Delphi限制窗口大小,本例代碼把窗口限制在長度:400
本例效果圖:unit Unit1; interface
難度:★★★☆☆先行知識:Delphi / 接口 / OL
SetBlendTriangularShape
function CreateThread( lpThre