variante7
chiamata di procedura con
passaggio parametri
modificabili in esegue con ByRef
Public somma As Integer
Private Sub CommandButton1_Click()
Rem chiamata di procedura con passaggio parametri
Rem modificabili in esegue con ByRef
Dim a, b, c As Integer
a = 10
b = -20
c = 30
Call esegue((a), (b), (c))
Call esegue1((a), (b), (c))
End Sub
Private Sub esegue(ByRef x As Integer,
ByRef y As Integer, ByRef z As Integer)
Dim cambio As Integer
Rem visualizzo valori in sequenza contenuti in variabili passate
alla procedura
ListBox1.AddItem ("tre valori in ordine " & x &
" " & y & " " & z)
Rem memorizzo in cambio il valore contenuto in x
Rem assegno a x il valore contenuto in y
Rem assegno a y il valore che aveva x , contenuto in cambio
cambio = x
x = y
y = cambio
somma = x + y + z
ListBox1.AddItem (" somma con ByRef " & somma)
Rem visualizzo valori dopo che è stato eseguito lo scambio
ListBox1.AddItem (" scambiato x con y " & x &
" " & y & " " & z)
End Sub
Private Sub esegue1(x As Integer, y As
Integer, z As Integer)
somma = x + y + z
ListBox1.AddItem ("----------------")
ListBox1.AddItem ("somma senza ByRef " & somma)
End Sub
vedi variante7.ppt