Du kannst als RückgabeTypen einer Funktion eine benutzerdefinierte Variable(mit type) benutzen
z.B.:
'Deklaration des benutzerdefinierten typs private type meintype_m
modus as integer
wert1 as string
wert2 as string end type
dim MeinType as meintype_m
private function Vertauschen(Parameter1 as string, Parameter2 as string) as MeinType
randomize timer
with Vertauschen
.modus=int(2*rnd)
if .modus=1 then
.wert1=parameter1:.wert2=parameter2
else
.wert1=parameter2:.wert2=parameter1
end if
end with End function
'Und jetzt der aufruf private sub Form_load()
dim mytype as meintype_m 'damit die ergebnisse der funktion gespeichert bleiben
mytype = Vertauschen(„Hallo!“, „Test“)
with mytype
if .modus=1 then
msgbox „Werte wurden nicht vertauscht!“ & vbcrlf & .wert1 & ", " & wert2
else
msgbox „Werte wurden vertauscht!“ & vbcrlf & .wert1 & ", " & wert2
end if
end with end sub
function foo (byref bar as string, byref baz as long)
bar="hello"
baz=99
end function
'
dim s as string, l as long
s="dummy": l=0
foo (s,l)
msgbox s & " " & l
Das geht in keiner Programmiersprache, die ich näher kenne.
Je nach Sprache kannst du entweder ein Array oder einen selbst definierten Typ / Objekt. etc. zurückgeben oder eben wie Markus sagte, die Funktionsparameter selber als Referenzparameter benutzen, so dass die übergebenen Variablen direkt von der Funktion geändert werden.