Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Envio a Papelera en WindowsXP

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Envio a Papelera en WindowsXP Responder citando

Hola
Estoy borrando archivos y enviandolos a la papelera de reciclaje, esto lo hace sin problema. El detalle es que cuando sale el cuadro de dialogo donde se pregunta si se envia o no, la variable :
fAnyOperationsAborted
la cual se supone deberia cambiar su valor en caso de decir NO, no cambia su valor.
He probado el Programa en windows98, windows2000 y windowsXP. En los dos primeros cambia el valor al decir que NO. pero en WindowsXP no.
El codigo que estoy utilizando es :

#include <shellapi>

SHFILEOPSTRUCT op;

//Verifica si existe o no el archivo a Borrar
if (!FileExists(datos)){
ShowMessage("No Existe Archivo");
return;
}

memset(&op,0,sizeof(op));

//Borrado del Archivo
op.hwnd=Handle;
op.wFunc=FO_DELETE;
op.pFrom=datos;
op.fFlags=FOF_ALLOWUNDO;
int k;
k=SHFileOperation(&op);
ShowMessage(k);
ShowMessage(op.fAnyOperationsAborted);
if (op.fAnyOperationsAborted){
ShowMessage("No se borro el Archivo");
return;
}

que lo obtuve del foro.
Existe algo que agregar cuando se trabaja en XP. Estoy trabajando con Builder C++ 6 Enterprise, o es necesario agregar algun parche.
De antemano gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola que tal, no te serviría DeleteFile?
Código:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  OpenDialog1->Title = "Delete File";
  if (OpenDialog1->Execute())
  {
    if (FileExists(OpenDialog1->FileName))
      DeleteFile(OpenDialog1->FileName);
  }
}

_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Primero que nada gracias por responder.
Pero en este caso no me sirve el delete, por que se decea enviar el archivo a la papelera.
Lo que estoy haciendo es preguntado despues de borrar si el archivo existe, si existe significa que no lo envio a la papelera. Pero se supone que uno de los flag deberia de indicarlo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Prueba con
Código:
op.pFrom=datos.c_str();
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.