Visual Basic Server

Funktionen

Function ByRef, Function ByVal
Ausgangs-Dynpro:
Funktionen können sich selber wieder aufrufen (Function / Sub).
"Var$" ist die Variable, die als String deklariert wurde  (Private Sub name(var$)).
Private Wort1$, Wort2$
Private Sub cmdEingabe_Click()
  Wort1 = "Hallo1"                               Variable 1 heißt "Hallo". Vier MsgBoxen...
  test (Wort1$)                                    Aufruf der Funktion "test" mit der Variablen Wort1 als
  End                                                  String.  Programm endet erst, nachdem alle
End Sub Funktionen abgearbeitet wurden.
Private Function test(Wort1$)             Start der Funktion "test".
  MsgBox Wort1                               Ausgabe des Strings in MsgBox.
  Wort2 = "Continue"                         Die Beschriftung des CommandButtons wird verändert.
  cmdEingabe.BackColor = RGB(255, 0, 0)
  again (Wort2$)                                Aufruf der Funktion "again" mit einer Variablen als String.
End Function
Private Function again(Wort2$)          Start der Funktion "again".
  cmdEingabe.Caption = Wort2          Ausgabe des Strings im CommandButton.
    
  Dim str$, str1$, str2$
    str = "hallo 2"
    str1 = "hallo 3"
    str2 = "hallo 4"
    NotFirst str, str1, str2                       Aufruf der Funktion "NotFirst" mit mehreren Variablen.
    cmdEingabe.BackColor = RGB(0, 255, 0)
End Function
Private Function NotFirst(str$, str1$, str2$)    Start der Funktion "NotFirst" mit mehreren Variablen.
  MsgBox str
    cmdEingabe.BackColor = RGB(0, 0, 255)
  MsgBox str1 Button im Dynpro
    cmdEingabe.BackColor = RGB(255, 0, 0) wechselt viermal Farbe.
  MsgBox str2
    cmdEingabe.BackColor = RGB(0, 255, 0)
    
  Dim ergebnis%, laenge%, breite%
    ergebnis = 0
    laenge = 15
    breite = 7
    ergebnis = test_neu(laenge, breite)    Aufruf der Funktion test_neu. (Wenn Aufruf am Prozedur- 1. Test wird nach 2. Test
                                                          ende erfolgt, erhält man die "richtigen" Werte). ausgegeben !
    
    MsgBox "1. Test: " & laenge & " und " & breite  Da die Funktion test_neu den Verweis ByRef enthält,
End Function werden die Werte für (breite - 5) und (laenge - 5) zurück-
gegeben.
Um dem "unrichtigen" Ergebnis (hervorgerufen durch ByRef) vorzubeugen, muss man den Verweis ByVal
verwenden:
'Private Function test_neu(ByVal laenge%, ByVal breite%)     ' = Parameter als Verweis (ByVal).
2.Test wird vor 1. Test 
Private Function test_neu(ByRef laenge%, ByRef breite%)   ' = Parameter als Verweis (ByRef). ausgegeben !
  
  laenge = laenge - 5                                        Die ursprünglichen Werte werden nun verändert.
  breite = breite - 5
  
  MsgBox "2. Test: " & laenge & " und " & breite
  cmdEingabe.BackColor = RGB(0, 0, 255)        Anschließend springt das Programm in die Prozedur
End Function "NotFirst" zurück.

 Ranking-Hits zurück Sitemap
Designed by www.wbrnet.info