Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Einstieg in ASP.NET von Matthias Lohrer
Einstieg in ASP.NET
gp Kapitel Hinweise zu VB.NET
  gp 3.1 Eine Testumgebung
  gp 3.2 Variablen
    gp 3.2.1 Bezeichner
    gp 3.2.2 VB.NET-Datentypen
  gp 3.3 Konstanten
  gp 3.4 Typkonvertierungen
  gp 3.5 Kontrollstrukturen
    gp 3.5.1 Entscheidungen mit If
    gp 3.5.2 Select Case
    gp 3.5.3 Zählschleife mit For Next
    gp 3.5.4 Schleife mit Do Loop
    gp 3.5.5 Schleife mit While
  gp 3.6 Funktionen und Prozeduren
    gp 3.6.1 Aufbau
    gp 3.6.2 Übergabe von Parametern
  gp 3.7 Klassen erstellen
    gp 3.7.1 Eigenschaften einer Klasse über Felder realisieren
    gp 3.7.2 Eigenschaften mit Property-Prozeduren realisieren
    gp 3.7.3 Schreibgeschützte Eigenschaften
    gp 3.7.4 Methoden erstellen
    gp 3.7.5 Konstruktor erstellen
    gp 3.7.6 Klassen vererben
  gp 3.8 Mit Objekten arbeiten
    gp 3.8.1 Objekte vergleichen
    gp 3.8.2 Den Typ eines Objekts bestimmen
    gp 3.8.3 Objekte in andere Klassen konvertieren
  gp 3.9 Arbeiten mit Arrays
  gp 3.10 Dateizugriffe
  gp 3.11 Fehlerbehandlung mit Try ... Catch ... Finally ... End Try


Galileo Computing

3.6 Funktionen und Prozeduren  downtop


Galileo Computing

3.6.1 Aufbau  downtop

Funktionen haben unter VB.NET diesen Aufbau:

Function func (optionale Parameterliste) As Rückgabetyp
   ' ...
   Return Rückgabetyp
End Function

Der Aufruf von Return Rückgabetyp kann entfallen, wenn innerhalb der Funktion eine direkte Zuweisung an den Funktionsnamen stattfindet, etwa so:

func = 25

Der einzige Unterschied zwischen Prozeduren und Funktionen besteht darin, dass Prozeduren keinen Rückgabetyp haben. Über Parameter, die als Referenz übergeben werden, kann aber auch eine Prozedur Variablen zum Aufrufer zurückliefern.

Sub mySub (optionale Parameterliste)
   ' ...
End Sub

Galileo Computing

3.6.2 Übergabe von Parametern  toptop

Wenn nicht anders angegeben, werden Parameter in VB.NET als Wert übergeben. Ob Wertübergabe oder Referenzübergabe gelten soll, kann außerdem mit den Schlüsselwörtern ByVal und ByRef ausdrücklich festgelegt werden. Die beiden folgenden Prozeduren in vb_04.aspx verdeutlichen den Gebrauch von Wert- und Referenzübergabe.

Sub Page_Load (ByVal Sender As Object, _
               ByVal E As EventArgs)
   Dim a, b, c As String
   a = "Original"
   b = "Original"
   c = "Original"
   myFunc (a, b, c)
   ausgabe.innerText = a & " – " & b & " – " & c
   ' Ausgabe: "Original – Original – geändert" 
End Sub                                   

' p1: Wertübergabe
' p2: Wertübergabe
' p3: Referenzübergabe
Sub myFunc (p1 As String, _
            ByVal p2 As String, _ 
            ByRef p3 As String)
   p1 = "geändert"
   p2 = "geändert"
   p3 = "geändert"
End Sub

Optionale Parameter

Es ist möglich, optionale Parameter zu definieren. Ein solcher Parameter, der beim Aufruf auch weggelassen werden kann, muss am Ende der Parameterliste stehen und einen Default-Wert bekommen, der verwendet wird, wenn der Aufrufer keinen Wert angibt.

Sub myFunc (p1 As String, _
            ByVal p2 As String, _ 
            ByRef p3 As String, _
            Optional ByVal p4 As String = "so und so")
   ' ...
End Sub

Variable Anzahl an Parametern

Außerdem ist es möglich, eine beliebige Anzahl von Parametern zu übergeben, indem ein Array mit dem Schlüsselwort ParamArray übergeben wird. Die Funktion summe() in vb_05.aspx kann mit beliebig vielen Parametern aufgerufen werden. Stets gibt sie die Summe aller übergebenen Variablen zurück.

Sub Page_Load (ByVal Sender As Object, _
               ByVal E As EventArgs)
   Dim a, b, c As Single
   Dim erg As Double
   a = 1.5
   b = 2.5
   c = 38.0
   erg = summe (a, b, c)
   ausgabe.innerText = CStr(erg)   ' 42 
End Sub                                   

Function summe _
    (ByVal ParamArray summanden() As Single) As Double
   Dim i As Integer      
   For i = 0 To summanden.GetUpperBound(0)
      summe += summanden(i)
   Next
   Return summe 
End Function

Da innerhalb der Funktion zunächst noch nicht feststeht, wie viele Parameter tatsächlich übergeben wurden, wird der höchste Indexwert des Arrays mit GetUpperBound(0) ermittelt. Dieser Aufruf ermittelt den oberen Indexwert für die erste Dimension des Arrays, wobei das übergebene Array in diesem Fall auch nur über eine Dimension verfügt. Mit einer For-Schleife werden anschließend alle Werte summiert.

  

Einstieg in VB.NET

VB.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML




Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de