Error con carga de Progressbar y CommonDialog

Iniciado por Enemy, 26 Julio 2009, 04:23 AM

0 Miembros y 1 Visitante están viendo este tema.

Enemy

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

BlackZeroX

#1
Código (vb) [Seleccionar]

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
The Dark Shadow is my passion.

Enemy

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.

BlackZeroX

The Dark Shadow is my passion.

Enemy

Lo esta en el "Form_Load"

Solo se vuelve visible cuando presiono el boton generar.

seba123neo

Cita de: BlackZeroX en 26 Julio 2009, 04:40 AM
Código (vb) [Seleccionar]

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.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Enemy

Si doy en "cancelar" tambien se genera el archivo.

Sigo sin comprender  :-\

BlackZeroX

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.¡!
The Dark Shadow is my passion.

Enemy

Ese codigo es correcto pero le falta mas todavia.

Que puedo hacer? que sugieren?

seba123neo

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.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson