You pass data with DATA. Basically it accumulates a giant stack of data, and if you use RESTORE or RESTORE label it will go back to the beginning of the stack or wherever the label is in front of some data. I tried to use restore recently in my project, and it weirded out, found it easier to just restate the DATA. To get this data you use READ. That will get the next data from wherever the pointer is.
DATA 1
READ number
print number
That will print "1" to the screen.
Say you have data for several player enemies.
DATA "bad dude 1", 100, "pistol"
DATA "bad dude 2", 120, "whip"
DATA "bad dude 3", 150, "bananagun"
You could get data for these three bad guys with something like this:
dim EnemyName$(3)
dim EnemyHealth(3)
dim EnemyWeapon$(3)
for i = 1 to 3
read EnemyName$(i)
read EnemyHealth(i)
read EnemyWeapon$(i)
next i
I can't remember if you can read to arrays or not, but it doesn't really matter, some experimenting can answer that.
I like to separate my DATA statements into functions, so that way I can call it at any time to get specific data I'm looking for. Then you can stick those functions in #include files as somebody else mentioned. Don't just put DATA statements in an #include file though, DB will get angry at you--#includes do functions only.
I'm going to eat you!