Autor
|
Tema: common dialog, guardar resulado (Leído 2,351 veces)
|
fraktal
Desconectado
Mensajes: 128
|
Hola, como se maneja el resultado optenido por el control Common Dialog? Por ejemplo, pongo en el evento click cmdopen.showopen y eligo un archivo y me devuelve al formulario pero si he elegido un archivo, como lo guardo? he tratado de guardarlo en una varible pero me falla. rpt = cmdopen.showopen o un color, o cualquier resultado del control, no se como guardarlo para poder usarlo. Gracias.
|
|
|
En línea
|
|
|
|
SheKeL_C$
Desconectado
Mensajes: 549
_-=[Sh3K3L_C$]=-_
|
'CD es el CommondDialog1
Private Sub Command1_Click() 'PARA ESCRIBIR EN UN ARCHIVO cd.Filter = "Archivos de texto|*.txt" 'es un filtro que solo puedes coger los txt, si kieres borralo cd.ShowSave 'muestra la pantalla para elegir el archivo If cd.FileName = "" Then Exit Sub 'Sino no as seleccionao ninguna se va fuera Open cd.FileName For Append As #1 'Se abre el archivo Print #1, Text1 'se escribe lo que ay en el text1 Close #1 'se cierra
End Sub
|
|
|
En línea
|
|
|
|
fraktal
Desconectado
Mensajes: 128
|
Gracias Shekel, asi no daba con ello. Lo pondre en practica. Saludos!
|
|
|
En línea
|
|
|
|
soplo
Ex-Staff
Desconectado
Mensajes: 3.592
Debian rool'z
|
Una apostilla mas. Si al comondialog le pones la propiedad cancel a true entonces puedes controlar si pulsan ESC porque se genera un error. 'CD es el CommondDialog1 Private Sub Command1_Click() 'PARA ESCRIBIR EN UN ARCHIVO
on error goto fallo cd.Filter = "Archivos de texto|*.txt" 'es un filtro que solo puedes coger los txt, si kieres borralo cd.ShowSave 'muestra la pantalla para elegir el archivo If cd.FileName = "" Then Exit Sub 'Sino no as seleccionao ninguna se va fuera Open cd.FileName For Append As #1 'Se abre el archivo Print #1, Text1 'se escribe lo que ay en el text1 Close #1 'se cierra exit sub fallo: ' lo que pongas aquí es lo que ocurre si pulsaron ESC
End Sub
|
|
|
En línea
|
Callar es asentir ¡No te dejes llevar!
|
|
|
fraktal
Desconectado
Mensajes: 128
|
Ok, gracias por el nuevo aporte. SOlo hay una cosa que no entiendo. DIgamos que cuando terminaria el procedimiento, se pone a posta EXIT SUB para que salga, y luego se llama al label fallo: y se pone lo que se quiera no?. Y no entiendo eso, la llamada a exit sub, poner el label y luego el end sub. Asi funciona pero no entiendo como si se dice salir del procedimiento, lee el volumen y luego ya si sale por el END SUB. esto es lo k no entiendo. Aki pongo una variacion del codigo pues ya lo he entendido. Private Sub cmdexe_Click() On Error GoTo fallo
cd.Filter = "archivos de texto|*.txt" cd.ShowOpen If cd.FileName = " " Then Exit Sub var = cd.FileName Print var Exit Sub fallo: rpt = MsgBox("alerta", vbCritical) End Sub
|
|
|
En línea
|
|
|
|
~~
|
Hola: Mira esta linea: Solamente si se produce un error en el programa (en este caso q el usuario le de a cancelar) salta a la linea indicada, en este ejemplo es fallo. Creo q era eso lo q preguntabas 1S4ludo
|
|
|
En línea
|
|
|
|
fraktal
Desconectado
Mensajes: 128
|
Si Eon, era eso, pero mi pregunta se referia mas a que normalmente un procedimiento termina con en END sub pero lo que me referia es que cuando se usa una etiqueta como en este caso, si la forma de actuar es asi. Meter al final del procedimiento real un EXIT SUB (que supongo que a fin de cuentas viene hacer lo mismo que el END SUB) y despues del EXIT SUB meter la etiqueta y ya el END SUB. Osea que si siempre que seusen etiquetas se procede de esta manera. Osea que el siempre el fallo: se tiene que colocar entre el exit sub y el end sub. Saludos
|
|
|
En línea
|
|
|
|
|
|