• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

catm

[Resolvido] Adicionar items a um Array

3 mensagens neste tópico

tenho um array ilimitado e quero fazer o soma do item unidades de todos os registos. Para isso criei o seguinte codigo associado ao botão command5:

Private Sub command5_click()

   

For b = 0 To contador - 1

        soma = soma + v(:).unidades

     

       

            List1.AddItem v(:).modelo & v(B).unidades

       

 

Next b

media = soma / contador

   

MsgBox "unidades vendidas:" & " " & soma

MsgBox "Média de unidades vendidas:" & media

List1.Clear

End Sub

So que se eu quiser adicionar mais duas unidades e somar ao registo, ele faz a soma desde o inicio.

Keria saber qual a forma para acrescentar o valor dos registos novos aos registos anteriormente guardados no vector.

preciso de usar o for...each?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá boa tarde.

Fiz este código , vamos ver se te dá jeito ( Não é o melhor e/ou o + bem escrito ) mas para o que queres acho que vai dar.

exemplont7.png

1º - colocar :

             - Listbox ( List1 )

             - Textbox ( Adicionar )

             - Botão ( Command1 )

Código :

'---------------------------------------------------------------------------------------
' Empresa     : VSoft, Lda.
' Formulário  : Form1
' Data / Hora : 19-10-2008 18:21
' Autor       : ProgramadorVB6
' Descrição   : Soma de nº em listbox
'---------------------------------------------------------------------------------------
' Código feito a pedido de colaboarador
'---------------------------------------------------------------------------------------

Private Sub Form_Load()
    List1.AddItem "2"
    List1.AddItem "5"
    List1.AddItem "6"
    List1.AddItem "8"
    List1.AddItem "10"
    List1.AddItem "3"
End Sub

Private Sub Command1_Click()
    Dim QuantosItens As Integer
    Dim Apontador As Integer
    Dim Total As Currency
    Dim Soma As Currency
    Apontador = 0
    Soma = 0
    If Adicionar.Text <> "" Then
        List1.AddItem Adicionar.Text
    End If
    QuantosItens = List1.ListCount
    For i = 1 To QuantosItens
        Total = List1.List(Apontador)
        
        Apontador = Apontador + 1
        Soma = Soma + Total
    Next i
    
    If QuantosItens > 0 Then
        MsgBox "Nº de Itens : " & QuantosItens & " Total : " & Soma
    End If
    
End Sub
Private Sub Adicionar_KeyPress(KeyAscii As Integer)
    KeyAscii = SoNumeros(KeyAscii)
End Sub

'Função Só nº
'===================================================
Public Function SoNumeros(Key As Integer) As Integer
    Const Numeros$ = "0123456789"
    SoNumeros = Key
    If Key <> 8 Then
        If InStr(Numeros$, Chr(Key)) = 0 Then
            SoNumeros = 0
        End If
    End If
End Function
'===================================================

Espero que te ajude...

Até+

Programadorvb6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado. Faltava-me igual a soma a zero e estava a fazer numa linha de codigo

redim preserve v(contador)

Ora. estava a fazer redim a nada....

... mas ja captei a lição. obrigado pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora