Wo liegt der Fehler?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

IonPainter

Betreff: Wo liegt der Fehler?

BeitragSa, Dez 20, 2003 14:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Function Test()
Local X

X=X+1
Return X
End Function


warum geht das nicht? wieso zählt der nicht höher als 1?

Valio

BeitragSa, Dez 20, 2003 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Weil die Variable ja lokal und nicht global definiert ist. D.h. bei jedem Funktionsaufruf wird eine neue Variable X erstellt (Anfangswert 0), die um eins hochgezählt wird und danach der Wert zurückgegeben wird.
Richtige Lösung:
Code: [AUSKLAPPEN]
Global X

Function Test()
X=X+1
Return X
End Function

oder für weniger Durcheinander bei grossen Projekten:
Code: [AUSKLAPPEN]
Global F_Test_X

Function Test()
F_Test_X=F_Test_X+1
Return F_Test_X
End Function
Programming today is a race between software engineers striving to build better and bigger idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rick Cook
Gegen TCPA || Stoppt RFID || Tux user #361946 || User posted image

Hubsi

BeitragSa, Dez 20, 2003 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Wobei mit Global das Return recht nutzlos erscheint Smile Alternativ kannst Du den Wert auch übergeben, like so:
Code: [AUSKLAPPEN]
x=Test(x)

Function Test(x)
x=x+1
Return x
End Function
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group