Fórum DIRECTORY LIST BOX #139002
20/02/2003
0
Gostaria de saber se tem algum modo de, atraves do componente directory list box, eu conseguir apagar os diretorios selecionados. se nao tiver, tem algum outro componente que eu possa usar? ou então alguma rotina pra apagar manualmente o diretorio selecionado atravez desse componente?
Raonepn
Curtir tópico
+ 0
Responder
Posts
20/02/2003
Dor_poa
Inclua a unit SHELLAPI na clausula uses do seu form.
procedure DeleteDir( hHandle : THandle; Const sPath : String );
var
OpStruc: TSHFileOpStruct;
FromBuffer, ToBuffer: Array[0..128] of Char;
begin
fillChar( OpStruc, Sizeof(OpStruc), 0 );
FillChar( FromBuffer, Sizeof(FromBuffer), 0 );
FillChar( ToBuffer, Sizeof(ToBuffer), 0 );
StrPCopy( FromBuffer, sPath);
With OpStruc Do
Begin
Wnd:= hHandle;
wFunc:=FO_DELETE;
pFrom:= @FromBuffer;
pTo:= @ToBuffer;
fFlags:= FOF_NOCONFIRMATION;
fAnyOperationsAborted:=False;
hNameMappings:=nil;
//lpszProgressTitle:=nil;
End;
ShFileOperation(OpStruc);
end;
Utilize a função assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteDir( Self.Handle,´C:\TESTE´);
end;
procedure DeleteDir( hHandle : THandle; Const sPath : String );
var
OpStruc: TSHFileOpStruct;
FromBuffer, ToBuffer: Array[0..128] of Char;
begin
fillChar( OpStruc, Sizeof(OpStruc), 0 );
FillChar( FromBuffer, Sizeof(FromBuffer), 0 );
FillChar( ToBuffer, Sizeof(ToBuffer), 0 );
StrPCopy( FromBuffer, sPath);
With OpStruc Do
Begin
Wnd:= hHandle;
wFunc:=FO_DELETE;
pFrom:= @FromBuffer;
pTo:= @ToBuffer;
fFlags:= FOF_NOCONFIRMATION;
fAnyOperationsAborted:=False;
hNameMappings:=nil;
//lpszProgressTitle:=nil;
End;
ShFileOperation(OpStruc);
end;
Utilize a função assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteDir( Self.Handle,´C:\TESTE´);
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)