variante

considerazioni su effetto assegnazione tipo a variabili:
se non si assegna il tipo, viene considerato tipo Variant che comprende tutti i tipi
e su comportamento del segno di addizione + che può sommare i dati come numeri o come stringhe
uso di Val per forzare somma come numerica

 

Private Sub CommandButton1_Click()
Rem considerazioni su effetto assegnazione tipo a variabili
Rem se non si assegna il tipo, viene considerato tipo Variant
Rem che comprende tutti i tipi
Rem e su comportamento del segno di addizione + che può sommare
Rem i dati come numeri o come stringhe
Rem uso di Val per forzare somma come numerica
Const ks As String = "----------"
Const es = " esatto "
Const er = " errato "
Rem variabili con assegnazione di tipo Integer
Dim a, b, c, somma1, prodotto1, somma2, prodotto2 As Integer
Dim somma3, prodotto3, somma4 As Integer
Dim g, h, k As Integer
Rem variabili senza assegnazione di tipo (automatico Variant)
Dim d, e, f
Rem assegnazione valore da codice a variabili tipo integer
a = 10
b = 20
c = 30
somma1 = a + b + c '10+20+30=60
prodotto1 = a * b * c '10*20*30=600
Rem assegnazione valore contenuto nelle label1,2,3
Rem alle variabili (tipo Variant)d,e,f
Rem per eseguire la somma numerica, si deve considerare il
Rem contenuto della label come numero (con Val) e non come stringa
Label1.Caption = 2
Label2.Caption = 3
Label3.Caption = 4
d = Val(Label1.Caption)
e = Val(Label2.Caption)
f = Val(Label3.Caption)
somma2 = d + e + f ' eseguirà somma numerica 2+3+4=9
prodotto2 = d * e * f 'eseguirà prodotto numerico '2*3*4=24
Rem assegnazione valore contenuto nelle label1,2,3
Rem alle variabili (tipo Variant)g,h,k
Rem il prodotto sarà eseguito numericamente 2*3*4
Rem la somma (mancando Val,sommerà i contenuti come stringhe 234

g = Label1.Caption
h = Label2.Caption
k = Label3.Caption
somma3 = Label1.Caption + Label2.Caption + Label3.Caption '234
prodotto3 = g * h * k '2*3*4=24
somma4 = g + h + k '234

ListBox1.AddItem ("10+20+30...10*20*30")
ListBox1.AddItem (es & somma1)
ListBox1.AddItem (es & prodotto1)
ListBox1.AddItem (ks)
ListBox1.AddItem ("2+3+4 con Val, 2*3*4 ")
ListBox1.AddItem (es & somma2)
ListBox1.AddItem (es & prodotto2)
ListBox1.AddItem (ks)
ListBox1.AddItem ("2+3+4 senza Val,2*3*4 ")
ListBox1.AddItem (er & somma3)
ListBox1.AddItem (er & somma4)
ListBox1.AddItem (es & prodotto3)
ListBox1.AddItem (ks)
End Sub

vedi variante.ppt