Variable als Parameter benutzen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

sbrog

Betreff: Variable als Parameter benutzen

BeitragSa, Jul 03, 2004 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso funktioniert so etwas nicht, und wie kannn ich es lösen ?
Code: [AUSKLAPPEN]

Global x= 5
erhoehen(x)
Print x
WaitKey

Function erhoehen(var)
var = var +1
End Function

Clonker

BeitragSa, Jul 03, 2004 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
fehlt return und x=

Code: [AUSKLAPPEN]

Global x= 5
x = erhoehen(x) ;<--
Print x
WaitKey

Function erhoehen(var)
var = var +1
return var ;<--
End Function
Die exzessive Akkumulation von Fremdwörtern suggeriert pseudointellektuelle Kompetenz.

Athlon XP 2800|Radeon 9600 Pro|512MB DDR RAM|240GB Festplatte
  • Zuletzt bearbeitet von Clonker am Sa, Jul 03, 2004 16:49, insgesamt einmal bearbeitet

sbrog

BeitragSa, Jul 03, 2004 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
das habe ich mir schon gedacht.
Das Problem ist, dass noch einige andere Befehle in die Funktion reinkommen.

soli

BeitragSa, Jul 03, 2004 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst nur eine Variable zurückgeben,
oder du machst sie global.
solitaire

sbrog

BeitragSa, Jul 03, 2004 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann werde ich mein problem etwas genauer beschreiben.
Ich will eine Funktion erstellen, die ein Feld und zwei Pfeile malt. Durch klicken auf einen Pfeil, kann man die dazugehörige Variable erhöhen.

Code: [AUSKLAPPEN]

global test

repeat
cls
mauszeichnen()
scrollfeld(100,100,test,0,1000)
flip
until keyhit(1)


function scrollfeld(x,y,variable,min,max)  ;scrollfeld(x-wert,y-wert,variable die verändert wird, minimalwert,maximalwert)

drawimage pfeilhoch x,y
drawimage pfeilrunter x,y+50
drawimage feld,x,y+30

if imagescollide(mausbutton,mausx,mausy,0,pfeilhoch,x,y,0) and mousedown(1) then variable = variable +1
end function


mit scrollfeld(100,100,test,min,max) will ich bewirken, dass sich die variable test um 1 erhöht, wenn ich auf den Pfeil klicke.
In c++ ist das mit referenzen zu lösen, aber in BB ?

Digi_

BeitragSa, Jul 03, 2004 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

global test

repeat
cls
mauszeichnen()
test = scrollfeld(100,100,test,0,1000)
flip
until keyhit(1)


function scrollfeld(x,y,variable,min,max)  ;scrollfeld(x-wert,y-wert,variable die verändert wird, minimalwert,maximalwert)
;operationen


drawimage pfeilhoch x,y
drawimage pfeilrunter x,y+50
drawimage feld,x,y+30

if imagescollide(mausbutton,mausx,mausy,0,pfeilhoch,x,y,0) and mousedown(1) then variable = variable +1
return variable
end function

sbrog

BeitragSa, Jul 03, 2004 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
geht tatsächlich.
Ich wusste nicht, dass man auch einzelne Werte mit return zurückgeben kann
Danke Very Happy

TheShadow

Moderator

BeitragSa, Jul 03, 2004 22:01
Antworten mit Zitat
Benutzer-Profile anzeigen
BB unterstützt keine Referenzen. Und Return übergibt keine Variable, sondern einen Wert

Einzig, wenn du Blitzarray übergibst, dann werd intern so ein pointer auf array übergeben und in der Funktion werden Werte geändert, bei verlassen bleiben die Werte dann so erhalten... Das selbe mit Type...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group