PDA

Vollständige Version anzeigen : mehrer Rückgabewerte für eine Function möglich?


Scrap
20.03.2004, 13:34
hallo,
ich hab hier eine methode, die einen string in 2 strings zerlegt.
kann ich beide als rückgabewert der function nutzen?

eine globale variable würde das sicher auch lösen, es geht auch mehr um das wissen, als um das direkte problem *g*

mfg scrap

Johnny Loser
20.03.2004, 13:44
Hi scrap,

eine Funktion selbst hat immer nur einen Rückgabewert, der im Namen der Funktion zurückgegeben wird.

Du kannst allerdings mehrere Werte als Referenz (ByRef) übergeben, die in der Funktion geändert werden.

Beispiel:

Public Function fncTest(ByRef x As Long, ByVal y As Long) As Long
x = x * 2
y = y * 3
fncTest = x + y
End Function

Aufruf:

Dim a As Long
Dim b As Long
Dim c As Long
a = 2
b = 3
c = fncTest(a, b)
Debug.Print a '4, da in der Funktion geändert
Debug.Print b '3, da in der Funktion nicht geändert
Debug.Print c '13, Rückgabewert der Funktion

Scrap
20.03.2004, 13:51
das ist klar, sowas nutz ich ja auch...

nu hab ich wenigstens gewisheit, das ich wenn, dann mit einer globalen variable arbeiten muss oder alles in der funktion machen muss.

danke