Page 1 of 1

Copiar Nombre Largo

Posted: Thu Jul 06, 2006 7:41 pm
by manuramos
Uno de mis problemas típicos que no parecen tener solución.
Pero lo intentaré, a ver si alguien sabe como se pueden copiar ficheros con CLIPPER 5.3. y FW 2.3, sin que pierdan el NOMBRE LARGO, y no se conviertan en: PLANTI~1.DOC

Posted: Fri Jul 07, 2006 2:11 pm
by manuramos
Nada, solucionado con la MoveFile() de la kernel32.dll.

Funciona perfectamente. Primero se copia con nombre corto, y después se cambia de nombre con MoveFile()

Posted: Thu Jul 20, 2006 8:45 pm
by manuramos
Alguien me podía haber dicho que en KERNE32.DLL tambien está la funcion CopyFile que va de narices para copiar con nombres largos. Me podía haber ahorrado una semana de investigación...

Por si a alguién que no lo sabía le interesa:

DLL32 FUNCTION COPYFILE( cExistName AS LPSTR, cNewName AS LPSTR, nFailIfExist AS LONG ) AS BOOL;
PASCAL FROM "CopyFileA" LIB "kernel32.dll"

Posted: Thu Jul 20, 2006 8:48 pm
by manuramos
Se me olvidaba. el parámetro nFailIfExist si lo pones a 1 no te deja copiar el fichero, si éste ya existe en el directorio destino. Si lo pones a 0 si que lo copia.

Un saludo a todos.

Posted: Fri Jul 21, 2006 7:02 am
by Antonio Linares
Manu,

Gracias por compartir la información :)