elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Dudas en VB6
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dudas en VB6  (Leído 5,473 veces)
Bb-7

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Dudas en VB6
« en: 2 Marzo 2008, 14:28 pm »

Saludos a todos.

Tengo dos dudas sobre Visual Basic:
1. Cuando pongo un MsgBox de pregunta con dos botones, sí ó no ("Texto", vbQuestion+vbYesNo, "Título"), cuando le doy al "sí" pasa a la siguiente acción, pero cuando le doy al "no" hace absolutamente lo mismo. Es decir, ¿cómo puedo hacer para que el MsgBox pueda distinguir entre si le doy al "sí" o si le doy al "no", y que según qué botón pulse haga una cosa u otra?


2. Cuando le doy a la "X" o a Alt+F4 para cerrar el programa, ¿Cómo hago para que el programa antes de cerrarse directamente haga "algo" como lanzar un mensaje diciendo si quieres salir o no, o guardar algún dato con el que se trabajaba para no perderlo, etc.?

Gracias de antemano.


En línea





Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Dudas en VB6
« Respuesta #1 en: 2 Marzo 2008, 14:54 pm »

Hola, tus dudas son fáciles de solucionar.. verás..

El MsgBox con VbQuestion+vbyesNo lo que hace es devolver True si pulsas en sí y False si pulsas en No, es como una variable Booleana por lo tanto si quieres que haga una cosa u otra dependiendo que botón pulse sólo tienes que meter el msgbox en un if que compare la respuesta con vbyes o vbno.

Ejemplo:

Código
  1. Private Sub Command1_Click()
  2. If MsgBox("Texto", vbQuestion + vbYesNo, "Título") = vbYes Then
  3.    MsgBox "has pulsado SI"
  4. Else
  5.    MsgBox "Has pulsado NO"
  6. End If
  7. End Sub
  8.  

Para que te pregunte al cerrar el programa tienes que colocar tu código en Form_Unload. La función Form_Unload lleva un parámetro Cancel con el que podrás decidir si cerrar o no el formulario, lo pones a 1 si quieres impedir que se cierre tu programa y a 0 en caso contrario, es más claro con un ejemplo.

Ejemplo:

Código
  1. Private Sub Form_Unload(Cancel As Integer)
  2. If MsgBox("Desea Salir", vbQuestion + vbYesNo, "Título") = vbYes Then
  3.    Cancel = 0
  4. Else
  5.    Cancel = 1
  6. End If
  7. End Sub

Espero que te sea de ayuda,

Saludos!!


En línea

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.164


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Dudas en VB6
« Respuesta #2 en: 2 Marzo 2008, 16:51 pm »

Código
  1. Respuesta = MsgBox("Hola?", vbYesNo + vbExclamation, "titulo")
  2. If Respuesta = vbYes Then
  3. 'pulsastes SI
  4. elseif Respuesta = vbNo Then
  5. ' pulsastes no
  6. end if
  7.  
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: Dudas en VB6
« Respuesta #3 en: 2 Marzo 2008, 17:21 pm »

Cancel siempre va a ser igual a cero una vez entre en el "EVENTO Unload", solo cambiara si se lo indicamos, la comparación deberia hacerse con vbNo en lugar de vbYes. Mira este ejemplo:

Código:
Private Sub Form_Unload(Cancel As Integer)
    Cancel = (MsgBox("¿Realmente desea Salir?", vbQuestion + vbYesNo, _
                   "Esta intentando salir del programa") = vbNo)
End Sub

¡S4lu2!
En línea

Bb-7

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: Dudas en VB6
« Respuesta #4 en: 2 Marzo 2008, 22:21 pm »

Pues muchas gracias a todos.
Lo del MsgBox, sospechaba que sería algo así, por lo que hice pruebas, pero claro, no funcionaban. Pero de lo otro no tení ni idea

Gracias.
En línea





Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines