FoxPress,FoxPluss

FoxPress,FoxPluss

miércoles, 6 de abril de 2011

Un reemplazo para FULLPATH()

¿Está tan molesto como yo de que FULLPATH() devuelve la ruta completa de un archivo en mayúsculas? Esto hace un poco difícil, respetar las mayúsculas y minúsculas en un nombre de archivo introducido por el usuario. Afortunadamente, la función GetFullPathName de la API de Windows no cambia las mayúsculas y minúsculas. Aquí hay una pequeña función que recibe un nombre de archivo y devuelve la ruta completa usando la función de la API:
LPARAMETERS tcName
LOCAL lcBuffer1, ;
  lcBuffer2, ;
  lnLen

#DEFINE MAX_PATH 260

DECLARE LONG GetFullPathName IN Win32API ;
  STRING lpFileName, LONG nBufferLength, STRING @lpBuffer, ;
  STRING @lpFilePart

STORE SPACE(MAX_PATH) TO lcBuffer1, lcBuffer2
lnLen = GetFullPathName(tcName, MAX_PATH, @lcBuffer1, @lcBuffer2)
RETURN LEFT(lcBuffer1, lnLen)

No hay comentarios:

Publicar un comentario