Vaikka sukro alunperin tehtäisiin opetusmoodissa, sukrojen
vaativampi kehittely tapahtuu kirjoittamalla sukrokielistä
ohjelmakoodia toimituskenttään. Tässä koodissa tavallinen kenttään
kirjoitettavaksi tarkoitettu teksti näkyy sellaisenaan, mutta
erikoisnappien painallukset ja sukron yleiseen ohjaukseen liittyvät
käskyt ilmaistaan aaltosulkuhin asetetuin selväkielisin koodisanoin.
Kaikki sukrokielen koodisanat löytyvät tämän oppaan liitteestä ja
myös Survon kyselyjärjestelmästä (SUCRO?
). Sukrokielisen ohjelman
lukemista on mukava opetella esim. ryhtymällä määrittelemään uutta
sukroa opetusmoodissa, käyttämällä määrittelyssä erilaisia näppäimiä
ja näppäinyhdistelmiä sekä katsomalla määrittelyn jälkeen
TUTLOAD
-komennolla, miltä aikaansaatu sukro näyttää listattuna.
Näin voi synnyttää esim. seuraavanlaisen listauksen:
|
|
Listauksesta on vaivatonta päätellä kerrottujen nappien sukrokieliset koodit. Huomaa vielä, että sukro-ohjelman listauksessa rivit saa jakaa tavallisen tekstin kohdalla miten tahansa. Edellä oleva sukro saatettaisiin kirjoittaa myös näin:
|
|
TUTLOAD
-komento noudattaa kuitenkin sitä käytäntöä, että rivi
vaihtuu jokaisen rivinsiirtomerkin {R}
kohdalla, jolloin listaus kuvaa
melko uskollisesti sukron ulkoista toimintaa. Yli kentän näkyvän
leveyden menevät rivit katkaistaan kuitenkin tarpeen mukaan. Rivien
jakautumista on mahdollista ja usein luettavuuden kannalta syytäkin
säädellä selitysriveillä (joilla on /
kontrollisarakkeessa).
Sukrokielen mutkikkaampien rakenteiden (kysymykset käyttäjälle,
ehdolliset toiminnat jne.) kirjoittamista tukee apusukro SUCRO
, joka
komennolla /SUCRO ?
antaa omat ohjeensa.
Seuraavassa taulukossa ovat tärkeimpiä erikoisnäppäimiä koskevat koodisanat:
Näppäin | Koodisana | Näppäin | Koodisana |
---|---|---|---|
ENTER | {R}
| END | {line end}
|
ESC | {act}
| F1:HELP | {help}
|
HOME | {home}
| F2:PREFIX | {pre}
|
PgDn | {pgdn}
| F3:TOUCH | {touch}
|
PgUp | {pgup}
| F4:DISK | {disk}
|
oikealle | {r}
| F5:FORM | {form}
|
vasemmalle | {l}
| F6:MERGE | {merge}
|
ylös | {u}
| F7:REF | {ref}
|
alas | {d}
| F8:EXIT | {exit}
|
ctrl-END | {erase}
| alt-F2 | {words}
|
INSERT | {ins}
| alt-F3 | {copy}
|
DELETE | {del}
| alt-F4 | {block}
|
INS_LINE | {ins line}
| alt-F5 | {search}
|
DEL_LINE | {del line}
| alt-F6 | {file act}
|
TAB | {tab}
| alt-F7 | {code}
|
{ | {(}
| } | {)}
|
Koodit {r}
,{l}
,{u}
,{d}
,{del}
,{form}
, jotka usein esiintyvät monta
kertaa peräkkäin, saa varustaa toistoluvulla. Esim. {r3}
on sama kuin
{r}{r}{r}
ja {del2}
sama kuin {del}{del}
. Joskus on tarpeen
kirjoittaa sukrolla myös aaltosulkuja. Kuten taulukosta nähdään,
niilläkin on omat koodisanansa.
Sukrokielisen ohjelman ainoa pakollinen koodisana on {end}
, joka
lopettaa ohjelman listauksen ja johon myös kaikki sukron ehdolliset
haarat on lopulta johdettava.
{init}
(näppäinyhdistelmä {pre} b
) poistaa toimituskentästä kaikki
mahdolliset erikoistehosteet ja -tilat. Tällöin mm. siirrytään
lisäystilasta (INSERT) normaaliin kirjoitustilaan, poistetaan
mahdollinen REF-napilla asetettu viitepaikka, poistetaan mahdollinen
{pre} S
-näppäimillä esiintuotu varjorivi, palautetaan mahdollinen
vasemman reunan poikkeuksellinen asetus kentän ensimmäiseen
sarakkeeseen ja poistetaan mahdollinen keskeneräinen tekstikappaleen
määrittelytila. Näin varmistetaan, että sukro voi aloittaa ilman
yllätyksiä. {init}
ei lainkaan vaikuta toimituskentän sisältöön eikä
kohdistimen sijaintiin. Useimmat sukrot on syytä aloittaa
{init}
-koodilla.
{line start}
(näppäinyhdistelmä {pre} B
) palauttaa kohdistimen sen
nykyisestä sijainnista riippumatta tämänhetkisen rivin ensimmäiseen
sarakkeeseen. Näkyvä kentän osa kelautuu siten myös automaattisesti
vasempaan laitaan.
{tempo -1}
lisää sukron suoritusnopeutta yhdellä pykälällä,
tavallisesti suurimpaan mahdolliseen nopeuteen. Ellei tempo
-koodeja
käytetä, sukrot toimivat opetusohjelmille ominaisella perusnopeudella,
jossa mm. sukron kirjoittamat tekstit ehtii hyvin lukea. Esim.
työkaluiksi tarkoitetuissa sukroissa on kuitenkin syytä käyttää
suurempaa nopeutta, joka saavutetaan käskyllä {tempo -1}
. Se ei estä
käyttäjää normaaliin tapaan säätelemästä tempoa napeilla +
ja -
.
Sukron, joka näin lisää nopeutta, on syytä ennen päättymistä palauttaa
nopeus entiselleen koodilla {tempo +1}
.
Esimerkkinä em. koodien käytöstä teemme sukron PÄIVÄYS
, joka
kirjoittaa tämänhetkisen päiväyksen samalle riville (komento /PÄIVÄYS
pyyhkiytyy) muodossa:
Helsingissä, 28. huhtikuuta 1991
|
|
Huomaa, että päätyön tässä tekee Survon perusvarustukseen kuuluva
apusukro PVM
, joka aktivoidaan listauksen rivillä 8. PVM
toimii
maksiminopeudella, jonka se palauttaa normaaliksi lopettaessaan.
PÄIVÄYS
-sukro itse lisää vauhtia vasta rivillä 11 kirjoittaakseen omat
lisäyksensä ripeästi.