GLBasic forum

Feature request => IDE/Syntax => Topic started by: Markus on 2012-Apr-24

Title: Funktions Rückgaben
Post by: Markus on 2012-Apr-24
Das Funktionen einfach nur Ja/Nein zurück geben wenn sie das gemacht haben was sie sollten
finde ich nützlich. Zumindest bei den Dingern die was laden/speichern.

Wenn LoadFont einen Rückgabewert hätte :

IF LOADFONT("xxxxxxxxx.png", 1)=false then Debug "Font nicht gefunden ..."

Die Klammern sollten dann aber optional sein wenn man keinen Wert braucht.
LOADFONT "xxxxxxxxx.png", 1
Title: Re: Funktions Rückgaben
Post by: kanonet on 2012-Apr-24
Siehe meine Antwort hier: http://www.glbasic.com/forum/index.php?topic=8016.msg67218#msg67218
Wobei Optimale Klammern zwar eine Idee sind... aber dann könnte man doch auch gleich DOESFILEEXIST() nutzen. ;)
Title: Re: Funktions Rückgaben
Post by: D2O on 2012-Apr-24
Nur mal als Simples Beispiel wie ich es nutze:

Code: GLBasic [Select]
// Path/Datei überprüfung

FUNCTION E_RUNTIMEERROR% : l_path$
        LOCAL l_ok
        l_ok = DOESFILEEXIST(l_path$)
        IF l_ok = FALSE
                BLACKSCREEN
                PRINT "Sorry, file "+l_path$+" not fount",10,100
                PRINT "Press any key to end",10,150
                SHOWSCREEN
                KEYWAIT
                END

        ENDIF
        RETURN l_ok
ENDFUNCTION
Title: Re: Funktions Rückgaben
Post by: Markus on 2012-Apr-24
@kanonet
jo

@D2O
das die Datei nicht da ist,wäre ein Grund von vielen.
So in der Art ist schon nicht schlecht nur das sowas in eine Meldungsliste muß
damit man sich nicht tot klickt wenn mal ein Netzlaufwerk weg ist oder so.
Ein Programm muß sich nich unbedingt beenden , das muß man außen selber entscheiden was man macht. Hatte aber schon was dazu geschrieben
warum ich nicht für jede Funktion wieder eine eigene Funk. schreiben möchte.
Title: Re: Funktions Rückgaben
Post by: Kitty Hello on 2012-Apr-24
GETSPRITESIZE -> wenn 0, dann Ladefehler.
Title: Re: Funktions Rückgaben
Post by: Markus on 2012-Apr-24
@Kitty Hello
geht auch ist aber nicht so schön anzuwenden weil man da extra zwei Variablen haben muß und den richtigen index an der Stelle. Man muß mehr schreiben und
das macht den Quelltext unübersichtlicher.
Wenn man als Beispiel 100x mal das testen würde geht man dazu über das
in eine Funktion zu packen um copy/paste zu vermeiden.

LOADFONT hat gar keinen Rückgabewert, der ist quasi noch frei.
Unnötige Klammern möchte ich aber auch vermeiden wenn jemand
der Wert nicht interessiert.

Wenn LoadFont einen freien FontIndex zurück geben würde wäre auch schön.
Hätte man dann 0= geht nicht >0 freier Index.
Index als Parameter könnte dann Optional sein.
GLBasic hat eher das Konzept wie Darkbasic das man sich selber Nummern
ausdenken muß.

Du sollst auch nur das machen was Du selber für gut & sinnvoll hältst.
Ich werfe einfach nur die Ideen im Raum .
Title: Re: Funktions Rückgaben
Post by: Schranz0r on 2012-Apr-24
Frei Fontslot -> GENFONT()

ähhhh... GLBasic wird NIEMALS wie BB, glaub es mir, rein aus Prinzip nicht ;)
Title: Re: Funktions Rückgaben
Post by: Markus on 2012-Apr-25
@Schranz0r
GenFont() steht bei mir nicht in der Hilfe  :S

Bei DarkBasic hab ich mir selber eine ID hochzähl Funktion gemacht
nur es nervt das man die erst merken und dann übergeben muß.

Kürzer ist immer besser, mehr Zeit zum Kaffee trinken.

Dein Code
Code: GLBasic [Select]
LOCAL i%=GENFONT()
LOADFONT "font.png",i%
 

Mein Code
Code: GLBasic [Select]
LOCAL i%=LOADFONT("font.png")
 
Title: Re: Funktions Rückgaben
Post by: Schranz0r on 2012-Apr-27
sry, aber wird niemals der fall sein ;)

Das Problem kannst du ganz simpel in 4 Zeilen lösen...
Title: Re: Funktions Rückgaben
Post by: Markus on 2012-Apr-27
@Schranz0r
das ist mir eigentlich egal, das muß Gernot selber entscheiden.
was im Moment am wichtigsten ist.
Title: Re: Funktions Rückgaben
Post by: Schranz0r on 2012-Apr-27
Mach dir mal keine so großen Hoffnungen :)
Bist btw. nicht der erste wo das vorgeschlagen hat.