Funktion und Variablen...

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Kleeblatt

Betreff: Funktion und Variablen...

BeitragFr, Dez 28, 2007 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

wie kann ich in meinem Hauptprogramm auf eine Variable zugreifen, die in einer Funktion steht?

Ich dachte es mir so... ich benutze aus der Function test(id,x,y) die ID als Wiedererkennungswert für mein Hauptprogramm.

Im Hauptprogramm würde ich z.B. so darauf zugreifen wollen Text 0,0,x(ID)....

Geht sowas mit Blitz überhaupt??

Viele Grüßle

Klee....
TEXTURENWELT 300 kostenlose Texturen für deine 3D-Sachen

The_Nici

BeitragFr, Dez 28, 2007 22:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Return.
Code: [AUSKLAPPEN]

Function bla()
b=111
Return b
End Function

Casiopaya

BeitragFr, Dez 28, 2007 22:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi
"sowas" geht in keiner Sprache Smile. Sobald eine Funktion verlassen wird werden alle verwendeten Ressourcen (z.B. Speicher für Variablen) freigegeben. Du kannst das nur umgehen, indem du in der Funktion direkt eine globale Variable verwendest.

Grüße

mahe

BeitragFr, Dez 28, 2007 22:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt durchaus statische Variablen deren Wert von einem Funktionsaufruf zum nächsten erhalten bleibt.
In BB gibts das aber glaub ich wirklich nicht Wink
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,

Blitzcoder

Newsposter

BeitragFr, Dez 28, 2007 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst mit der Funktion etwas zurückgeben oder eine Globale Varriable nutzen:

Code: [AUSKLAPPEN]


wert = myFunc()

function myFunc()
    b = 5
    return b
end function


Code: [AUSKLAPPEN]


global bla


myFunc()

print bla

function myFunc()
    bla = 5
end function
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
 

Kleeblatt

BeitragFr, Dez 28, 2007 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Sehr gut!!! Das ging ja fix Very Happy Danke schön Smile

*fg* *omg*
TEXTURENWELT 300 kostenlose Texturen für deine 3D-Sachen

Casiopaya

BeitragSa, Dez 29, 2007 0:08
Antworten mit Zitat
Benutzer-Profile anzeigen
mahe hat Folgendes geschrieben:
Es gibt durchaus statische Variablen deren Wert von einem Funktionsaufruf zum nächsten erhalten bleibt.
In BB gibts das aber glaub ich wirklich nicht Wink


Richtig, aber diese sind dann nicht global (also public) verfügbar. Zumindest nicht in den Sprachen, die ich kenne.

Grüße

mahe

BeitragSa, Dez 29, 2007 0:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, natürlich nicht. Nur in der Funktion.
Dafür hat man auch die richtigen globalen Variablen Wink
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,
 

Kleeblatt

BeitragDo, Jan 10, 2008 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann ich auch mehrere Variablen aus einer Funktion herauslesen?

Wie geht das dann?
TEXTURENWELT 300 kostenlose Texturen für deine 3D-Sachen

Xeres

Moderator

BeitragDo, Jan 10, 2008 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine Funktion kann nur eine Variable zurückgeben.
Du könntest aber einen String zurückgeben, zb "106:172" und diesen dann so zerschneiden bzw. parsen, dass die beiden werte den richtigen variablen übergeben werden.
Einfacher wär es, 2 globale Variablen zu benutzen...
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

BladeRunner

Moderator

BeitragDo, Jan 10, 2008 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder Du gibst eine Bank zurück oder wahlweise einen Txpe der als Fields alle benötigten Infos enthält.
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
 

Kleeblatt

BeitragFr, Jan 11, 2008 1:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo thx.
TEXTURENWELT 300 kostenlose Texturen für deine 3D-Sachen

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group