Rückgabeparameter

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Artemis

Betreff: Rückgabeparameter

BeitragDi, Dez 07, 2004 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Weiß jemand wie ich einer Function mehr als einen Werte übergeben und auch mehr als einen Werte zurückgeben (RETURN) kann???
Ich benutze die Blitz Basic Demo version 1.60
Freue mich auf nachrichten
 

Edlothiol

BeitragDi, Dez 07, 2004 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Übergeben: Einfach mehr Parameter deklarieren...
BlitzBasic: [AUSKLAPPEN]
Function test(a,b,c)


Zurückgeben: Mit Return kannst du nur einen Wert zurückgeben. Sonst musst du Globale Variablen benutzen oder Types oder Banks zurückgeben. Schau das am Besten in der Onlinehilfe nach (www.blitzbase.de)

Artemis

Betreff: Danke trotzdem ist meine frage noch offen

BeitragDi, Dez 07, 2004 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
dass mit den mehreren werten übergeben wusste ich schon, trotzdem danke. Very Happy

ich habe mal gehört, dass es parameterbezeichnungen gibt wo das programm die werte dann automatisch zurückgibt.
bibts das bei blitz basic auch oder nicht??
Question Question Question Question Question
 

Edlothiol

BeitragDi, Dez 07, 2004 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibts in BB nicht. In BlitzMax allerdings wird es allerdings Pointer geben, womit man das auch machen kann.
Zitat:
dass mit den mehreren werten übergeben wusste ich schon, trotzdem danke.
Warum fragst du dann danach? Rolling Eyes

bruZard

BeitragDi, Dez 07, 2004 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
ich habe mal gehört, dass es parameterbezeichnungen gibt wo das programm die werte dann automatisch zurückgibt.
bibts das bei blitz basic auch oder nicht??


Falls Du optionale Funktionsparameter meinst, das geht so:
BlitzBasic: [AUSKLAPPEN]

Function Test(a,b=1,c=2)
Print a
Print b
Print c
End Function

Test(3)
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

BladeRunner

Moderator

BeitragDi, Dez 07, 2004 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein "Trick" zum übergeben mehrerer Ergebnisse von einer Funktion an das Hauptprogramm ist es sie als String zu übergeben, getrennt von einem "Stopzeichen" (zB. Wink. Allerdings funktioniert das nur wenn die Art (und der Wertebereich) der ermittelten Daten sicher feststeht. Ausserdem ist etwas "Verwaltungsaufwand" vonnöten.
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

Artemis

BeitragDi, Dez 07, 2004 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
@ BladeRunner
Wie meinst du dass??
Könntest du mir vielleicht einen kleine Quelltext schreiben??
Wär dir echt dankbar!!! Very Happy

BladeRunner

Moderator

BeitragDi, Dez 07, 2004 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Stell dir vor du willst 2 Integer zurückgeben, Wertebereich +/- ca. 3 Milliarden.
Das wären dann max 11 Stellen (10 für die Milliarden + 1 Stelle Vorzeichen) pro Zahl.

nun speicherst du ergebnis 1 in den String (erg$=wert1), setzt das Stopzeichen: (erg$=erg$+";") und dann die Zweite Zahl (erg$=erg$+wert2).
Diesen erg$ returned die Funktion.
Ausserhalb kannst du dann mittels mid$ und int() die Ergebnisse nochmal trennen. Hier ist die Länge nicht wirklich wichtig, aber bei gemischten Rückgaben (string+int zB.) spielt es eine Rolle. Dann musst du eventuelle Nullstellen bei Strings mit Nullen auffüllen.
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
  • Zuletzt bearbeitet von BladeRunner am Di, Dez 07, 2004 21:12, insgesamt einmal bearbeitet

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, Dez 07, 2004 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Um welche Art von Return Daten handelt es sich denn?
Und wieviele?
[BB2D | BB3D | BB+]

Artemis

BeitragDi, Dez 07, 2004 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
@ bladerunner
danke, aber könntest du mir einen kleinen Quelltext schreiben?
Ich bin kein Anfänger aber mit den verschiedenen $(String)-Funktionen hab ich ech stress!!

BladeRunner

Moderator

BeitragDi, Dez 07, 2004 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Gerade deswegen solltest du es selber machen. Wenn du es vermeidest lernst du nichts. und die OnlineHilfe ist da auch mein bester Freund.
Wink
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

Artemis

BeitragDi, Dez 07, 2004 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
@ rallimen
je nachdem!!
ich hab hier verschiedene Sachen

- 6 Integer(%)
oder
- 4 Integer(%) und 2 Srings($)
aber ich habe nur integer(%) oder strings($) keine floats(#)!!

Artemis

BeitragDi, Dez 07, 2004 21:16
Antworten mit Zitat
Benutzer-Profile anzeigen
@ bladerunner

jaja ich hab schon verstanden!
du drückszt dich um das quelltext schreiben! Wink Wink Wink
die online hilfe hab ich ja geloaded muss ich mich also selbst bemühen!!

BladeRunner

Moderator

BeitragDi, Dez 07, 2004 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast es erkannt Wink
Schreib einen Code und wenn er Probleme macht poste ihn, ich helfe gern ihn auszubessern. Aber erstmal ist es jetzt dein Zug.
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

Artemis

BeitragDi, Dez 07, 2004 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
vielen dank bladerunner!!
ich wär alleine nicht auf die idee gekommen das als ein string zu speichern und dann zu trennen!!!!! Very Happy Very Happy

Artemis

BeitragDi, Dez 07, 2004 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
@ bladerunner
hab trotzdem noch ne frage!!
wird bei BlitzBasic: [AUSKLAPPEN]
Left$
der zeichensatz gelöscht oder nur ausgelesen??? Question Question

BladeRunner

Moderator

BeitragDi, Dez 07, 2004 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
OnlineHilfe hat Folgendes geschrieben:
Neu$=LEFT$ (Text$, Anzahl)


Beschreibung
Diese Funktion kopiert aus einem beliebigen Text bestimmte Anzahl von Zeichen. Die Zeichen werden immer von der linken Seite kopiert. Enthält ein Text zu wenig Zeichen, so wird dann einfach der gesamte Text 1:1 kopiert.


Ich hoffe das beantwortet deine Frage Wink
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
 

zocker2150

BeitragDi, Dez 07, 2004 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.blitzbase.de/befehle2d/left.htm

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, Dez 07, 2004 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Man lernt am besten, beim Testen!
also probier es doch einfach mal.... mit sowas selbstgemachten.....

BlitzBasic: [AUSKLAPPEN]
Dummy$ = \"Mein Test String\"
Dummy1$ = Left(dummy, 10)
Dummy2$ = Mid (dummy, 11)
Print dummy
Print Dummy1
Print Dummy2
Print Dummy1+Dummy2
WaitKey

dann braucht du wahrscheinlich noch den Instr Befehl wegen der Trennzeichen
[BB2D | BB3D | BB+]

Ctuchik

BeitragMi, Dez 08, 2004 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich hab in meinem neuen projekt ne funktion drin, die aus nem string, z.b. "1234,Test,9,Muh" die einzelnen, durch komma abgetrennten Teile ausliest! Allerdings hat BladeRunner recht, du solltest es lieber erstmal selbst versuchen, denn wenn dus einmal gelöst hast, hast du wieder was gelernt und bei ähnlichen Problemen später keine Probleme mehr!

Wenns partout nicht klappen will, dann poste ich meine Lösung hier rein, oder vielleicht hat ja jemand noch ne bessere auf Lager Smile
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle!
Fraget euren Arzt oder Apotheker!

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group