PDA

Ver la Versión Completa : Problemas con los nombres de los archivos


Alcolea
14-02-2007, 16:16:01
Hola a todos. Esta vez presento un problema con los nombres de los archivos con que trabaja la aplicación que estoy a punto de concluir para la tesis, y es que esta trabaja con archivos de una extensión creada por mi (.exm), a estos archivos, como es usual, le hacemos doble clic y abre la aplicación, pero resulta que cuando el nombre del archivo tiene entre sus caracteres espacios el programa envía un mensaje error de que no encuentra el archivo. La manera en que lo debe hacer es la siguiente:
1 Decodificar el archivo en uno temporal
2 Leer el archivo temporal para extraer los datos
2 Eliminar el archivo temporal

Por último les explico que al cargar el archivo a través del OpenDialogo, llamando al mismo procedimiento, nunca ocurre el error.

seoane
14-02-2007, 16:44:15
¿Como haces para que tu programa abra los archivos con esa extensión? Si lo consigues modificando el registro, comprueba el comando. Debe ser algo parecido a esto:

"C:\Tucarpeta\TuPrograma.exe" "%1"


Pero tu debes de estar usando algo como esto:

"C:\Tucarpeta\TuPrograma.exe" %1

Fíjate que en este caso el parámetro no va entre comillas, por lo que cuando el nombre del archivo contiene un espacio, se toma como varios parámetros y no como uno solo.

Alcolea
14-02-2007, 22:20:34
Gracias seoane, lo que me dices es cierto pero aun así creo haber encontrado en el nombre que asigno al archivo temporal que menciono el problema principal ya que al corregir lo que me dices el problema persiste.

Gracias nuevamente.

Lepe
15-02-2007, 15:37:23
Se intuye que no has resuelto el problema, y digo "intuye" porque no has explicado cual es el "problema principal". En todo caso me atrevo a sugerir esto por si te sirve:

The GetTempFileName function creates a name for a temporary file.

Saludos

seoane
15-02-2007, 15:49:05
Pues yo Lepe me atrevería a sugerir esta otra:

The GetShortPathName function retrieves the short path form of a specified input path.


Jeje, ya veremos quien tiene la mejor bola de cristal :p