GLBasic forum

Other languages => GLBasic - de => Topic started by: didi on 2009-Dec-30

Title: Beginner - Ecke
Post by: didi on 2009-Dec-30
Hallo dazu hab ich nichts gefunden, vielleicht weiss das jemand :

Wo finde ich Infos zum  Debuggen, wie setze ich Breakpoints,  beobachte ich Variablen ?
Gibt es dazu eine Beschreibung ?
Title: Re: Beginner - Ecke
Post by: Quentin on 2009-Dec-30
lol, hast recht, dazu findet sich wirklich sehr wenig in der Hilfe.

Also Debugger starten über das Menü Compiler - Debug Modus
Mit F9 kannst du Haltepunkte setzen
Den Inhalt der Variablen siehst du beim Debuggen im rechten Fenster (beim Programmstop)

Ansonsten bietet sich auch der DEBUG-Befehl als Instrument zum Debuggen an

soviel dazu in aller Kürze
Title: Re: Beginner - Ecke
Post by: D2O on 2009-Dec-30
Ich mach morgen mal ein Video Tuturial.
Jetzt geh ich erst mal Stargate anschauen :)
Title: Re: Beginner - Ecke
Post by: didi on 2009-Dec-30
Danke für den Hinweis hat schon funktioniert, alle Variablen auf einen Blick - nicht schlecht !

Noch eine Frage ich hab ne Funktion "unify" die sortiert  Wörter  in einem string-array und löscht doppelte Einträge .Kann ich einer Funktion beliebige arrays übergeben  oder /und welche zurückgeben? dh. wie ein Zeiger in C ?
Dann könnte ich dieselbe  Funktion für beliebige Typen verwenden.
Title: Re: Beginner - Ecke
Post by: Quentin on 2009-Dec-30
Array's als Parameter werden prinzipiell by reference übergeben, d.h. du kannst sie innerhalb deiner Funktion beliebig verändern (löschen, einfügen, sortieren etc.) Array als Rückgabewert einer Funktion geht nicht, so viel ich weiß.

Eine Funktion für beliebige Arrays (also ich meine jetzt eher TYPE-Arrays) dürfte schwierig werden. Aber vielleicht konkretisierst du noch ein wenig, was du da vorhast :)
Title: Re: Beginner - Ecke
Post by: Kitty Hello on 2009-Dec-30
D2O - bitte warte noch einmal.
Ich peppe den Debugger gerade etwas auf, dass der auch als Tooltip die Werte zeigt. Wäre doof, wenn das Video um einen Tag zu früh käme...
Title: Re: Beginner - Ecke
Post by: didi on 2009-Dec-31

words$[] =  explode_sort_unify( line$ )

sowas wollte ich machen,  ich übergebe einer Funktion einen string , dann gibts verschiedene Funktionen , hier zB.  Zeile in Worte teilen , sortieren und doppelte Wörter löschen ,  als Rückgabe wollte ich ein array mit den einzelnen Worten liefern  - das kann man später zB. für einen Buchindex oder Vokabular brauchen.

Jetzt nehme  ich eben erstmal ein GLOBAL-Array zur Rückgabe .
Title: Re: Beginner - Ecke
Post by: D2O on 2009-Dec-31
@Kitty, geht klar.
Title: Re: Beginner - Ecke
Post by: Quentin on 2009-Dec-31
wie gesagt, das Array kannst du auch als Parameter übergeben

Beispiel:

Code (glbasic) Select

wort$ = "dies ist ein dummer test"

LOCAL y%, count%
LOCAL index$[]
DIM index$[0]


count = SplitAndSort(index$[], wort$)

PRINT wort$, 0, 0
PRINT "Anzahl Wörter: " + count, 0, 20
y = 40
FOREACH w$ IN index$[]
PRINT w$, 0, y
INC y, 20
NEXT
SHOWSCREEN
KEYWAIT


FUNCTION SplitAndSort: pindex$[], pwort$
LOCAL count%
count = SPLITSTR(pwort$, pindex$[], " ")
SORTARRAY pindex$[], 0
RETURN count
ENDFUNCTION
Title: Re: Beginner - Ecke
Post by: didi on 2010-Jan-01
Danke Quentin  für dein Beispielcode, lief sofort , das mit FOREACH war mir bisher auch nicht aufgefallen - und frohes Neues Jahr :)

Der grösste Vorteil an GLBasic ist für mich im Moment, dass man schnell alle möglichen Ideen umsetzen und probieren kann dh. schnell Unmengen von Code generiert   :good:

An was ich mich erst noch gewöhnen muss ist zB. dass man nicht einfach

"if  instr$( text$, suchtext$, 0 )  "

schreiben kann  sondern es nur so geht :

" if instr$( text$, suchtext$, 0 ) <> -1 "

Problem ist das keines , man muss es eben nur wissen.