View Full Version : duvida


bikefire
21-05-2008, 17:56
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 ?


dim total as string
total = valor das checkbox selecionadas
msgbox (" a soma é: " total )

agradeço

andrepadez
21-05-2008, 18:37
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.

jpaulino
21-05-2008, 18:40
É vb6, vb.net ou vba ?

bikefire
21-05-2008, 18:54
vb express 2008

jpaulino
21-05-2008, 19:15
Tenta assim:


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)