FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
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 |
|