1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

duvida

Discussão em 'Programação' iniciada por bikefire, 21 de Maio de 2008. (Respostas: 4; Visualizações: 513)

  1. bikefire

    bikefire Banido

    eu tenho 1 programa em k tem várias checkbox´s. cada 1 tem 1 nº.
    é possivel k kuando eu carregue num botão o programa calcule o valor das checkbox selecionadas ?


    Código:
    dim total as string
    total = valor das checkbox selecionadas
    msgbox (" a soma é: " total )
    agradeço
     
  2. andrepadez

    andrepadez Power Member

    Boas Bikefire.

    Presumo que estejas a usar VB, mas neste caso é irrelevante.

    A checkbox é um objecto como outro qualquer, tem propriedades (variáveis de instância) e métodos que operam sobre ela. Só porque deste um valor numérico a cada uma não quer dizer que elas contenham esses valores numéricos como propriedades per se. O que alteraste em cada uma foi a propriedade Caption (penso) e deste strings literais como valor "1", "2", "3"...

    Para fazeres o que queres fazer tens de fazer algo do género:

    Criares um método que faça um cast da propriedade Caption para Integer de cada checkbox seleccionada e somares esses valores. Podes usar um foreach para isso.

    Se tiveres mais alguma dúvida em princípio não te vou poder ajudar pois não sei VB, mas teoricamente é isto que te disse.
     
  3. jpaulino

    jpaulino Power Member

    É vb6, vb.net ou vba ?
     
  4. bikefire

    bikefire Banido

    vb express 2008
     
  5. jpaulino

    jpaulino Power Member

    Tenta assim:

    Código:
     
    Dim total AsInteger = 0
    For Each ctrl As Control In Me.Controls
      If  TypeOf ctrl Is CheckBox Then
             Dim cb As CheckBox = CType(ctrl, CheckBox)
             If cb.Checked Then
                total += CInt(cb.Text)
             EndIf
       End If
    Next
    Debug.WriteLine("Total seleccionado: " + total.ToString)
    
    Se as checkbox's estivem dentro de uma GroupBox ou Panel substituis o Me.Controls por Me.GrouBox1.Controls (por exemplo)
     

Partilhar esta Página