| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
bosoft Master

Registrado: 23 Oct 2005Mensajes: 342
|
Publicado: Mar 10 May, 2016 9:09 am Asunto: TSaveDialog y el evento OnTypeChange |
|
|
Hola a todos
Ante todo, me he hartado de buscar y no he encontrado respuesta a esto.
Tengo un programa que me guarda un listview a fichero txt. Pero quiero darle la oportunidad al user a recargar esos datos al mismo listview. Para ello, y como el código lo utilizo en varios listviews diferentes, lo que quiero es cambiar la extensión del archivo a guardar e incluir una cabecera que indique de donde viene.Hasta aquí todo correcto.
Pero también tengo que dar la oportunidad a guardar "texto plano" como antes.
Para ello he activado los filtros del savedialog a *.txt y *.lgs
La cuestión es que al guardar y seleccionar el modo *.lgs debería cambiar la extensión del FileName. Usando el evento OnTypeChange
| Código: | void __fastcall Tselprint::Guarda_textTypeChange(TObject *Sender)
{
String Valor=ExtractFileName(Guarda_text->FileName); //listado.txt
if(Guarda_text->FilterIndex==2)
Valor=ChangeFileExt(Valor, ".LGS"); //listado.lgs
else
Valor=ChangeFileExt(Valor, ".TXT");
Guarda_text->FileName=Valor; //listado.lgs si index==2
}
|
Pero el savedialog no cambia el archivo (o extensión) a guardar en la ventana, pero si le hacemos un seguimiento paso a paso si que está todo correcto.
¿Algo se me escapa?
Saludos y gracias |
|
| Volver arriba |
|
 |
Felip Master

Registrado: 09 Jun 2004Mensajes: 200
|
Publicado: Mie 11 May, 2016 10:03 pm Asunto: |
|
|
| Código: | if(Guarda_text->Execute()) {
Guarda_textTypeChange(Sender);
...
} |
|
|
| Volver arriba |
|
 |
bosoft Master

Registrado: 23 Oct 2005Mensajes: 342
|
Publicado: Jue 12 May, 2016 7:06 am Asunto: |
|
|
| Felip escribió: | | Código: | if(Guarda_text->Execute()) {
Guarda_textTypeChange(Sender);
...
} |
|
Gracias por tu respuesta Felip, pero... no entiendo.
Al seleccionar el filtro 2 (*.lgs) el sistema llama al evento Guarda_textTypeChange y en la ventana aparecen los ficheros lgs. Pero lo que no cambia es el nombre del archivo ni internamente ni externamente. A ojos del user sigue terminando en txt aunque en la pantalla solo vea los *.lgs
Ya se que si ejecuto esa linea después de pulsar aceptar, me pondrá el nombre "correcto" del fichero, pero el usuario no lo ve y puede ser engañado
Saludos y gracias |
|
| Volver arriba |
|
 |
|