Página 1 de 1

[source] Function mFile coded ColosusRed

Publicado: 25 Ago 2010, 02:29
por ØnLy
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!

Re: Function mFile coded ColosusRed

Publicado: 25 Ago 2010, 03:07
por linkgl
si retorna int entonces retorna 1=true o -1 =false o 0 tambien =false

Re: Function mFile coded ColosusRed

Publicado: 25 Ago 2010, 08:50
por p0is0n-123
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

Re: Function mFile coded ColosusRed

Publicado: 26 Ago 2010, 17:10
por adolf
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.