Este ejemplo muestra como convertir una ruta larga (formato Windows) a una ruta corta (formato 8.3 MS-DOS) y como revertirlo, llevarla de formato de ruta corta a ruta larga.
*###################################################### *# Llevado de Visual Basic a Visual Foxpro por Int21 *###################################################### *######################################################### *# Declaracion de las API'S *######################################################### DECLARE INTEGER GetShortPathName IN kernel32 ; STRING @lpszLongPath , STRING @lpszShortPath, INTEGER @cchBuffer DECLARE INTEGER GetLongPathName IN kernel32 ; STRING @lpszShortPath, STRING @lpszLongPath, INTEGER @cchBuffer *######################################################### *# Convertir una Ruta Larga dentro del equivalente 8.3 de ruta corta *######################################################### LOCAL lLen, GetShortPath, sLongPath, La_Ruta lLen = 0 GetShortPath = "" sLongPath = "C:\Documents and Settings\Morfeus\Escritorio\Long__-__S1227648262002" *#### Establecer el buffer para la llamada a la API GetShortPath = SPACE(1024) *#### Llamada a la API, Retirar los Caracteres no deseados y devolver la Ruta lLen = GetShortPathName(@sLongPath, @GetShortPath, LEN(GetShortPath)) La_Ruta = LEFT(GetShortPath, lLen) WAIT WINDOWS La_Ruta *######################################################### *# Convertir una Ruta Corta en su equivalente de Ruta Larga *######################################################### LOCAL lLen, sShortPath, LaRuta lLen = 0 sShortPath = "C:\Docume~1\Morfeus\Escrit~1\Long__~1" LaRuta = "" *#### Establecer el Buffe rpara la llamada a la API GetLongPath = SPACE(1024) *#### Llamada a la Api, Retirar los caracteres no deseados y devolver la Ruta lLen = GetLongPathName(@sShortPath, @GetLongPath, LEN(GetLongPath)) LaRuta = LEFT(GetLongPath, lLen) WAIT WINDOWS LaRuta
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.