Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

como sumo los elementos de una lista

Estas en el tema de como sumo los elementos de una lista en el foro de Visual Basic clásico en Foros del Web. saludos a todos.. estoy tratando de sumar los elementos de una lista con una funcion SumarElementos; la verdad no se si este bien hecha, cuando ...
  #1 (permalink)  
Antiguo 09/07/2007, 11:40
 
Fecha de Ingreso: marzo-2007
Mensajes: 53
Antigüedad: 17 años
Puntos: 0
como sumo los elementos de una lista

saludos a todos..

estoy tratando de sumar los elementos de una lista con una funcion SumarElementos; la verdad no se si este bien hecha, cuando llamo a la funcion y ejecuto el programa me dice que esperaba una matriz.....
podrian orientarme un poquitin...

este es el codigo que utilizo

Private Sub ChameleonBtn1_Click()
Dim Agregar As Integer
Agregar = InputBox("Agregar elemento")


List1.AddItem Agregar

End Sub

Private Sub ChameleonBtn2_Click()
Dim Elementos_lista As Integer

Elementos_lista = List1.ListCount - 1


Text1.Text = SumarElementos(Elementos_lista)


End Sub

Public Function SumarElementos(Lista As Integer) As Integer

Dim i As Integer
Dim Suma As Integer

Suma = 0
For i = 0 To Lista - 1

Suma = Suma + Lista(i)
SumarElementos = Suma


End Function
  #2 (permalink)  
Antiguo 09/07/2007, 12:07
Avatar de ant_z19  
Fecha de Ingreso: junio-2007
Ubicación: Yucatán - México
Mensajes: 87
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: como sumo los elementos de una lista

Public Function SumarElementos(Lista As Integer) As Integer

Dim i As Integer
Dim Suma As Integer

Suma = 0

For i = 0 To Lista - 1
Suma = Suma + List1.Items.Item(i)
Next

SumarElementos = Suma
return Sumar Elementos

End Function



' Te pedia matriz porque escribiste lista(i) y tienes declarado lista como integer... tu listBox se llama List1 no?
  #3 (permalink)  
Antiguo 09/07/2007, 12:08
 
Fecha de Ingreso: junio-2007
Mensajes: 189
Antigüedad: 16 años, 9 meses
Puntos: 3
Re: como sumo los elementos de una lista

Hola...
Bueno aunque no estoy dle todo seguro, diria por la pinta que el problema de la matriz estaria en la funcion cuando pones Lista(i).

Quí seria el error logico de la matriz, si no estoy en lo cierco por favor corrigeme.

Ahora para sumar los elementos de un listbox yo haria lo siguiente.
(No lo puedo probar ahora mismo or que no tengo el visual basic a mano, asique perdoname las faltas xD)

Cita:
Private Sub SumarLista()
Dim Suma as long
do while list1.listindex = list1.listcount -1 'aquí igual ya hay un fallo
suma = suma + val(list1.text)
list1.listindex = list1.listindex +1
loop
end sub
Esto deberia funcionar
Ya me cuentas

Por cierto y ahora me doy cuenta en tu funcion cuando usar el for no te hace falta un next??

Venga espero haberte ayudado

Edito: se me ha adelantado ant_z19

Última edición por SoutlinK; 09/07/2007 a las 12:23
  #4 (permalink)  
Antiguo 09/07/2007, 14:34
 
Fecha de Ingreso: marzo-2007
Mensajes: 53
Antigüedad: 17 años
Puntos: 0
Re: como sumo los elementos de una lista

si muy bien, si hacen la suma.. peeeeeeroo que va a pasar cuando quiera utilizar la Funcion SumarElementos con otro listbox, hice la prueba y me manda la suma de listbox que declare en la funcion,, o sea list1

es pensaba utilizar la funcion para utilizarla para sumar el contenido de listbox individualmente..
osea, si declaro asi mi funcion....

Public Function SumarElementos(Lista As Integer) As Double
Dim i As Integer
Dim suma As Double
suma = 0

For i = 0 To List1.ListCount - 1 ' no puedo utilizar esta funcion para otro listbox.. ¿o si?
suma = suma + List1.List(i)

Next
SumarElementos = suma

End Function
  #5 (permalink)  
Antiguo 09/07/2007, 18:19
 
Fecha de Ingreso: mayo-2007
Mensajes: 74
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: como sumo los elementos de una lista

Private Sub ChameleonBtn1_Click()
Dim Agregar As Integer
Agregar = InputBox("Agregar elemento")


List1.AddItem Agregar

End Sub

Private Sub ChameleonBtn2_Click()
Dim Elementos_lista As Integer

Elementos_lista = List1.ListCount - 1


Text1.Text = SumarElementos(Elementos_lista)


End Sub

Public Function SumarElementos(Lista As Integer) As Integer

Dim i As Integer
Dim Suma As Integer

Suma = 0
For i = 0 To Lista

Suma = Suma + List1.List(i)
SumarElementos = Suma

Next i
End Function
  #6 (permalink)  
Antiguo 10/07/2007, 03:16
 
Fecha de Ingreso: junio-2007
Mensajes: 189
Antigüedad: 16 años, 9 meses
Puntos: 3
Re: como sumo los elementos de una lista

Paco aquí te va, y esta si esta probada

Cita:
Public Function SumarListBox(Lista As ListBox) As Long
Dim Suma As Long
Lista.ListIndex = 0
Suma = Suma + Val(Lista.Text)
Do While Not Lista.ListIndex = Lista.ListCount - 1
Lista.ListIndex = Lista.ListIndex + 1
Suma = Suma + Val(Lista.Text)
Loop
SumarListBox = Suma
End Function
la llamas de la siguiente forma (Supongo que ya lo sabras)
Cita:
label1.caption = sumarlistbox(list1)
Salu2
  #7 (permalink)  
Antiguo 15/07/2007, 13:45
 
Fecha de Ingreso: julio-2007
Mensajes: 2
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Re: como sumo los elementos de una lista

HOLA EN QUE PARTES DEL FORMULARIO DEBO COLOCAR ESTA PROGRAMACION PARA PONERLA A FUNCIONAR... GRACIAS ESPERO RESPUESTA



Cita:
Iniciado por SoutlinK Ver Mensaje
Paco aquí te va, y esta si esta probada



la llamas de la siguiente forma (Supongo que ya lo sabras)


Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 16:48.