Beginner - Ecke

Previous topic - Next topic

didi

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 ?

Quentin

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

D2O

Ich mach morgen mal ein Video Tuturial.
Jetzt geh ich erst mal Stargate anschauen :)
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

didi

#3
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.

Quentin

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 :)

Kitty Hello

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...

didi


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 .

D2O

@Kitty, geht klar.
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Quentin

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

didi

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.