GLOBAL var1, var2$...,varN
Beschrijving:
Dit statement specificeert dat de vermelde variabelen qua werkingsgebied "global" zijn,
dat wil zeggen dat ze over het hele programma geldig zijn. Zij zijn zichtbaar
binnen functies en subroutines als wel in de listing van het hoofdprogramma.
De globale variabelen kunnen binnen functies en subroutines eveneens worden gewijzigd,
zodat men zorgvuldig moet opletten dat men ze niet toevallig verandert,
omdat dit gemakkelijk fouten in het programma kan veroorzaken die moeilijk zijn te isoleren.
Gebruik globale variabelen voor dingen als waarden voor true en false,
bestandsnamen met volledige paden, gebruikersvoorkeuren enz.
Zie ook: Functies, Sub
Gebruik:
global true, false, font$
true = 1
false = 0
font$ = "times_new_roman 10"
Special Globals
Speciale hoofdletter globals (als WindowWidth, DefaultDir$, de kleuren settings variabelen, enz.)
die Liberty BASIC heeft ondersteund sinds globals in LB2 voor het eerst werden geïntroduceerd,
zijn nu bevorderd tot ware globale variabelen.
Tot nu toe, konden deze slechts in het hoofd deel van het programma,
en niet in functies en subroutines worden geplaatst. Die beperking is nu opgeheven.
Zie de code hieronder als voorbeelden hiervan.
Example one:
global true, false, font$
true = 1
false = 0
font$ = "times_new_roman 10"
call makeWindow
print "WindowWidth was changed: "; WindowWidth
wait
sub makeWindow
if true <> false then
notice "Hey, true isn't the same as false. Whatta ya know?"
end if
WindowWidth = 350
texteditor #main.te1, 8, 8, 250, 152
textbox #main.tb1, 16, 192, 112, 24
statictext #main.Statictext4, "Font_Name w h", 8, 168, 100, 18
button #main.apply1, "Apply", [applyFont1], UL, 136, 192, 67, 24
radiobutton #main.rb1, "Radiobutton 1", [set], [clear], 16, 226, 190, 20
checkbox #main.cb1, "Checkbox 1", [set], [clear], 16, 256, 190, 20
open "Untitled" for window as #main
#main "font "; font$
#main.te1 "The font is: "; font$
end sub
Example two:
'define a global string variable:
global title$
title$ = "Great Program!"
'Special system variables don't
'need to be declared as global,
'since they have that status automatically
BackgroundColor$ = "darkgray"
ForegroundColor$ = "darkblue"
'call my subroutine to open a window
call openIt
wait
sub openIt
statictext #it.stext, "Look Mom!", 10, 10, 70, 24
textbox #it.tbox, 90, 10, 200, 24
open title$ for window as #it
print #it.tbox, "No hands!"
end sub