In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

FileSaveDlg

Foro público de Xailer en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

FileSaveDlg

Mensaje por Xevi »

Adjunto un ejemplo en el que al intentar "guardar" un fichero, si el diálogo
permite cambiar de tipo de fichero, no hace el cambio de extensión y siempre
lo guarda en el que establezco el nombre de extensión a cFileName.
¿Hago algo mal???
Si por contra, cambio el nombre del fichero desde el diálogo SI que lo
guarda con la extensión seleccionada, pero SOLO en el caso que se cambie o
introduzca el nombre del fichero por el diálogo es como alterna entre
extensiones a grabar correctamente.
Un Saludo,
Xevi.


Attached files PROVA.zip (1.8 KB)Â
notengo
Mensajes: 417
Registrado: Vie Oct 12, 2007 1:29 pm

FileSaveDlg

Mensaje por notengo »

Xevi,
aún no he probado tu ejemplo, pero
WITH OBJECT ::oFileSaveDlg1 := TFileSaveDlg():New( Self )
:cInitialDir := "."
:cFileName := "PROVA DE FITXER (Empresa S.L.).Xls"
:cFilter := "Excel|*.Xls|Csv|*.Csv|Txt|*.Txt"
//Añade esta lí­nea
:nFilterIndex := 1
:Create()
END
Confí­rmame si funciona y, si puedes, cambia la extensión del archivo a CSV
y prueba con nFilterIndex := 2 también.
Saludos,
José Lalí­n
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

FileSaveDlg

Mensaje por Xevi »

José,
No es eso...
También lo probé con cDefaultExt := ".Xls", y tampoco...
Algo falla en la clase al establecer cFileName y si no se cambia éste desde
el diálogo, no funciona el cambio de extensión del fichero a guardar.
Un Saludo,
Xevi.
"José Lalín" <notengo@correo.com> escribió en el mensaje
news:[email=4982e9c7@svctag-j7w3v3j....]4982e9c7@svctag-j7w3v3j....[/email]
>
> Xevi,
>
> aún no he probado tu ejemplo, pero
>
> WITH OBJECT ::oFileSaveDlg1 := TFileSaveDlg():New( Self )
> :cInitialDir := "."
> :cFileName := "PROVA DE FITXER (Empresa S.L.).Xls"
> :cFilter := "Excel|*.Xls|Csv|*.Csv|Txt|*.Txt"
> //Añade esta línea
> :nFilterIndex := 1
> :Create()
> END
>
> Confírmame si funciona y, si puedes, cambia la extensión del archivo a CSV
> y prueba con nFilterIndex := 2 también.
>
> Saludos,
> José Lalín
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

FileSaveDlg

Mensaje por Xevi »

José,
¿Has podido mirarte el ejemplo???
Un Saludo,
Xevi.
"José Lalín" <notengo@correo.com> escribió en el mensaje
news:[email=4982e9c7@svctag-j7w3v3j....]4982e9c7@svctag-j7w3v3j....[/email]
>
> Xevi,
>
> aún no he probado tu ejemplo, pero
>
> WITH OBJECT ::oFileSaveDlg1 := TFileSaveDlg():New( Self )
> :cInitialDir := "."
> :cFileName := "PROVA DE FITXER (Empresa S.L.).Xls"
> :cFilter := "Excel|*.Xls|Csv|*.Csv|Txt|*.Txt"
> //Añade esta línea
> :nFilterIndex := 1
> :Create()
> END
>
> Confírmame si funciona y, si puedes, cambia la extensión del archivo a CSV
> y prueba con nFilterIndex := 2 también.
>
> Saludos,
> José Lalín
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

FileSaveDlg

Mensaje por Xevi »

Ignacio,
Según lo hablado con José Lalín,... te pido si puedes probar el ejemplo con
la versión 1.98, y ver si podeis localizar el problema.
Un Saludo,
Xevi.
"Xevi" <xevicomas_quitar_esto@gmail.com> escribió en el mensaje
news:4981ca98$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Adjunto un ejemplo en el que al intentar "guardar" un fichero, si el
> diálogo permite cambiar de tipo de fichero, no hace el cambio de extensión
> y siempre lo guarda en el que establezco el nombre de extensión a
> cFileName.
>
> ¿Hago algo mal???
>
> Si por contra, cambio el nombre del fichero desde el diálogo SI que lo
> guarda con la extensión seleccionada, pero SOLO en el caso que se cambie o
> introduzca el nombre del fichero por el diálogo es como alterna entre
> extensiones a grabar correctamente.
>
>
> Un Saludo,
> Xevi.
>
>
xAvi
Mensajes: 108
Registrado: Mar Abr 08, 2008 6:12 pm

FileSaveDlg

Mensaje por xAvi »

Xevi,
No sé si te refieres a lo siguiente .-
En Xp si la extensión que tu introduces en el nombre del dialogo no está registrada la pilla :) si no le suma la que tu le
fijas. Complicado de explicar, por ejemplo en tu código .-
:cFileName := "PROVA DE FITXER (Empresa S.L.).Xls"
..Xls está registrada como extensión en el SO aunque fijes en el combo .Txt se queda con .Xls pero si escribes en el dialogo
PROVA DE FITXER (Empresa S.L.).Xly como .Xly no la tienes registrada en el SO y en el combo has fijado Cvs pondrá
PROVA DE FITXER (Empresa S.L.).Xly.Cvs
Para que no se comporte así­ debes añadir y seleccionar el filtro de Todas|*.*
:cFilter := "Excel|*.Xls|Csv|*.Csv|Txt|*.Txt|Todas|*.*"
:nFilterIndex := 4
De no ser esto, yo estoy con la 1.98 y no he notado nada raro en el dialogo.
Un saludo
Xavi
Xevi escribió:
> Adjunto un ejemplo en el que al intentar "guardar" un fichero, si el diálogo
> permite cambiar de tipo de fichero, no hace el cambio de extensión y siempre
> lo guarda en el que establezco el nombre de extensión a cFileName.
>
> ¿Hago algo mal???
>
> Si por contra, cambio el nombre del fichero desde el diálogo SI que lo
> guarda con la extensión seleccionada, pero SOLO en el caso que se cambie o
> introduzca el nombre del fichero por el diálogo es como alterna entre
> extensiones a grabar correctamente.
>
>
> Un Saludo,
> Xevi.
>
>
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

FileSaveDlg

Mensaje por Xevi »

xAvi,
No es eso... aunque le envíe el nombre "PROVA DE FITXER (Empresa S.L.).Xly
", y añada el fitro Todas|*.*... el comportamiento sigue siendo el mismo...
Sólo hay que probar el ejemplo y hacer los cambios que me has sugerido...
veràs que SIEMPRE le pone la extensión que se le envía inicialmente a
cFileName.
Un Saludo,
Xevi.
"xAvi" <jarabal_eliminar_no_spam_@gmail.com> escribió en el mensaje
news:498fef5c$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Xevi,
>
> No sé si te refieres a lo siguiente .-
> En Xp si la extensión que tu introduces en el nombre del dialogo no está
> registrada la pilla :) si no le suma la que tu le fijas. Complicado de
> explicar, por ejemplo en tu código .-
> :cFileName := "PROVA DE FITXER (Empresa S.L.).Xls"
> .Xls está registrada como extensión en el SO aunque fijes en el combo .Txt
> se queda con .Xls pero si escribes en el dialogo
> PROVA DE FITXER (Empresa S.L.).Xly como .Xly no la tienes registrada en el
> SO y en el combo has fijado Cvs pondrá
> PROVA DE FITXER (Empresa S.L.).Xly.Cvs
> Para que no se comporte así debes añadir y seleccionar el filtro de
> Todas|*.*
> :cFilter := "Excel|*.Xls|Csv|*.Csv|Txt|*.Txt|Todas|*.*"
> :nFilterIndex := 4
> De no ser esto, yo estoy con la 1.98 y no he notado nada raro en el
> dialogo.
>
> Un saludo
> Xavi
>
> Xevi escribió:
>> Adjunto un ejemplo en el que al intentar "guardar" un fichero, si el
>> diálogo permite cambiar de tipo de fichero, no hace el cambio de
>> extensión y siempre lo guarda en el que establezco el nombre de extensión
>> a cFileName.
>>
>> ¿Hago algo mal???
>>
>> Si por contra, cambio el nombre del fichero desde el diálogo SI que lo
>> guarda con la extensión seleccionada, pero SOLO en el caso que se cambie
>> o introduzca el nombre del fichero por el diálogo es como alterna entre
>> extensiones a grabar correctamente.
>>
>>
>> Un Saludo,
>> Xevi.
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

FileSaveDlg

Mensaje por Xevi »

Yo por mi parte lo arreglo sin enviar nombre a cFileName,... pero creo que
debería de funcionar correctamente.
Ahí lo dejo yo... si alguien le quiere prestar atención, que lo haga.
Un Saludo,
Xevi.
"Xevi" <xevicomas_quitar_esto@gmail.com> escribió en el mensaje
news:4981ca98$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Adjunto un ejemplo en el que al intentar "guardar" un fichero, si el
> diálogo permite cambiar de tipo de fichero, no hace el cambio de extensión
> y siempre lo guarda en el que establezco el nombre de extensión a
> cFileName.
>
> ¿Hago algo mal???
>
> Si por contra, cambio el nombre del fichero desde el diálogo SI que lo
> guarda con la extensión seleccionada, pero SOLO en el caso que se cambie o
> introduzca el nombre del fichero por el diálogo es como alterna entre
> extensiones a grabar correctamente.
>
>
> Un Saludo,
> Xevi.
>
>
xAvi
Mensajes: 108
Registrado: Mar Abr 08, 2008 6:12 pm

FileSaveDlg

Mensaje por xAvi »

Xevi,
El ejemplo me hace lo que yo te he mal explicado o puede que no te entienda. Quiero decir que el Xp para que reconozca que
cFileName del dialogo dispone de extensión está debe de estar registrada en "Tipos de archivos" en "Opciones de carpeta" del
Explorador. Puede que de la casualidad que tengas registrada *.xly pero si no lo está y tu pones en cFileName "Fichero.xly" con
el filtro 2 "Cvs|*.Cvs" el resultado será "Fichero.xly.Cvs" no reconociendo ".xly" como extensión y si la reconoce como
extensión, por ejemplo cFileName := "Fichero.xls", como ya dispone de extensión no aplicará el filtro dejando "Fichero.xls". No
sé si me he explicado mejor o aún lo he liado más. En resumen: si cFileName inicial dispone de extensión reconocida, no
cambiando nada en el dialogo y le das a guardar, pondrá esa extensión y si no la reconoce le añadirá "pondrá" la del filtro y
esto es lo que hace IExplorer cuando le das a "Guardar como...".
Un saludo
Xavi
Xevi escribió:
> xAvi,
>
> No es eso... aunque le enví­e el nombre "PROVA DE FITXER (Empresa S.L.).Xly
> ", y añada el fitro Todas|*.*... el comportamiento sigue siendo el mismo...
> Sólo hay que probar el ejemplo y hacer los cambios que me has sugerido...
> verí s que SIEMPRE le pone la extensión que se le enví­a inicialmente a
> cFileName.
>
> Un Saludo,
> Xevi.
>
>
> "xAvi" <jarabal_eliminar_no_spam_@gmail.com> escribió en el mensaje
> news:498fef5c$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Xevi,
>>
>> No sé si te refieres a lo siguiente .-
>> En Xp si la extensión que tu introduces en el nombre del dialogo no está
>> registrada la pilla :) si no le suma la que tu le fijas. Complicado de
>> explicar, por ejemplo en tu código .-
>> :cFileName := "PROVA DE FITXER (Empresa S.L.).Xls"
>> .Xls está registrada como extensión en el SO aunque fijes en el combo .Txt
>> se queda con .Xls pero si escribes en el dialogo
>> PROVA DE FITXER (Empresa S.L.).Xly como .Xly no la tienes registrada en el
>> SO y en el combo has fijado Cvs pondrá
>> PROVA DE FITXER (Empresa S.L.).Xly.Cvs
>> Para que no se comporte así­ debes añadir y seleccionar el filtro de
>> Todas|*.*
>> :cFilter := "Excel|*.Xls|Csv|*.Csv|Txt|*.Txt|Todas|*.*"
>> :nFilterIndex := 4
>> De no ser esto, yo estoy con la 1.98 y no he notado nada raro en el
>> dialogo.
>>
>> Un saludo
>> Xavi
>>
>> Xevi escribió:
>>> Adjunto un ejemplo en el que al intentar "guardar" un fichero, si el
>>> diálogo permite cambiar de tipo de fichero, no hace el cambio de
>>> extensión y siempre lo guarda en el que establezco el nombre de extensión
>>> a cFileName.
>>>
>>> ¿Hago algo mal???
>>>
>>> Si por contra, cambio el nombre del fichero desde el diálogo SI que lo
>>> guarda con la extensión seleccionada, pero SOLO en el caso que se cambie
>>> o introduzca el nombre del fichero por el diálogo es como alterna entre
>>> extensiones a grabar correctamente.
>>>
>>>
>>> Un Saludo,
>>> Xevi.
>
>
Responder