Mehrere Rückgabewerte bei Function

Von: , Frage gestellt am Mo, 1. Jan 2001

Hi
Ich würde gerne wissn wie man bei function mehrere Rückgabewerte programmiert

Im speziellen würde ich gerne in der Funktion entscheiden ob ich einen oder 2 Rückgabewerte haben will.

es bedankt sich im voraus

Greenberet *ders schon vergeblich mit Arrays versucht hat*

4 Antworten zu dieser Frage

  1. Antwort von nach 3 Stunden hilfreich
    Re: Mehrere Rückgabewerte bei Function

    Hallo!

    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

    'PS: keine garantie auf fehlerfreiheit! ;)

    Grüsse
    Thomas

    • Antwort von nach 6 Stunden 1 hilfreich
      Re^2: Mehrere Rückgabewerte bei Function

      Dankäää

      WEnn du gesagt hättest das er benutzerdefinierte Variablen nimmt hätte es gereicht ;-)

      Greenberet *der schön langsam wieder glaubt das es noch nette Menschen gibt*

  2. Antwort von nach einem Tag hilfreich
    Re: Mehrere Rückgabewerte bei Function

    es geht auch so:

    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
    

    gibt "hello 99" aus.

    grüße, holli

  3. Antwort von nach einem Tag hilfreich
    Re: Mehrere Rückgabewerte bei Function

    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.

    MfG bruno

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!