18 de noviembre de 2017

Obtener la ruta (path) en formato largo

En alguna ocasión puede que obtengamos un nombre de archivo en formato corto, por ejemplo "c:\Docum~1\Usuario\Misdoc~1\" y convertirlo a "c:\Documents and Settings\Usuario\Mis documentos\". A continuación una función API para llegar a ello.

DECLARE integer GetLongPathName IN WIN32API ;
 string @ lpszShortPath, string @ lpszLongPath, integer cchBuffer

#define MAXPATH 267
STORE SPACE(MAXPATH) TO lpszLongPath
lcPath = "C:\DOCUME~1\epalma\Misdoc~1\"
lnLen = GetLongPathName(m.lcPath,@lpszLongPath,MAXPATH)
if lnLen > 0
 ? SUBSTR(lpszLongPath,1,lnLen)
else
 ? Ruta Inválida'
endif

Çetin Basöz
MS Foxpro MVP, MCP

No hay comentarios. :

Publicar un comentario

Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.