Bueno les dejo otra funcion!

Código: Seleccionar todo

int mFile( char* hPath , char* nPath)
{
     int result =  MoveFileEx( hPath , nPath , MOVEFILE_REPLACE_EXISTING );
     
     if( result == 0){return 0;}

     else{ return -1;}  
}
Modo de Utilisacion!

Código: Seleccionar todo

mFile("Ruta_Actual_del_Archivo" ," Nueva_Ruta_Del_Achvio!");
Se preguntaran : Y que diferencia hay con un CopyFile ?

Bueno que en este caso el Archivo de Origen no se Copia , si no que se Mueve de Carpeta sin dejar
rastro de la posicion anterior del archivo!

Tambien estoy al tanto de que la funcion deberia de devolver un bool , pero por alguna razon mi DEV
no lo hace! , igual lo probe hasi y funciona bien!

EDIT: Ya la arregle .... Gracias linkgl

Saludos!
Última edición por ØnLy el 25 Ago 2010, 05:21, editado 2 veces en total.
obey escribió:Pues si tuviese mas edad todavia pero esqe perder la virginidad con tu profesora de informatica y que ademas tenga 50....
Que bueno Colosus...Ahy lo dejo con bool.

Código: Seleccionar todo

bool mFile( char* hPath , char* nPath)
{
     int result =  MoveFileEx( hPath , nPath , MOVEFILE_REPLACE_EXISTING );
     
     if( result == 0){return TRUE;}

     else{ return FALSE;} 
}
Salu2
Blog técnico dedicado a la seguridad informática y al estudio de nuevas vulnerabilidades.
Blog: http://www.seginformatica.net
Twitter: https://twitter.com/#!/p0is0nseginf
no encuentro el sentido de meter un api en una funcion , no tiene logica lo mas logico seria utilizarla de esta manera

if( !MoveFileEx( hPath , nPath , MOVEFILE_REPLACE_EXISTING ) )
{
MessageBox( 0 , "Ha Ocurrido un Error" , "Error !!" , 0 );
}

porque utilizarlo de esta manera ? porque la MSDN lo dice :

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero (0).


aparte de todo esto, el programa se volveria mucho mas lento si a cada api le pusieras una funcion , en la pila tendria 2 direcciones( A simple vista ) , una la de la primera funcion , la que creaste tu y luego la del api , al retornar ala posicion de antes tiene que trabajar el doble, primero saltar ala direccion del api y despues a la de tu funcion , si puede ser valido cuando tienes mas de una funcion, pero ocupar recursos por ocupar, no es la mejor opcion.

Suerte.
Responder

Volver a “Fuentes”