Ayuda recien empiezo a programar

TutE._

Newbie Lvl 1
hola disculpen me podrian ayudar algo en programacion, recien estoy empezando, si no es mucha molestia
mi problema es como sumar todo lo de una lista ej que un label me de el valor numero de todos los valores que asigne


mi ignorancia es que coloco label2.caption = val (list1.itemdata (1, 2, 3)) no ya probe con list1.addata, pero eso es para adherir un numero, que es

Private Sub Command4_Click()
List1.AddItem Val(Label1.Caption)
end sub
con eso deja los numeros asignados a la lista pero yo quiero sumar todos esos numeros o cada vez que valla colocando un numero que en un label2 ej
me arroje cada suma de los numeros asignados
 

CUICUI

Oráculo Lvl 4
this?:
Private Sub Command1_Click()
 
Dim tot As Double
Dim i As Long
 
If List1.ListCount > 0 Then
    For i = 1 To List1.ListCount
        tot = tot + Val(List1.List(i))
    Next i
End If
 
Label1.Caption = "Total: " & tot
 
End Sub
 
Private Sub Form_Load()
    Dim i As Long
  
    For i = 1 To 5
        List1.AddItem (Int(Rnd(i) * 100))
    Next i
End Sub
 

TutE._

Newbie Lvl 1
Cracc, pero me explicarías que hiciste, por lo que entiendo Dim tot Double (declaraste tot como double), y Dim i as Long declaraste a i como un "numero"creo que es tipo de numero con bastantes decimales.

Despues "if" (porque) List1.listcount > 0 then (que significa esta linea de codigo)
y la verdad todo el resto me gustaria que me lo expliques si no es mucho pedir, en las mismas lineas de codigo * la explicacion , desde ya muchisimas gracias . te pasaste
 

CUICUI

Oráculo Lvl 4
Cracc, pero me explicarías que hiciste, por lo que entiendo Dim tot Double (declaraste tot como double)
tot es una variable auxiliar donde se acumula cada valor que vaya tomando de la lista en el bucle

y Dim i as Long declaraste a i como un "numero"creo que es tipo de numero con bastantes decimales.
Es preferible usar long para recorrer ciclos (a CPU's performance thing), y metí Double por meter, usá la variable que creas que no va a sobrepasarse el límite.. i.e.:

dim Tot as byte

tot=tot+256 ' Esto te tira Runtime Overflow


Despues "if" (porque) List1.listcount > 0 then (que significa esta linea de codigo)
y la verdad todo el resto me gustaria que me lo expliques si no es mucho pedir, en las mismas lineas de codigo * la explicacion , desde ya muchisimas gracias . te pasaste
"If List1.ListCount > 0 Then" --> Si hay más de 0 indices en la Lista entonces empieza a recorrer desde el primer índice hasta el último


Te sirve? O era otra cosa tu tema?
 

TutE._

Newbie Lvl 1
el unico problema es que
For i = 1 To 5
List1.AddItem (Int(Rnd(i) * 100))
le asignaste 5 Items(numeros aleatorios) , pero si coloco 0,, para que la lista este vacia cuando apreto command1.click el total es 0
Post automatically merged:

Solucione sacando todo el Form Load()
 
Última edición:
Arriba