SHFileOperation

0

Zadałem to samo pytanie na grupie dyskusyjnej ale tam wszyscy bawią się w chowanego dając odpowiedzi typu SHFileOperation + F1.
Więc o pomoc proszę tych którzy są na tym forum.

Chcę skopiować cały folder wraz z jego zawartością (pliki , podkatalogi) przy użyciu progressbara.

Zrobiłem to tak :

uses ShellApi;

procedure TForm1.Button1Click(Sender: TObject);
var
BI1:TSHFILEOPSTRUCT;
HWND : Handle;
begin
HWND := Form1.
with BI1 do
begin
hwnd :=
wFunc := FO_COPY;
pFrom := 'D:\Linkin Park';
pTo := 'E:\LP';
fFlags := FOF_SIMPLEPROGRESS;
fAnyOperationsAborted := True;
lpszProgressTitle := 'ProgressBar1';
end;
SHFileOperation(BI1);
end;

A z helpa wiem że powinno być :
with BI1 do
begin
hwnd; - nie wiem jak obsluzyc ten uchwyt !!!
wFunc;
pFrom;
pTo;
fFlags; - hmm pisalo cos o lpszProgressTitle żeby dać FOF_SIMPLEPROGRESS
fAnyOperationsAborted; -nie wiem co to ale dalem True
hNameMappings; - nie wiem co to
lpszProgressTitle; - tu też w zasadzie nie wiem
end;

A problem nr 2 to to że katalog sie pięknie skopiował , ale APLIKACJA
WYGLĄDA NA ZAWIESZONĄ !!!

Co robić aby tak nie wyglądała i jak uzubełnić tą strukturę ??

Co oznaczają te wartości których nie wiem ??

I gdzie jest ten progressbar ??

Pliss niech ktoś odpowie.

Pozdrawiam.

0

uses ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var Rekord:TSHFileOpStructA;
begin
with Rekord do
begin
Wnd:=Handle;
wFunc:=FO_COPY;
pFrom:='c:\windows\win.ini';
pTo:='c:\win\win.ini';
fFlags:=FOF_NOCONFIRMMKDIR;
end;
if SHFileOperation(Rekord)&lt&gt0 then
ShowMessage('Błąd')
end;

Parametrem wFunc mogą być

FO_COPY - kopiuje z pFrom do pTo
FO_DELETE - kasuje pFrom (pTo jest ignorowane)
FO_MOVE - przenosi z pFrom do pTo
FO_RENAME - zmienia nazwę z pFrom do pTo

Informacje o parametrach fFlags są w pomocy Win32 Programmer's Reference pod hasłem SHFILEOPSTRUCT

To jest z FAQ :)--Jest jeszcze jeden błąd ... :)

------------Reklama-------------
Szukasz pomocy?
Najszybsza pomoc dostępna na IRC:
serwer: warszawa.ircnet.pl
sieć: POLNet
kanał: #4programmers.net lub #4programmers

1 użytkowników online, w tym zalogowanych: 0, gości: 1