Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-11-2009
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Exclamation Ayuda a Pasar Codigo Delphi a C++

Hola a Todos;
Como estan hacia rato no pasaba por aqui a dejar algunas de mi dudas pero bueno ya me ven aquí, espero que me puedan ayudar, como siempre lo han echo.

Bueno mi duda ahora es como pudiera llevar este código de Delphi a C++, es para eliminar una carpeta con todo su contenido, el código lo e sacado de este mismo foros pero no e podido llevarlo a C++,

Código Delphi [-]uses
ShellApi;

procedure DeleteFolder(Folder: String);
var
FileOpInfo: TShFileOpStruct;

begin
FillChar(FileOpInfo, SizeOf(FileOpInfo), 0);
FileOpInfo.wFunc := FO_DELETE;
FileOpInfo.pFrom := PChar(Folder);
FileOpInfo.fFlags := FOF_NOCONFIRMATION;

ShFileOperation(FileOpInfo);
end;


Mi mayor problema es donde pongo en el C++ el "ShellApi"
No se si sera por que no pongo bien el "ShellApi" pero me da error en "FillChar";

Gracias y Saludos...
Responder Con Cita
  #2  
Antiguo 23-11-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código:
#include <shellapi.h>


DeleteFolder(String Folder)
{
   SHFILEOPSTRUCT FileOpInfo;
   setmem(&FileOpInfo, sizeof(FileOpInfo), 0);
   FileOpInfo.wFunc = FO_DELETE;
   FileOpInfo.pFrom = Folder.c_str();
   FileOpInfo.fFlags = FOF_NOCONFIRMATION;

   SHFileOperation(&FileOpInfo);
}
Saludos.
Responder Con Cita
  #3  
Antiguo 23-11-2009
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Thumbs up

Muchísimas gracias escafandra,

Como siempre de muchísima ayuda para este foros,

Bueno tengo otra duda por preguntar, presida a esta pero no la pongo todavía por que estoy buscando por las paginas que tengo acceso a ver si la puedo solucionar, sino puedo encontrar la respuesta la pongo aquí, para ver si me pueden ayudar como siempre lo hacen,
No la pongo ahora por que no me gusta postear algo que no e buscado antes, pregunto las dudas ya cuando no tengo mas Acternativas de búsqueda.

Bueno Muchísimas Gracias y Saludos a Todos...
Responder Con Cita
  #4  
Antiguo 24-11-2009
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Exclamation

Hola a todos de nuevo ya esroy a qui de nuevo,
Comos les había contado antes tengo otra duda con otro código,
Pero el de ahora no es problema con el código sino a la hora de llamar a la función.

El código es el siguiente, creo que lo saque de este mismo foros...


void DirList(String sPath, TStrings* strings)
{
TSearchRec sr;
sPath = IncludeTrailingPathDelimiter(sPath);
bool hecho = FindFirst(sPath + "*.*", faAnyFile, sr);
while (!hecho)
{
if ((sr.Attr & faDirectory) && sr.Name != "." && sr.Name != "..")
{
strings->Append(sPath + sr.Name);
DirList(sPath + sr.Name, strings);
}
hecho = FindNext(sr);
}
FindClose(sr);
}


No se si lo estoy llamado de forma correcta o el codigo tiene algún problema,

Llamo a la función así

DirList("C:\\prueba\\*", ) ;

Pero no se que voy a poner como segundo parametro de la función,

Bueno les explico un poco mas de lo que quiero hacer,

Mi idea es hacer un Servicio que cada vez que se ejecute me limpie una carpeta (me borre todo el contenido dentro de ella), pero quisiera darles algunas exclusiones , por que una de las carpetas las cual quiero Limpiar es
"Documents and Settings", pero no quiero borrar todas sus carpetas por que saben que hay varias carpetas que no se pueden borrar de hay,

Bueno Saludos y Gracias a todos...
Responder Con Cita
  #5  
Antiguo 24-11-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código:
void DirList(String Dir, TStrings* Salida)
{
    TSearchRec sr;
    if(!FindFirst(Dir + "\\*.*", faAnyFile, sr))
    do{
       if(sr.Name != "." && sr.Name != ".."){
          if(sr.Attr & faDirectory)
             DirList(Dir + "\\" + sr.Name, Salida);
          else
             Salida->Add(Dir + "\\" + sr.Name);
       }
    } while (!FindNext(sr));
    FindClose(sr);
}
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   DirList("C:\\Archivos de programa", ListBox1->Items);
}
Saludos.
Responder Con Cita
  #6  
Antiguo 24-11-2009
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Exclamation

Gracias por la Ayuda escafandra

Pero el código me detecta todos los ficheros aunque estén dentro de otro subdirectorio pero no me muestra las carpetas que son las que quiero excluir algunas,
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda con onexion a sql server 2000 con ado por codigo desde delphi 6 FAGD Conexión con bases de datos 2 26-02-2008 17:24:08
Porfavor algo de ayuda con un poco de codigo en delphi!! N4ota Varios 6 10-06-2007 22:40:54
Ayuda para completar código:Traducción de Delphi a Builder Pernorak C++ Builder 3 30-05-2007 12:45:16
Pasar codigo C a delphi Mr.Vaka Varios 1 24-12-2005 11:38:02
Pasar Código VBSCRIPT a Delphi.net mamen .NET 2 03-06-2005 14:52:43


La franja horaria es GMT +2. Ahora son las 11:08:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi