![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#8
|
|||
|
|||
|
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. |
|
|
Temas Similares
|
||||
| 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 |
|