Variable in Funktion merken

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Holger123

Betreff: Variable in Funktion merken

BeitragDi, Sep 25, 2007 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich habe mal wieder eine Frage :

Ich habe ein Programm was in ein Unterprogramm mit Gosub verzweigt und ein anderes was als Funktion aufgerufen wird.
Wenn ich per Gosub ins Unterprogramm springe kann ich die Variable hochzählen, als Funktion nicht.

Wie kann ich nun das machen das die Variable sich erhält, mit Global usw. kann ich nicht arbeiten, ich könnte eventuell mit Return (variable) das Ergebnis zurück geben, aber wie gebe ich sie dann nochmal an die Funktion wieder zurück.


Gruss Holger

BEISPIEL :

Zitat:


While Not KeyHit(5)
taste=GetKey()
If taste=49 Then Gosub zaehler_1
If taste=50 Then zaehler_2(b)

Wend

.zaehler_1
a=a+1
Print a
Return

Function zaehler_2(b)
b=b+1
Print b
End Function

skey-z

BeitragDi, Sep 25, 2007 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
wie bei jedem Funktionsaufruf, der einen wert oder ähnliches zurückgibt, musst du auch hier den Rückgabewert in eine Variable speichern:

If taste=50 Then
b = zaehler_2(b)
endif

somit kannst du auch die Variable "b" in der Funktion weiter hochzählen lassen.

Aber dann kannst du auch mit "global b" arbeiten, falls du die Variable "b" nicht auch in anderen Funktionen benutzen möchtest.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

BladeRunner

Moderator

BeitragDi, Sep 25, 2007 21:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
function test$(a$)
    return a$+"1"
end function

for i = 1 to 5
   b$=test(b$)
next

Beachte:
-Der Rückgabetyp der Funktion wird hinter dem Namen angefügt (test$).
- return liefert dann das Ergebnis zurück, es muss allerdings in einer Variable gespeichert werden.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group