background image

Copyright © 2009 Janusz Bonarowski 

1

VB_4.0_Podprogram_Sub 

Wykonać aplikację pozwalająca dodawać dwie liczby wpisywane do TextBox-ów.  
Operację dodawania wykonać oddzielną procedurą typu Sub

                

 

Rys.  1. Propozycja formularza 

Kod aplikacji 

 

 

 

 

 

 

 

 

 

 

 

Listing 1 

    

Private

 

Sub

 btnDodaj_Click(

ByVal

 sender 

As

 System.Object, _ 

                   

ByVal

 e 

As

 System.EventArgs) 

Handles

 btnDodaj.Click 

        

Dim

 L1, L2, W 

As

 

Single 

        L1 = 

CSng

(txtL1.Text) 

        L2 = 

CSng

(txtL2.Text) 

 
        

'  wywołanie procedury 

        

Call

 suma(L1, L2, W) 

        

'          1   2  3 kolejność argumentów. 

 
        lblW.Text = W.ToString 
    

End

 

Sub 

---------------------------------------------------------------- 
    

Private

 

Sub

 suma(

ByVal

 Liczba1, 

ByVal

 Liczba2, 

ByRef

 Wynik) 

        

'kolejność argumentów  1              2    ^^^^^    3 

        Wynik = Liczba1 + Liczba2 
    

End

 

Sub 

 

Podczas wywoływania procedury suma przekazywane są do niej dwie wartości 

zmiennych L1 i L2 znajdujących się na miejscu pierwszym i drugim listy argumentów, na 
trzecim miejscu znaduje się wynik działania procudry.  

Podczas pisania własnej procedury - środowisko automatycznie dopisuje przed 

nazwami argumentów słowa kluczowe ByVal określające tryb przekazywania argumentów. 
Taki tryb oznacza przekazanie argumentu przez wartość. Konsekwencją trybu ByVal jest to, 
ż

e żadna zmiana wartości argumentów wewnątrz procedury nie jest przekazywana na 

zewnątrz.  
 
Aby w programie nadrzędnym uzyskać wartość  argumentu obliczonego w procedurze - 
należy określić tryb przekazywania wartości tego argumentu na ByRef (przez referencje). 
Taką zmianę należy wykonać samodzielnie.