![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Otra vez Gracias cHakAll.
¡Qué mas quisiera yo que poder poner el código tan bonito como lo tengo en el editor de Delphi, pero no tengo ni idea cómo se hace. Conste que he buscado en el foro, pero no sé cómo lo hacéis. Comprenderás que no soy muy experto en el foro, llevo sólo 19 ó 20 posts. Pero prometo enterarme para la próxima vez que tenga que poner código. Bueno al grano, como dices tu. Siento informarte que el resultado obtenido con la función GetShortName que me has puesto, es exactamente el mismo que el que he obtenido con la RutaDOS, que yo te puse, es decir este es el resultado: "C:\\\\", el número de barrras es el mismo que los subdirectorios que hay hasta llegar al raiz. Mi SO es WXP Professional. Probado en el de mi hijo, que es Vista64, el resultado es idéntico, en el antiguo ME si funciona GetShortPathName, el RutaDOS y el GetShortName no los he probado. Vuelvo a darte las gracias y te pido que no pierdas más tiempo con este tema, no lo merece. Saludos Juan |
#2
|
||||
|
||||
El problema ocurria cuando el nombre dado era un 8.3 válido, ahora debería funcionar. Las etiquetas son [delphi] tu codigo aquí [/delph¡] ó el único boton cafe de la parte superior del editor. Saludos Última edición por cHackAll fecha: 25-03-2008 a las 23:47:07. |
#3
|
|||
|
|||
Gracias cHackAll (Ahora lo he escrito bien eh!)
No te esfuerces. Esl fallo es de Microsoft. Ahora funciona (?) si no es en el quinto subdirectorio con 9 o más caracteres iguales. Como GetShortPathName. En el quinto subdirectorio pone las dos primeras letras del directorio mas 4 caracteres en base 16 más el caracter 126 (~) mas un 1 y la barra \: mira es exactamente esto: C:\DATA\MISPRO~1\SUPERPAD\ES273A~1\RUTAW32.EXE la ruta larga es esta:C:\DATA\Mis Programas y mis licencias\SuperPad\Estoesimposible5\ RutaW32.exe Falla en el mismo sitio que GetShortPathName. Esta es la primera función que hice: [delphi] Function Ruta:string; var RutaCorta:String; DirActual:String; corto:array [0..MAX_PATH] of char; longitud:Cardinal; begin GetDir(0,DirActual); Longitud:= Sizeof(Corto) -1; GetShortPathName(PChar(DirActual),@corto,Longitud); RutaCorta:=String(Pchar(@corto)); if Length(RutaCorta)>3 then Ruta:=RutaCorta+'\' else Ruta:=RutaCorta; // si es el Dir Raiz C:\ ó A:\ la barra la pone sola end; [delphi/] A ver si he aprendido lo del código. El Resultado es el mismo. Ruego que lo compruebes moviendo el programita de prueba a un subdirectorio que sea el quinto con 9 o más caracteres iguales. Siempre gracias por tu tiempo y tu esfuerzo. Un saludo. |
#4
|
|||
|
|||
Gracias cHackAll (Ahora lo he escrito bien eh!)
No te esfuerces. Esl fallo es de Microsoft. Ahora funciona (?) si no es en el quinto subdirectorio con 9 o más caracteres iguales. Como GetShortPathName. En el quinto subdirectorio pone las dos primeras letras del directorio mas 4 caracteres en base 16 más el caracter 126 (~) mas un 1 y la barra \: mira es exactamente esto: C:\DATA\MISPRO~1\SUPERPAD\ES273A~1\RUTAW32.EXE la ruta larga es esta:C:\DATA\Mis Programas y mis licencias\SuperPad\Estoesimposible5\ RutaW32.exe Falla en el mismo sitio que GetShortPathName. Esta es la primera función que hice:
A ver si he aprendido lo del código. El Resultado es el mismo. Ruego que lo compruebes moviendo el programita de prueba a un subdirectorio que sea el quinto con 9 o más caracteres iguales. Siempre gracias por tu tiempo y tu esfuerzo. Un saludo. P.D. No te rías, he puesto la raya descolocada... |
#5
|
|||
|
|||
Gracias cHackAll:
Por todo lo que me has enseñado a mí y a todos en general. Por la labor de maestro que estás haciendo en el Foro. Un saludo. Juan. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Rellenar listbox con nombres de ficheros | eduarcol | Varios | 2 | 11-08-2007 02:40:03 |
¿ Cómo obtener los nombres de bases de datos? | Javi2 | Varios | 2 | 22-11-2006 09:46:21 |
como obtener los nombres de archivos de un directorio | ilichhernandez | Varios | 3 | 14-07-2006 17:49:57 |
Copiar nombres de ficheros a un Combo | Tomás | Varios | 2 | 12-01-2004 16:28:51 |
Obtener nombres | hgiacobone | Varios | 1 | 23-07-2003 18:55:02 |
![]() |
|