Page 1 of 1

Crear ficheros con nombre largo

PostPosted: Wed Dec 28, 2005 4:32 pm
by Sebastián Almirón
Hola a todos:

¿Existe alguna función para reemplazar FCreate() y que permita crear ficheros con nombre largo?.

En FW16 claro.

En el Kernel32.dll está CreateFileA(), que supongo se podrá utilizar, pero es por si alguien ya lo tiene hecho, que estas cosas se me dan muy mal.

Saludos

PostPosted: Wed Dec 28, 2005 5:45 pm
by Antonio Linares
Sebastián,

Puedes usar LFN2SFN( cNombreLargo ) --> cNombreCorto

Así puedes trabajar con el cNombreCorto que te proporciona, pero en realidad estás accediendo al cNombreLargo.

PostPosted: Wed Dec 28, 2005 6:18 pm
by Sebastián Almirón
Gracias Antonio, pero el caso es que lo necesito es poder crear un fichero con el nombre largo( es un fichero de texto plano .RML para poder imprimir ficheros DWG con VoloView desde FW ) . Aunque luego trabaje con el nombre corto pero crearlo con FCreate() no hay manera, lo acorta a 10 caracteres de longitud.

El caso es que de momento lo he solucionado creando un fichero provisional (con nombre corto) y una vez grabados en el los datos necesarios, lo copio con la función CopyFile(), que si admite un nombre largo para el fichero de destino. En fin, el resultado es el mismo, pero lo ideal sería poder crearlo directamente. Tendré que dejarlo para cuando pase la aplicación a 32 Bits.

Gracias y Felices Fiestas

PostPosted: Wed Dec 28, 2005 7:28 pm
by Antonio Linares
Sebastián,

Me alegro de que tengas una solución provisional, de todas formas como bien dices, lo idóneo es pasar a 32 bits la aplicación y olvidarte de esos quebraderos de cabeza :)

felices fiestas,