GFA BASIC-KÄSKYT JA -FUNKTIOT
Tähän on koottu suurin osa käskyistä ja funktioista ja ne
esitellään aakkosjärjestyksessä.
Käskyt voidaan jakaa neljään pääryhmään:
-Syöttö- ja tulostuskäskyt
-grafiikkakäskyt
-aritmetiikkakäskyt
-ohjauskäskyt
Useimpien käskyjen kohdalla on seuraava esittely:
SYNTAKSI eli kieliopin mukainen muoto käskystä
LYHENNE, jos käsky voidaan kirjoitettaessa lyhentää
SELITYS sanallisessa muodossa
Useimpien käskyjen selitys on hyvin paljon lyhennelty, GFA-
basicin käsikirjaksihan tätä tekstiä ei ole aiottu. Huomatessasi
jossain vaiheessa, ettet pääse näillä ohjeilla eteenpäin, on aika
hankkia oma versiosi GFA-basicista, jolloin saat käsikirjan josta
löydät käskyjen perusteelliset selitykset. Älä siis tyydy kopioon,
vaan hanki oma GFA-Basic, vasta silloin saat siitä täyden hyödyn!
Suomessa GFA-Basic on myynnissä hyvin varustetuissa liikkeissä, ja
Atari ST(E):lle sen saat ainakin ACC ky:stä. Muille konemerkeille
tarkoitettu GFA-basic tekee ST-yhteensopivaa koodia ja päinvastoin.
ABS(x) Antaa luvun x itseisarvon. X tulee olla numeerinen
muuttuja tai lauseke.
ADD muuttuja,n
AD kasvattaa muuttujan arvoa n:llä. Muuttujan on oltava
numeerinen tai numeerinen kenttä. N voi olla
numeerinen muuttuja tai lauseke.
ALERT a,m-merkkijono,b,b-merkkijono,muuttuja
A
Luo keskusteluikkunan, jonka avulla ohjelma välittää
tietoa käyttäjälle tai pyytää käyttäjää ohjaamaan
ohjelman kulkua. Ohjaukset käyttäjä voi antaa keskus-
teluikkunan näppäimillä, joita voi olla enintään kolme.
A määrittelee ikkunan vasempaan yläkulmaan tulevan
symbolin:0=ei symbolia,1=!,2=?,3=STOP.
M- merkkijono on se teksti,joka esitetään
keskusteluikkunassa.Teksti voidaan esittää enintään
neljällä rivillä ja kullakin rivillä voi olla
30 merkkiä.Eri riveille tulevat merkkijonon osat
erotellaan toisistaan pystyviivalla.
(Return-näppäimen oikealla puolella)
B määrittelee näppäimen,jonka kehys esitetään pak-
summalla viivalla.
Tämä näppäin voidaan myös valita Return-näppäimellä.Koska näppäimiä
voi olla kolme,niin b:lle voidaan antaa arvot 0,1,2 tai 3.Näppäimet on
numeroitu vasemmalta alkaen ja jos b =0 niin mikään näppäin ei ole
silloin valittu.
B-merkkijono on se teksti joka tulee näppäimiin.Eri näppäimiin
tulevat tekstit erotellaan toisistaan pystyviivalla ja yksi näppäin
voi sisältää enintään kahdeksan merkkiä.
Muuttuja saa arvokseen valitun näppäimen numeron,kun käsky
suoritetaan.Tämän perusteella voi ohjelma haarautua oikeaan suuntaan.
ARRAYFILL kenttä(),n
AR
Täyttää taulukkomuuttujan kaikki kennot arvolla n.
ARRPTR(muuttuja)
Palauttaa taulukkomuuttujan alkuosoitteen.
ASC(x$)
Ilmoittaa merkkijonomuuttujan x$:n ensimmäisen merkin ASCII-koodin
arvon.
ATN(x)
Palauttaa x:n arcustangentin arvon.X on oltava radiaaneina.
BIN$(x)
Palauttaa x binäärisenä merkkijonona. (BIN$(5) palauttaa "101"). X tulee
olla kokonaisluku väliltä -2147483648...2147483647. X voi olla myös
16-järjestelmän luku,jolloin se merkitään &X tai &HX tai se voi olla
8-järjestelmän luku ja silloin merkintä on &OX.
Katso myös HEX$(x),OCT$(x)ja STR$(x).
BLOAD "tiedostonimi"[,osoite]
BSAVE "tiedostonimi" ,osoite,I
Lataa ja tallettaa osan keskusmuistin sisällöstä levykkeeltä/
levykkeelle.
Käsiteltävälle muistialueelle annetaan "tiedostonimi",joka yksilöi
sen.
Talletettavan alueen pituus ilmoitetaan muuttujan I arvolla.
Osoite on numeerinen muuttuja tai lauseke,joka osoittaa alkukohdan
keskusmuistissa.
Esimerkki, jossa kuvaruudun sisältö talletetaan levykkeelle tiedostoon
"screen".Talletettavan alueen alkukohta löytyy muuttujasta XBIOS(2)ja
sen suuruus on 32000 tavua.Talletuksen jälkeen ruutu tyhjennetään ja
ladataan kuva levykkeeltä takaisin.
BSAVE"screen",XBIOS(2),32000
CLS
BLOAD"screen",XBIOS(2)
BOX XO,YO,X1,Y1
B
Piirtää suorakulmion annettujen koordinaattien väliin (X0,Y0 on vasen
yläkulma ja X1,Y1 on oikea alakulma). Merkkijono-operaattoreita ovat
mikäli värimonitoria käytettäessä annetaan koordinaatit,jotka
ovat käytössä vain musta/valkomonitorilla,niin vain osa neliöstä
tulee näkyviin. Katso myös DEFLINE.
C:muuttuja (parametri)
Kutsuu konekielisen(C:llä käännetyn) ohjelman ja siirtää sille
parametrit.
CALL muuttuja
CALL muuttuja (parametrit)
CA
Kutsuu konekielisen aliohjelman,joka alkaa muistiosoitteesta,joka
puolestaan ilmoitetaan muuttujan arvona.Muuttuja voi olla
numeerinen,mutta ei boolen tyyppiä.
Parametrit ovat muuttujia tai vakioita,joita aliohjelma tarvitsee.
CHAIN "Tiedostonimi"
CH
Lataa ohjelmatiedoston muistiin ja käynnistää sen.
Ellei tiedostonimen täsmennysosaa ole määritelty käskyssä,niin
oletusarvona on .BAS.
CHDIR "polkunimi"
CHD
Vaihtaa oletushakemistoksi "polkunimen".
CHDR n
Vaihtaa oletuslevyaseman "n":ksi. (1=A, 2=B, jne.)
CHR$(x)
Palauttaa merkin, jonka ASCII-arvo on x.
CIRCLE x,y,r[alkukulma,loppukulma]
C
Piirtää ympyrän tai sen kaaren osan,mikäli alku ja loppukulmat on
määritelty. Kulmat annetaan 0,1 asteen tarkkuudella ja 0 astetta
on oikealla. X ja Y ovat ympyrän keskipisteen koordinaatit ja r on
säde.
CLEAR
CLE
Poistaa kaikki määritellyt muuttujat ja kentät.
CLEARW n
CLE
Tyhjentää ikkunan numero n.
CLOSE [[#]n]
Sulkee tiedoston, jonka numero on n.
CLOSEW n
CL W
Sulkee ikkunan numero n.
CLS[#i]
CLS
Tyhjentää ruudun.
COLOR c
CO
Asettaa piirtovärin.
CONT
CON
Käytössä vain suoramoodissa.Käynnistetään ohjelma uudelleen sen
jälkeen,kun se on pysäytetty STOP-komennolla tai
Shift+Control+Alternate -näppäimillä.
COS(x)
Palauttaa x:n cosinin. x on oltava radiaaneina.
CVI (x$)
Muuttaa merkkijonon bitit numeeriseksi.
CVI 2-tavuisen merkkijonon 16 bittiseksi luvuksi
CVL 4-tavuisen merkkijonon 32-bittiseksi luvuksi
CVS stbasic-muotoisen 4-tavuisen merkkijonon numeeriseksi
CVF GFA-basic-muotoisen 6-tavuisen merkkijonon numeeriseksi
DATA[vakio[vakio]...]
D
Luettelo vakioita, jotka voidaan lukea READ-käskyllä.
DATE$
Antaa käyttöjärjestelmän päiväyksen.
DEC muuttuja
Vähentää muuttujan arvoa yhdellä.
DEFILL [c],[a],[b],A$
DEFF
Asettaa täyttökuvion värin ja muodon.Käskyssä määritellään väri
muuttujalla c ja kuvion muoto muuttujilla a ja b. Käytettävissä
olevat muodot löytyvät taulukosta ja kunkin kuvion kohdalla on
annettu a ja b-arvot.
Käyttäjällä voi myös itse määritellä kuvion täytteeseen. Tällöin
täyte määritellään muuttujan A$ avulla.Alueen koko on 16*16
bittiä. Määrittelymerkkijono muodostuu 16-bittisiä sanoja
kuvaavista numeroarvoista.jotka linkitetään yhteen sen
jälkeen,kun numeroarvot on muutettu merkkijonoiksi MKI$()-
käskyllä.
DEFN nimi [(muuttujalista)]=lauseke
Määrittelee käyttäjän oman funktion.
Määritelty funktio kutsutaan:FN nimi[(lausekelista)]
Funktion määrittely voi sisältää jo määritellyn funktion kutsun.
Funktiota voidaa kutsua määrittelyriviä aikaisemmalla
rivillä,koska tulkki tutkii kaikki määrittelyt ennen varsinaista
ohjelman ajoa.
DEFLINE[s],[b],[a],[e]
DE
Määrittelee viivan tyylin,paksuuden ja alku- ja loppupään.
Vaikuttaa kaikkiin viivoihin laarikossa ja muissa
piirroksissa käskyn jälkeen.
s=tyyli 1...6
b=viivan paksuus 1...10
a=viivan alkupää
e=viivan loppupää
0=norm.
1=nuoli ja 2=pyöristetty
DEFLIST X
DEFLIS
Määrittää ohjelmalistauksen muodon siten,että jos x=0 niin käsky-
ja funktionimet ovat kokonaan isoilla kirjaimilla ja muuttujat
pienillä kirjaimilla.
jos x<>0 niin kaikki alkavat isolla kirjaimella.
käsky täytyy antaa suoramoodissa ja vaikutus näkyy,kun palataan
editoriruutuun.
DEFMARK[c],[a],[g]
DEFM
DEFMOUSE n tai DEFMOUSE A$
DEFMO
Määrittelee hiiren osoittimen muodon.Vaihtoehtoja on 8 kpl ja n
voi siis olla 0...7.
DEFTEXT[c],[s],[r],[g]
DEFT
Määrittää tekstin värin,tyylin,pyöristyksen ja koon.
s:0=normaali
8=alleviivattu ja 16=reunustettu
(yhdistettäessä tyylejä, on arvot laskettava yhteen)
r:pyöristyskulma asteina
0=0,900=90,1800=180,2700=270
g:4=erittäin pieni,6=8*8,13=standardi,32=iso.
DFREE (n)
Paikantaa vapaa muistialueen levykkeeltä.
DIM muuttuja (indeksi)[,muuttuja(indeksi)...]
DI
Varaa muistista alueen taulukkomuuttujalle.Muuttuja voi olla
yksiulotteinen,jolloin kokoa rajoittaa vain keskusmuistin koko
tai moniulotteinen,jolloin alkioiden määrä on rajoitettu 65535
kpl:een.
DIM?(field())
DIR ["filespec" [TO"file"]]
DIR "A:*,*"TO"A:CONTENTS"
Palauttaa listan levykkeen tiedostoista. Katso myös: FILES
DIR$(n)
Palauttaa levyn n oletushakemiston (1=A, 2=B, jne.).
DIV muuttuja n
Jakaa muuttujan n:llä.
DO
LOOP
DO
L
Muodostaa päättymättömän silmukan.Silmukasta pääsee ulos
komennolla EXIT tai pysäyttämällä ohjelma näppäimistöltä
Control+Shift+Alternate -näppäilyllä.
DRAW[TO]x0,y0
Piirtää pisteet ja yhdistää kaksi tai useampia pisteitä toisiinsa
suoralla viivalla.Katso myös DEFLINE.
EDIT
Siirrytään ohjelmaruudusta editoriruutuun.
ELLIPSE x,y,rx,ry[alkukulma,loppukulma]
ELL
Piirtää ellipsin tai sen osan niin,että keskipiste on x,y-
koordinaatissa ja säteet ovat rx ja ry.Kulma ilmoitetaan 0.1
asteen tarkkuudella.
END
Sulkee kaikki tiedostot ja lopettaa ohjelman suorituksen.
EOF([#]n)
Palauttaa tiedon siitä, osoittaako tiedoston n osoitin tiedoston loppuun.
ERASE field()
ER
Poistaa kentän ja vapauttaa varauksen.
ERR
Palauttaa virhekoodin virhetilanteessa.
ERROR n
ERR
Simuloi virhettä,jonka koodi on n. Kokeile arvoa 100.
Katso FATAL
EXIST ("filespec")
Ilmoittaa totuusarvona, onko nimetty tiedosto olemassa.
EXIT IF ehto
E
Mahdollistaa silmukasta poistumisen,jos ehto täyttyy.
EXP(x)
Palauttaa arvon e^x,jossa e=2.718281828
FATAL
Muuttuja FATAL on tosi mikäli ohjelmassa oleva virhe luo
tuntemattoman osoitteen. Näin voi käydä esim. mikäli ohjelma
muuttelee käyttöjärjestelmän rutiineja tai tekee muuta hämärää.
Fataalin virheen jälkeen ei RESUME tai RESUME NEXT enää toimi.
Esim:(Tämä esimerkki ei sekoita käyttöjärjestelmää)
ON ERROR GOSUB ertrap
INPUT$" Minkä virheen haluat :",e
ERROR e
PROCEDURE ertrap
PRINT" Virhe no: "; ERR
IF FATAL
PRINT" SE OLI FATAALI (KOHTALOKAS) VIRHE"
ENDIF
RETURN
FIELD[#]n,lauseke AS muuttuja...
FIE
Jakaa tietueen kenttiin.
FILES polkumaski$
FILES polkumaski$ TO sisalto$
Tulostaa halutun tiedostopolun sisällön joko kuvaruudulle tai halutun
nimiseksi tiedostoksi. FILES komento on hyvin samantapainen kuin DIR-
komento, mutta tulostaa monipuolisemmin tiedot tiedostojen koosta,
päiväyksestä jne. Polkumaskin päättyessä \:iin ilman maskia, GFA-basic
lisää maskiksi *.*:n.
Esim:
FILES "A:\*.DOC" TO "DOCUT"
Tallentaa kaikki A-aseman DOC-päätteiset tiedostot tiedostoksi DOCUT.
FILES "A:\*.DOC" TO "LST:"
Tulostaa kaikki A-aseman DOC-päätteiset tiedostot kirjoittimelle.
FILESELECT polku$,oletus$,nimi$
Aiheuttaa tiedostovalikon ilmestymisen kuvaruudulle, josta käyttäjän
on helppo hiirellä valita haluamansa tiedosto.
Polku$ voi sisältää ennalta-annetun levyaseman ja tiedostopolun. Ellei
se sisällä mitään, oletetaan tarkoitettavan sitä polkua, mistä tulkki
on käynnistetty.
Oletus$ voi sisältää ennalta-annetun tiedostonimen, jolloin valikosta
pääsee RETURN-nöäppäintä klikkaamalla.
Poistuttaessa tiedostovalikosta, on valittu tiedosto muuttujalla nimi$,
paitsi jos on painettu CANCEL-ruutua, jolloin nimi$ sisältää nollamerkki-
jonon ("").
Esim:
DO
X=X+1
FILESELECT "A:\*.PRG","GFABASIC.PRG",NIMI$
IF NIMI$=""
PRINT" PAINOIT CANCELIA"
ELSE IF RIGHT(NIMI$)="\"
PRINT" KLIKKASIT OK-RUUTUA VALITSEMATTA MITÄÄN"
ELSE
PRINT" VALITSIT TIEDOSTON ":NIMI$
ENDIF
LOOP UNTIL X=5
FILL x,y
FI
Täyttää määritellyn alueen täytekuviolla.
FIX(x)
Erottaa muuttujan x desimaaliosan ja antaa vain kokonasisosan.
Ero INT-funktioon on siinä,että FIX-funktio ei pyöristä
kokonaisosaa. ONKO NÄIN???
FOR muuttuja =alkuarvo [DOWN]TO loppuarvo [STEP askel]
NEXT muuttuja
F[DOWN]TO STEP
N
Muodostaa silmukan,joka suoritetaan niin monta kertaa kuin FOR-
lauseessa on määritelty.Jokaisella suorituskerralla muuttujan
arvoa kasvatetaan tai vähennetään(DOWN) yhdellä tai askel-
muuttujan osoittamalla luvulla.
FORM INPUT n,muuttuja
F MINPUT
Merkkijonomuuttujan syöttö siten,että n määrittää merkkijonon
pituuden.
Käskyä suoritettaessakohdistinta voi liikuttaa nuoli-,Backspace-
ja Delete-näppäimillä ja määritettyä pituutta pitempää
merkkijonoa ei voi antaa.
FRAC(x)
Ilmoittaa muuttujan x pilkun paikan.Tulos on 0 jos x on
kokonaisluku.
FRE(x)
Ilmoittaa vapaan keskusmuistin määrän tavuina.
FULLW n
Laajentaa ikkunan nro n koko ruudun kokoiseksi.
GET x0,y0,x1,y1,a$
GET [#]n[,i]
Lukee tietueen suorasaantitiedostosta.n ilmoittaa avatun kanavan
numeron (0...99).i on tietueen numero ja se voi olla
1...65535.Jos i ei ole annettu,niin käsky lukee viisi tietuetta.
GOSUB nimi
GO tai @
Kutsuu aliohjelman "nimi"suoritettavaksi.Aliohjelman jälkeen
suoritus jatkuu aliohjelmakutsua seuraavasta muistipaikasta. Tarpeeton
käsky, pelkkä aliohjelman nimi riittää kutsuksi. GO ja GOTO-käskyt ovat
GFA-basicissa VAIN, jotta muiden Basic-murteiden listauksia on helpompi
muuntaa GFA-Basicille.
GOTO otsikko
GOT
Suorittaa ehdottoman hypyn ohjelman kohtaan,joka on merkitty
"otsikko:".Huomaa kaksoispiste. Vältä kaikin voimin GOTO-käskyjä, niiden
käyttä ei ole koskaan järkevää tai tarpeen. GOTO-käskyt johtavat hyvin
sotkuiseen ohjelman rakenteeseen. Unohda koko käsky heti!
GRAPHMODE n
G
Määrittelee grafiikkamoodin muuttujalla n.
n=1 päällimmäinen täyttökuvio peittää alemman
n=2 läpinäkyvä täyttökuvio
n=3 xor
n=4 käänteinen läpinäkyvä
HARDCOPY
H
Kuvaruututulostus kirjoittimelle.Tämä on mahdollista tehdä myös
painamalla samanaikaisesti ALT ja HELP-näppäimiä.
HEX$(x)
Muuttaa muuttujan x merkkijonomuuttujaksi,joka on
heksadesimaalimuodossa.
IF ehto [THEN]
ohjelmalohko
[ELSE]
[ohjelmalohko]
ENDIF
I
EL
EN
Haarauttaa ohjelman suorituksen eri kohtiin asetettujen ehtojen
perusteella.
INC muuttuja
IN
kasvattaa muuttujan arvoa yhdellä.
INFOW n,"informaatio"
INF
Antaa informaatiorivin ikkunalle nro n. Rivi tulee ikkunan
yläreunaan ja siihen tulee teksti,joka käskyssä on annettu
lainausmerkeissä.
INKEY$
Lukee merkin näppäimistöltä.
INP(x)
INP(#n)
Lukee yhden tavun i/o-piireiltä tai tiedostosta kanavalta n.
X voi olla 0...5
0 LST:
1 AUX:
2 CON:
3 MID:
4(ei käytössä)
5 CON:
INPUT["ohjeteksti";(tai,)]muuttuja[,muuttuja...]
INPUT#n,muuttuja[muuttuja...]
INP
Ottaa arvoja muuttujille joko näppäimistöltä tai
tiedostosta.Tiedostosta luettaessa #n on kanavan numero.
INPUT$(x[,#n])
Lukee X kappaletta merkkejä näppäimistöltä ja muodostaa niistä
merkkijonon. Vaihtoehtoisesti, mikäli kanavanumero on annettu,
luetaan x kappaletta merkkejä halutusta tiedostosta.
Esim:
OPEN "O",#1,"VERSION.DAT"
PRINT #1," GFA-BASIC VERSIO 3.0 "
CLOSE #1
'
'
OPEN "i",#1,"VERSION.DAT"
V$=INPUT$(10,#1)
CLOSE
PRINT V$
?" MIKÄ ON VERSIOSI NUMERO :";
PRINT INPUT$(3)
INSTR(A$,B$)
INSTR(a$,b$[,n])
INSTR([n,]a$,b$)
Tutkii esiintyykö merkkijonosta a$ merkkijono b$, jos n on annettu, alkaa
etsintä sen osoittamasta paikasta, muuten koko merkkijon käydään läpi.
Jos merkkijono löytyy, palauttaa funktio esiintymiskohdan numeroarvon,
muulloin nollan. Jos sekä a$ että b$ ovat nollamerkkijonoja (""), palauttaa
funktio ykkösen.
Esim:
a$="GFA on ST:n paras Basic"
x=INSTR(a$,"Basic")
Print a$
Print x" :s merkki on B, vai mitä?"
Esim 2:
REPEAT
A$="1234567890"
B$=INKEY$
UNTIL INSTR(A$,B$)
PRINT " Vihdoinkin keksit painaa numeronäppäintä "
INT(x)
Palauttaa liukuluvun x kokonaisosan.
KILL"tiedostomääritys"
Tuhoaa määritetyn tiedoston levykkeeltä. Käytä siis varoen!
LEFT$(merkkijono[,n])
Ottaa merkkijonon ensimmäiset n kpl merkkiä vasemmalta alkaen.
LEN(x$)
Ilmoittaa merkkijonomuuttujan x$ pituuden ottaen huomioon
erikoismerkit ja välilyönnit.
[LET] muuttuja=lauseke
Antaa muuttujalle lausekkeen arvon.
LINE x0,y0,x1,y1
LI
Piirtää viivan kahden pisteen(x0,y0 ja x1,y1)välille.Viivan tyyli
on mahdollista määrittää ennen piirtämistä vrt.DEFLINE.
LINE INPUT["ohjeteksti";(,)]muuttuja[muuttuja...]
LINE INPUT #n,muuttuja[,muuttuja...]
LI INPUT
Tekstirivin syöttö muuttujille.
LIST"tiedostonimi"
LIS
LLIST
LL
tulostaa ohjelmalistauksen kirjoittimelle.
LOAD"tiedosto"
LOA
Lataa ohjelman muistiin.
LOC([#]n)
LOCAL muuttuja[,muuttuja...]
LOC
Määrittää muuttujan paikalliseksi muuttujaksi.
Katso myös GOSUB,PROCEDURE,RETURN.
LOF([#]n)
Ilmoittaa tiedoston pituuden.
LOG(x)
Antaa muuttujan x luonnollisen logaritmin.
LOG 10(x)
Antaa muuttujan x kymmenlogaritmin
LPOS(n)
Ilmoittaa kirjoittimen kirjoitinpään paikan sarakkeina.
LPRINT[lauseke tai muuttuja[,][;][']]
LPRINT USING "###.##",muuttuja tai lauseke.
LPR
Tulostus kirjoittimelle sellaisenaan tai muotoiltuna (USING).
LSET muuttuja=merkkijono
LS
Asettaa merkkijonomuuttujan tiedostopuskurin kenttään vasempaan
laitaan.
MAX(lauseke[,lauseke...])
Ilmoittaa suurimman arvon tai suurimman merkkijonon arvon
muuttujalistasta.
MENU nimi()
ME
Mahdollistaa hiirivalikoiden muodostamisen.Valikko rakennetaan
siten,että ensin varataan merkkijonomuuttujille taulukko
normaalisti DIM nimi(n)-käskyllä.Tämän jälkeen taulukkoon
sijoitetaan valikossa käytetyt tekstit.
Hyvä käytäntö on sijoittaa tekstit taulukkoon siten,että rivillä
0 on "Desk",rivillä 1 on "Ohjelmasta",rivillä 2 on"___________"ja
tämän jälkeen seuraavilla kuudella rivillä numerot "1"..."6".Nämä
rivit on tällöin varattu ACC-tiedostoista tuleville
apuvälineohjelmille,jotka latautuvat konetta käynnistettäessä
avainlevykkeeltä.Ohjelmasta-valinnan tuloksena on hyvä tehdä
keskusteluikkuna(kts.ALERT).jossa annetaan tietoa ohjelmasta
ja sen valmistajasta.
Seuraavat rivit ovat käyttäjän valikkoa,ja tyhjä rivi eli''''
tulkitaan siten,että siirrytään seuraavaan valikkoon
oikealle päin.Ensimmäinen teksti tyhjän rivin jälkeen siirtyy
otsikoksi valikkoo.Kaksi tyhjää peräkkäistä riviä tarkoittavat
valikon päättymistä.Valikkotekstien pituus voi olla 10
merkkiä/rivi.
MENU nimi()tekee valikon ohjelmaruutuun.Vain otsikot näkyvät ja
valinnat saa näkyviin viemällä hiiren osoitin otsikon päälle.
MENU OFF
Palauttaa invertoituneen valikko-otsikon takaisin normaaliksi.
Otsikko invertoituu aina sitä osoitettaessa.
MENU KILL
Estää valikkojen käytön.Valikko-otsikot näkyvät,mutta
hiirellä ei voi avata niitä.MENU nimi()aktivoi valikot jälleen.
MENU n,x
Käskyllä vaikutetaan valikkotekstien tyyliin siten,että
n ilmaisee tekstin numeron(sama kuin indeksi taulukossa)ja x voi
olla 0,1,2tai3.
0= poistaa valintamerkin valikkotekstin edestä
1= sijoittaa valintamerkin valikkotekstin eteen
2= teksti vaalealla ja sitä ei voi valita
3= palauttaa vaalennetun tekstin normaaliksi.
MID $(merkkijono,a[,n])
Antaa merkkijonon keskeltä n merkkiä paikasta a alkaen.
MIN(lauseke[,lauseke...])
Ilmoittaa pienimmän lausekkeen tai muuttujan arvon
muuttujalistasta.
MKDIR"polkunimi"
MK
Asettaa uuden polkunimen tiedostoon.
MKI$(n)
Muuttaa numeerisen muuttujan merkkijonoksi.
MOUSE x,y,k
M
MOUSEX
MOUSEY
MOUSEK
Antaa hiiren x-ja y-sijainnin sekä kytkimien tilan.
K=0 kytkimiä ei paineta
K=1 vasenta kytkintä painetaan
K=2 oikeaa kytkintä painetaan
K=3 molempia kytkimiä painetaan
MUL muuttuja,n
MU
Kertoo muuttujan n:lla
NAME "vanhanimi"AS "uusinimi"
NA
Vaihtaa tiedoston nimen
NEW
Tyhjentää editorin työalueen,jonka jälkeen voi aloittaa uuden
ohjelman editoinnin.
OCT$(x)
Antaa muuttujan x oktaalimuodossa.
ON lauseke GOSUB ohjelmalista
Haarauttaa ohjelman suorituksen eri aliohjelmin riippuen
lausekkeen arvosta.Pienimmällä arvolla kutsutaan listan
ensimmäinen aliohjelma.
ON BREAK
ON BREAK CONT
ON BREAK GOSUB nimi
Mahdollistaa/estää ohjelman keskeyttämisen tai aiheuttaa
aliohjelmakutsun,kun ohjelma keskeytetään CONTROL,SHIFT ja ALT-
näppäimillä.
ON ERROR
ON ERROR GOSUB nimi
Aiheuttaa aliohjelmakutsun virhetilanteessa
ON MENU GOSUB ohjelman nimi 1
ON MENU KEY GOSUB ohjelman nimi 2
ON MENU MESSAGE GOSUB ohjelman nimi 3
ON MENU IBOX a,x,y,b,h GOSUB ohjelman nimi 4
ON MENU OBOX a,x,y,b,h GOSUB ohjelman nimi 5
ON MENU
Näillä käskyillä rakennetaan valikkoja.Menu-käskyn yhteydessä on
esitetty hiirivalikon muodostus.Ibox ja obox ovat alueita
kuvaruudulla ja niitä voi hiirellä valita.Alueita voi olla
enintään kaksi ja ne numeroidaan muuttujalla a.X ja y kertovat
alueen vasemman yläkulman,b ja h ovat alueen leveys ja
korkeus.Käskyjen toimintaan on viisainta tutustua alkuperäisen
käsikirjan esimerkkien valossa.
OPEN "muoto",[#]n,"tiedostonnimi"[,pituus]
O
Tiedoston aukaisu:muoto voi olla kirjoitus(O),luku (I)tai
molemmat(R).Viimeksi mainittu vain suorasaantitiedoston kanssa.
OPENW n[,x,y]
O W
Ikkunan avaus.Ikkunoita on neljä (1,2,3ja4) ja ne sijaitsevat
vastaavassa järjestyksessä vasemmassa yläkulmassa,oikeassa
yläkulmassa,vasemmassa alakulmassa ja oikeassa alakulmassa
kuvaruudulla.Ikkunan numero ilmoitetaan muuttujalla n ja
ikkunoiden kohtauspiste koordinaateilla x ja y.
OUT x,a
OUT #n,a
OU
In-käskyä vastaava käsky,mutta tiedon kulku on toisinpäin eli
i/o-piireille päin.
PAUSE x
PA
Muodostaa viiveen,jonka pituus määritellään x:llä.Viiveen pituus
sekunteina on x/50.Esim.jos halutaan viiden sekunnin viive,niin
x=5*50 eli 250.x:n arvo on oltava väliltä
-2147483648...2147483647.
PBOX xo,y0,x1,y1
PB
PCIRCLE x,y,r[,alkukulma,loppukulma]
PC
PELLIPSE x,y,rx,ry[alkukulma,loppukulma]
PE
PRBOX x0,y0,x1,y1
PRB
Edellä esitetyt neljä grafiikkakäskyä toimivat samoin kuin
vastaavat piirtokäskyt:myös täyttävät piirretyn alueen ennalta
määritetyllä täytepinnalla.Vrt.DEFFILL.
PEEK(x)
DPEEK(x)
LPEEK(x)
Antaa muistiavaruuden osoitteesta x olevan tiedon.Peek antaa
tavun osoitteesta x, dpeek sanan (16 bittiä)osoitteesta x alkaen
ja lpeek kaksi sanaa (32 bittiä).
PI
Antaa lauusekkeeseen piin arvon(3.141...)
PLOT x,y
PL
Piirtää pisteen kuvaruutuun koordinaattien x ja y kohdalle.
POINT(x,y)
Ilmoittaa koordinaattien x ja y kohdassa esiintyvän kuvapisteen
värin.Tarkkuusmonitorin kuva on mustavalkoinen,joten lukuarvo voi
olla 1 tai 0.Värimonitorin keskiresoluutiolla lukuarvo voi olla
1...3 ja pienimmällä resoluutiolla 1...15.
POKE x,n
DPOKEx,n
LPOKEx,n
PO
DP
LP
Vastakkainen käsky kuin PEEK,eli tiedon muistiosoitteeseen
kirjoittamista varten.
POLYLINE n,X();Y()[OFFSET X0,Y0]
POLYFILL n,X(),Y()[OFFSET X0,Y0]
POLYMARK n,X(),Y()[OFFSET X0,Y0]
POL
POLYF
POLYM
Piirtää täytetyn kuvion,jossa voi olla n kulmaa(maksimi 128).
POS(n)
Ilmoittaa kohdistimen sijainnin sarakkeina.
PRINT[At(c,I)][;]lauseke tai muuttuja [,][;][']]
PRINT #n[,lauseke tai muuttuja[,][;][']
P tai ?
Tulostaa lausekkeen tai muuttujan arvon ohjelmaruutuun.At(c,I)on
kohdistimen paikan määritys,jossa c on sarakkeen numero ja I on
rivin numero.Käytettävissä on 25 riviä ja 80 saraketta.
Välimerkillä määritetään tulostusten etäisyys toisiinsa
nähden.Pilkku aiheuttaa seuraavan tulostuksen 16 sarakkeen päähän
edellisestä.Heittomerkki jättää väliin yhden tyhjän sarakkeen ja
puolipiste vie seuraavan tulosteen seuraavalle riville.
Pelkkä PRINT tuottaa tyhjän rivin.
PRINT USING"muoto",tulostelista[;]
PRINT # n,USING "muoto" tulostelista [;]
P USING
Tulostekäsky varustettuna muotoilumääritteillä.
# paikka numerolle
. paikka desimaalipisteelle.
+ plus -merkin tulostus
- paikan varaus miinus-merkkiä varten
* nollat ennen pistettä korvataan tähdellä
$ tulostaa etuliitteeksi $
, pilkun sijoitus
^ eksponentti
! ilmoittaa,että ensimmäinen merkkijonon merkki on annettu
& koko merkkijono on annettu
\..\ määrittää merkkijonon pituuden
PROCEDURE nimi [(muuttujalista)]
PRO
Aliohjelman alkukohta
PUT x0,y0,a$[,muoto]
PU
PUT[#]n[,i]
PU
Vie määritellyt kentät suorasaantitiedostoon.
QUIT
Q
Lopettaa editorin käytön ja palauttaa toiminnan
käyttöjärjestelmälle
RANDOM(x)
Antaa satunaisen kokonaisluvun väliltä 0...x.
RBOX x0,y0,x1,y1
RB
Piirtää nelikulmion kuten BOX-käsky,mutta kulmat ovat
pyöristetyt.
READ Muuttuja[,muuttuja...]
REA
Lukee muuttujalle arvon DATA-riviltä
RELSEEK[#]n,x
REL
Muuttaa tiedosto-osoitinta.
REM huomautusteksti
Aloittaa kommenttirivin ohjelmalistauksessa.
REPEAT
UNTIL loppuehto
REP
U
Toteuttaa silmukkaa niin kauan kun loppuehto ei ole täyttynyt eli
"toista kunnes ehto täyttyy".
RESTORE[otsikko]
RES
Palauttaa DATA-osoittimen DATA-rivin alkuun.
RESUME
RESUME NEXT
RESUME otsikko
RESU
Poistutaan virherutiinista.
RETURN
RET
Päättää aliohjelman eli ohjelman suoritus jatkuu aliohjelmakutsua
seuraavasta käskystä.
RIGHT$(merkkijono[n,])
Ottaa merkkijonosta n kpl merkkejä lopusta.
RMDIR "polkunimi"
Poistaa tyhjän hakemiston.
RND[(x)] Antaa satunaisluvun väliltä 0...1
SAVE "tiedostonimi"
PSAVE "tiedostonimi"
Tallettaa ohjelman tiedostoksi.
SEEK[#]jN,X
SEE
Asettaa tiedosto-osoittimeksi luvun x.
SETCOLOR i,r,g,b taiSETCOLOR i,n
SE
Värien säätö erikseen jokaiselle perusvärille.r=punainen g=vihreä
ja b=sininen.Luvut voivat olla 0...7.
SETTIME aikamerkkijono,päiväysmerkkijono
SETT
Käyttöjärjestelmä kellonajan ja päivämäärän asettaminen.
Tunnit,minuutit ja sekunit erotetaan toisistaan
kaksoispisteellä ja päivämäärämerkkijonossa käytetään
erottimena pistettä.
SGN(x)
Ilmoittaa muuttujan x merkin.Funktion arvo on-1 jos x<0 ja 1 jos
x>0.Mikäli x=0,niin funktion arvoksi tulee 0.
SIN(x)
Antaa muuttujan x sinin,kun x on radiaaneina.
SOUND kanava,voimakkuus,nuotti,oktaavi[,kesto]
SOUND kanava,voimakkuus,nuotti,#perioidi[,kesto]
SO
Äänigeneraattoreiden ohjauskäsky.
SPACE$(x)
Muodostaa merkkijonon,jonka sisältönä on x kpl välilyöntejä.
SPC(n)
Print-käskyn yhteydessä tulostetaan n kpl välilyöntejä.
SPOKE x,n
SDPOKE x,n
SLPOKE x,n
SP
SD
SL
Vastaava käsky kuin poke,mutta toimii CPU:n supervisor-moodissa.
SPRITE A$[,x,y]
SPR
Tulostaa määritellyn spriten (A$)kuvaruudulle kohtaan x,y,
SQR(x)
Antaa muuttujan x neliönjuuren.
STOP
ST
Pysäyttää ohjelman suorituksen.
STR$(x)
Muuttaa numeerisen muuttujan x arvon merkkijonoksi.
STRING$(n,merkkijono) tai STRING$(n,c)
SUB muuttuja,n
S
Muuttujasta vähennetään n.
SWAP muuttuja1,muuttuja2
SW
Muuttujan 1 ja muuttujan 2 sisällöt vaihdetaan keskenään.
SYSTEM
SY
Lopettaa editorin käytön kuten QUIT
TAB (n)
Vie kohdistinta print-käskyn yhteydessä n saraketta oikealle.
TAN(x)
Antaa muuttujan x tangentin,kun x on radiaaneina.
TEXT x,y,[I,]merkkijono
T
Tulostaa tekstiä kuvaruudulle kohtaan x,y
TIME$
Tulostaa käyttöjärjestelmän kellonajan.
TIMER
ajastin
TITLEW n,"otsikko"
TIT
Antaa ikkunalle n nimen "otsikko".
TROFF
TROF
kytkee pois trace-toiminnon.
TRON
TR
Kytkee päälle trace-toiminnon.
TRUNC(x)
Toiminto on samanlainen kuin funktiolla FIX.
UPPER$(merkkijono)
Muuttaa kaikki merkkijonon pienet kirjaimet isoiksi.
VAL(x$)
Muuttaa merkkijonon numeromuuttujaksi.
VAL?(x$)
Ilmoittaa merkkijonosta kohdan,joka voidaan muuttaa
numeromuuttujaksi.Mikäli merkkijono on tyhjä tai sisältää pelkkiä
kirjaimia,tulee arvoksi 0.
VARPTR (muuttuja)
Ilmoittaa muuttujan alkuosoitteen keskusmuistin muuttuja-alueelta
WAVE kanava,amohj.,aaltomuoto,pituus,kesto
Äänigeneraattorin ohjauskäsky.
WHILE ehto
WEND
W
WE
Muodostaa silmukan,jota suoritetaan niin kauan kun ehto ei ole
täytetty.Erona REPEAT-UNTIL-silmukkaan on se,että ehto
tarkistetaan ennen silmukkaan menoa.
WRITE [lauseke][;]
WRITE #n[,lauseke][;]
Kirjoittaa tiedon sarjasaantitiedostoon.
Näiden käskyjen lisäksi uudemmat GFA-Basicin versiot sisältävät koko
joukon muita käskyjä, aina matriisilaskujen erikoiskäskyihin asti.
Niitä ei tässä kuitenkaan käsitellä, saathan käsikirjan selityksineen
ostaessasi GFA-basicin uudemman version. Tätä kirjoitettaessa on saatavilla
ainakin versio 3.6, ja versio 4 on mainittu ulkomaisessa lehdistössä.
|
|
(C)
Marko, Suomen Atari-sivut / ArkiSTo 2003
|
|