Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: fernandos85al@hotmail.com en Noviembre 17, 2012, 04:10:28 pm

Título: error desconocido
Publicado por: fernandos85al@hotmail.com en Noviembre 17, 2012, 04:10:28 pm
Hola gente linda!!! como están? en esta oportunidad estoy tratando de realizar una  pequeña aplicación en vb6, donde se presenta un formulario con distintas opciones, y por cada check correcto se asigna 1 punto. Al finalizar en un command se debería obtener el resultado de la sumatoria de los check seleccionados correctamente....

pongo el código, siempre me da como resultado final el valor 1, es como un multiple choice en un examen.... presento distintas opciones sobre un tema dado, ejemplo: elementos de una ferreteria:

1- seleccione la opción correcta:
   A-MARTILLO
   B-GATO
   C-HOJAS
   D-CLAVOS
   E-PLUMAS

En este ejemplo las correctas serian las opciones A y D, al seleccionar obtienen como resultado un 4, siendo que cada una valdria 2 puntos para llegar al 10. No se si se entiende...


dejo mi código, y una imagen de un ejemplo..

Código: [Seleccionar]
Dim suma() As Integer  'Contiene el valor de cada item(checkbox)
Dim total As Integer  'guarda la sumatoria total
Private Sub Check1_Click(Index As nteger)
ReDim suma(6) As Integer
Select Case Check1(Index).Value
Case 0
suma(0) = 2 ' si se selecciona y es correcta se asigna 2 puntos que se guarda en suma(0)
Case 1
suma(1) = 2
Case 2
suma(2) = 2
Case 3
suma(3) = 2
Case 4
suma(4) = 2
End Select
total = suma(0) + suma(1) + suma(2) + suma(3) + suma(4) + suma(5) ' suma total
End Sub
Private Sub Command1_Click()
MsgBox "Resultado:" & total, vbOKOnly + vbInformation, "Resultado total" ' muestra el resultado obtenido
End Sub



http://www.ziddu.com/download/20904367/Suma.JPG.html
 (http://www.ziddu.com/download/20904367/Suma.JPG.html)



es algo muy simple pero no logro ver el error.... si alguien sabe, le agradecería muchísimo!!



desde ya muchísimas gracias  + gracias por leer=usuario agradecido!!! jeje


saludos cordiales!!!
   
 
 
Título: Re:error desconocido
Publicado por: YAcosta en Noviembre 17, 2012, 04:22:59 pm
Lo que yo no puedo es ver la foto, mejor dicho es muy extensa la forma para verla y al final aborté. Porque no la pegas en un server gratuito, aqui hice un video para mi foro de como publicar fotos espero te sirva.

[youtube]http://www.youtube.com/watch?v=CHPYA0QVRhQ[/youtube]
Título: Re:error desconocido
Publicado por: fernandos85al@hotmail.com en Noviembre 17, 2012, 04:41:47 pm
Hola Yvan!!, gracias por responder tan pronto!, dejo el link

http://snag.gy/gl7lb.jpg
 (http://snag.gy/gl7lb.jpg)

http://snag.gy/gl7lb.jpg


muchas gracias!!


saludos cordiales!
Título: Re:error desconocido
Publicado por: YAcosta en Noviembre 17, 2012, 04:49:09 pm
Te falto presionar aqui en el foro el icono de foto (al lado del boton de youtube y te crea las etiquetas img /img)) para que quede asi :

(http://snag.gy/gl7lb.jpg)

Título: Re:error desconocido
Publicado por: YAcosta en Noviembre 17, 2012, 04:51:43 pm
Esta facil de resolver, es recorrer los checkbox, no es necesario tampoco el redim, lo puedo hacer pero ya vi a varios en el post y seguro ya lo estan haciendo asi que aguardemos.
Título: Re:error desconocido
Publicado por: E N T E R en Noviembre 17, 2012, 04:53:39 pm
Código: (VB) [Seleccionar]
Dim xx As Integer

Private Sub Command1_Click()
       
    xx = 0
    For i = 0 To Check1.Count - 1
        If Check1(i).Value = 1 Then
            xx = xx + 2
        End If
    Next i
   
    MsgBox "Total: " & xx
           
End Sub
Título: Re:error desconocido
Publicado por: LeandroA en Noviembre 17, 2012, 04:56:07 pm
Hola fernando hay un par de errores, pero te paso la funcion terminada y despues te explico.

Código: (vb) [Seleccionar]
Dim total As Integer  'guarda la sumatoria total

Private Sub Check1_Click(Index As Integer)
    Dim suma As Integer  'Contiene el valor de cada item(checkbox)
    Dim i As Integer
    suma = 0
   
    For i = 0 To Check1.Count - 1
        If Check1(i).Value Then suma = suma + 2 'o Check1(i).Tag si son distintos valores
    Next
   
    total = suma
End Sub
Private Sub Command1_Click()
    MsgBox "Resultado:" & total, vbOKOnly + vbInformation, "Resultado total" ' muestra el resultado obtenido
End Sub



bien tu error es, haces un select case de Check1(Index).Value , y eso es 1 o 0 entonces tendrias que haber echo un select case del index en ese caso. pero si el usuario destildara la casilla siempre sigue sumando 2, me entendes. no comprovas eso. fíjate la función que te pase es mas segura.

Saludos.
Título: Re:error desconocido
Publicado por: fernandos85al@hotmail.com en Noviembre 17, 2012, 05:07:04 pm
Muchas gracias! a todos, no que estoy haciendo últimamente, necesito vacaciones y un buen descanso!!!no sirve, al menos para mi trasnochar o mejor dicho pasar sin descansar!, no veía el gran error, me da vergüenza, era tan fácil, pero no lo veía!!!


muchas gracias a todos!!
Título: Re:error desconocido
Publicado por: YAcosta en Noviembre 17, 2012, 05:46:51 pm
A veces pasa no te preocupes y no pierdas el animo

Saludos
Título: Re:error desconocido
Publicado por: Bazooka en Noviembre 18, 2012, 11:54:27 am
En tu codigo original deberias utilizar

Redin Preserve Suma(6)