Bueno, mi problema es el siguiente. No logro hacer que al querer cancelar el guardado de un archivo, o sea, cuando doy en cancelar en vez de guardarlo, se quite la barra de carga, porque cuando guardo el archivo, esta bien, doy en guardar y carga la barra y dice generado con exito etc. pero a la hora de cancelar, en vez de que se cierre la ventana y continuar con lo de antes, esta carga se carga igual y el mensaje tambien sale y es un embole. Alguien me da un pie para corregir? Aqui les dejo el code, haber en que estoy equivocado:
If Text1.Text = "" Then
MsgBox "No hay nada que Generar!", vbCritical, "Worm Kreator 1.0 [error]"
Else
CD1.FileName = "Worm.vbs"
CD1.Filter = "Archivos vbs |*.vbs"
CD1.ShowSave
Open CD1.FileName For Output As #1
Print #1, Text1.Text + vbCrLf
Close #1
PB1.Visible = True
For i = PB1.Min To PB1.Max
PB1.Value = i
Next i
MsgBox "Worm Generado con Exito", vbInformation, "Worm Kreator 1.0 [Done]"
PB1.Visible = False
End If
PB1: ProgressBar
CD1: CommonDialog
Gracias de antemano..
SALUD.O.S
DIM STRSAVEFILE AS STRING
If Text1.Text = "" Then
MsgBox "No hay nada que Generar!", vbCritical, "Worm Kreator 1.0 [error]"
Else
CD1.FileName = "Worm.vbs"
CD1.Filter = "Archivos vbs |*.vbs"
CD1.ShowSave
`-----------
STRSAVEFILE=CD1.FileName
IF STRSAVEFILE<>"" THEN
'------------
Open STRSAVEFILE For Output As #1
Print #1, Text1.Text + vbCrLf
Close #1
PB1.Visible = True
For i = PB1.Min To PB1.Max
PB1.Value = i
Next i
MsgBox "Worm Generado con Exito", vbInformation, "Worm Kreator 1.0 [Done]"
'----------
ELSE
PB1.Visible = False
'SENTENCIAS DE CANCELACIÒN
END IF
'----------
End If
Nos vemos.
Dulces Lunas
Es similar a este pedazo de codigo:
Private Sub Command1_Click()
Dim KWorm As String
On Error Resume Next
CD1.Filter = "Archivos vbs |*.vbs"
CD1.FileName = ""
CD1.ShowOpen
If CD1.FileName = "" Then Exit Sub
Open CD1.FileName For Input As #1
Do Until EOF(1)
KWorm = Input(1, #1)
Text1.SelText = Text1.SelText + Text1.SelText & KWorm
Loop
Close #1
End Sub
Pero con ese abro el archivo.
Pero sigue apareciendo la barra aun asi cuando presiono "CANCELAR". Lo que tengo que lograr es que aparezca la barra cuando quiero guardarlo pero que NO aparezco cuando presiono sobre cancelar.
SITUA PB1.Visible = False AL INICIO
Lo esta en el "Form_Load"
Solo se vuelve visible cuando presiono el boton generar.
Cita de: BlackZeroX en 26 Julio 2009, 04:40 AM
DIM STRSAVEFILE AS STRING
If Text1.Text = "" Then
MsgBox "No hay nada que Generar!", vbCritical, "Worm Kreator 1.0 [error]"
Else
CD1.FileName = "Worm.vbs"
CD1.Filter = "Archivos vbs |*.vbs"
CD1.ShowSave
`-----------
STRSAVEFILE=CD1.FileName
IF STRSAVEFILE<>"" THEN
'------------
Open STRSAVEFILE For Output As #1
Print #1, Text1.Text + vbCrLf
Close #1
PB1.Visible = True
For i = PB1.Min To PB1.Max
PB1.Value = i
Next i
MsgBox "Worm Generado con Exito", vbInformation, "Worm Kreator 1.0 [Done]"
'----------
ELSE
PB1.Visible = False
'SENTENCIAS DE CANCELACIÒN
END IF
'----------
End If
Nos vemos.
Dulces Lunas
no entiendo como esta indentado ese codigo...pero esta bien si
.Filename devuelve vacio es porque apreto cancelar...
mira lo facil que es el solucionar el problema...pone un punto de interrupcion y seguilo y fijate por donde entra el codigo y vas a saber porque esta fallando...
saludos.
Si doy en "cancelar" tambien se genera el archivo.
Sigo sin comprender :-\
Cita de: seba123neo en 26 Julio 2009, 05:38 AM
mira lo facil que es el solucionar el problema...pone un punto de interrupcion y seguilo y fijate por donde entra el codigo y vas a saber porque esta fallando...
O puede hacer ya un diagrama de flujo ¬¬"... aun que esto ya seria muy.¡!
Dulces lunas.¡!
Ese codigo es correcto pero le falta mas todavia.
Que puedo hacer? que sugieren?
lo que vos tenes que hacer es poner la propiedad del commondialog CancelError = True , eso te va a tirar un error cuando apretes el boton de cancelar, y lo unico que tenes que hacer es capturar ese error...el numero del error es el 32755...haces un On Error Go to y en la etiqueta pones que si el error = 32755 pues que no muestre la barra...
saludos.
Saabeee xD, Muchas gracias men, Ahora funciona, asi quedo:
Private Sub Command3_Click()
On Error Resume Next
Dim KWorm As String
Dim i As Long
If Text1.Text = "" Then
MsgBox "No hay nada que Generar!", vbCritical, "Worm Kreator 1.0 [error]"
Else
On Error GoTo Cancel
CD1.FileName = "Worm.vbs"
CD1.Filter = "Archivos vbs |*.vbs"
CD1.ShowSave
Open CD1.FileName For Output As #1
Print #1, Text1.Text + vbCrLf
Close #1
PB1.Visible = True
For i = PB1.Min To PB1.Max
PB1.Value = i
Next i
MsgBox "Worm Generado con Exito", vbInformation, "Worm Kreator 1.0 [Done]"
PB1.Visible = False
End If
Cancel:
If Error = 32755 Then
PB1.Visible = False
End If
End Sub
Gracias ::)