A Supernova programozási nyelv

Példaprogramok


A pelda01 program:

FIELD azonosito string(8) EXPR='[A-Za-z][^ ]*' FIELD jelszo string(8) EXPR='[A-Za-z][^ ]*' DIALOG Dkod ATLINE=10 ATCOL=26 LINES=12 COLS=40 \ TITLE='pelda01 program' MODAL FONT=4H_DIALOG { STRING DkodSszoveg Y=10 X=20 TEXT='Kérem az azonosítót és a jelszót !' FONT=4H_HEADER STRING DkodSazon Y=35 X=50 TEXT=Azonosító: EDIT DkodEazon Y=35 X=180 WIDTH=150 FIELD=azonosito STRING DkodSjelszo Y=60 X=65 TEXT=Jelszó: EDIT DkodEjelszo Y=60 X=180 WIDTH=120 FIELD=jelszo WONLY BUTTON DkodBok Y=85 X=40 WIDTH=150 TEXT=OK DEFAULT FONT=4H_BUTTON BUTTON DkodBkilep Y=85 X=210 WIDTH=150 TEXT=Kilépés CANCEL FONT=4H_BUTTON } FUNCTION START START { WAIT Dkod } FUNCTION PUSHED DkodBok { GET DkodEazon GET DkodEjelszo TEST BASE azonosito=='pelda01' continue { TEST BASE jelszo!='pelda01' ERROR BASE Hibás jelszó! FOCUS DkodEjelszo ALT SUCCEED Dkod } ALT ERROR BASE Nincs ilyen azonosító! FOCUS DkodEazon } FUNCTION PUSHED DkodBkilep { SUCCEED Dkod }

A pelda02 program:

FIELD szam int(7) STATIC DIALOG Ddialog ATLINE=10 ATCOL=20 LINES=5 COLS=30 \ TITLE='pelda02 program' MODAL MSGBAR FONT=4H_LARGE { STRING DdialogSszam Y=10 X=30 TEXT='Mi legyen a szám?' FONT=4A_LARGE EDIT DdialogEszam Y=10 X=210 WIDTH=50 FIELD=szam FONT=4A_HEADER BUTTON DdialogBtesztel Y=30 X=20 WIDTH=120 TEXT=Tesztelés DEFAULT \ FONT=4A_BUTTON BUTTON DdialogBkilep Y=30 X=160 WIDTH=120 TEXT=Kilépés CANCEL \ FONT=4A_BUTTON } FUNCTION START START { WAIT Ddialog } FUNCTION PUSHED DdialogBtesztel { GET DdialogEszam { TEST BASE szam==0 MSG Ddialog 'A szám nulla' ALT TEST BASE szam
A pelda03 program:
FIELD megj string(20) NULL STATIC FIELD nev string(20) NULL STATIC FIELD osszeg int(10) ADJUST=left NULL STATIC FIELD tabla string(50) NULL STATIC TABLE Tpelda18 TYPE=cat FILE=pelda18 PATH=TABLES COLUMNS { nev KEY osszeg megj } DIALOG Ddialog ATLINE=9 ATCOL=20 LINES=17 COLS=58 \ TITLE='pelda18 program' MODAL FONT=4S_DIALOG { LISTBOX DdialogLBtabla Y=5 X=10 WIDTH=550 HEIGHT=100 FIELD=tabla \ SCROLL ORDER FONT=4S_LISTBOX BUTTON DdialogBfirst Y=115 X=20 WIDTH=110 TEXT=FIRST FONT=4S_BUTTON BUTTON DdialogBprev Y=115 X=160 WIDTH=110 TEXT=PREV FONT=4S_BUTTON BUTTON DdialogBnext Y=115 X=300 WIDTH=110 TEXT=NEXT FONT=4S_BUTTON BUTTON DdialogBlast Y=115 X=440 WIDTH=110 TEXT=LAST FONT=4S_BUTTON BUTTON DdialogBadd Y=140 X=20 WIDTH=110 TEXT=ADD FONT=4S_BUTTON BUTTON DdialogBdel Y=140 X=160 WIDTH=110 TEXT=DEL FONT=4S_BUTTON BUTTON DdialogBupd Y=140 X=300 WIDTH=110 TEXT=UPD FONT=4S_BUTTON BUTTON DdialogBkilep Y=140 X=435 WIDTH=130 TEXT=Kilépés CANCEL \ FONT=4A_BUTTON } DIALOG Dadd ATLINE=12 ATCOL=26 LINES=10 COLS=40 MODAL \ FONT=4S_DIALOG { STRING DaddSnev Y=10 X=20 TEXT=Név: FONT=4S_STRING EDIT DaddEnev Y=10 X=80 WIDTH=200 FIELD=nev FONT=4S_EDIT STRING DaddSosszeg Y=30 X=20 TEXT=Összeg: FONT=4S_STRING EDIT DaddEosszeg Y=30 X=120 WIDTH=90 FIELD=osszeg FONT=4S_EDIT STRING DaddSmegj Y=50 X=20 TEXT=Megjegyzés: FONT=4S_STRING EDIT DaddEmegj Y=50 X=160 WIDTH=200 FIELD=megj FONT=4S_EDIT BUTTON DaddBok Y=70 X=30 WIDTH=140 TEXT=Felvitel DEFAULT \ FONT=4S_BUTTON BUTTON DaddBmegsem Y=70 X=220 WIDTH=140 TEXT=Mégsem CANCEL \ FONT=4S_BUTTON } DIALOG Ddel ATLINE=12 ATCOL=26 LINES=10 COLS=40 MODAL \ FONT=4S_DIALOG { STRING DdelSnev Y=10 X=20 TEXT=Név: FONT=4S_STRING EDIT DdelEnev Y=10 X=80 WIDTH=200 FIELD=nev FONT=4S_EDIT STRING DdelSosszeg Y=30 X=20 TEXT=Összeg: FONT=4S_STRING EDIT DdelEosszeg Y=30 X=120 WIDTH=90 FIELD=osszeg FONT=4S_EDIT STRING DdelSmegj Y=50 X=20 TEXT=Megjegyzés: FONT=4S_STRING EDIT DdelEmegj Y=50 X=160 WIDTH=200 FIELD=megj FONT=4S_EDIT BUTTON DdelBok Y=70 X=30 WIDTH=140 TEXT=Törlés DEFAULT \ FONT=4S_BUTTON BUTTON DdelBmegsem Y=70 X=220 WIDTH=140 TEXT=Mégsem CANCEL \ FONT=4S_BUTTON } DIALOG Dupd ATLINE=12 ATCOL=26 LINES=10 COLS=40 MODAL \ FONT=4S_DIALOG { STRING DupdSnev Y=10 X=20 TEXT=Név: FONT=4S_STRING EDIT DupdEnev Y=10 X=80 WIDTH=200 FIELD=nev FONT=4S_EDIT STRING DupdSosszeg Y=30 X=20 TEXT=Összeg: FONT=4S_STRING EDIT DupdEosszeg Y=30 X=120 WIDTH=90 FIELD=osszeg FONT=4S_EDIT STRING DupdSmegj Y=50 X=20 TEXT=Megjegyzés: FONT=4S_STRING EDIT DupdEmegj Y=50 X=160 WIDTH=200 FIELD=megj FONT=4S_EDIT BUTTON DupdBok Y=70 X=30 WIDTH=140 TEXT=Módosítás DEFAULT \ FONT=4S_BUTTON BUTTON DupdBmegsem Y=70 X=220 WIDTH=140 TEXT=Mégsem CANCEL \ FONT=4S_BUTTON } FUNCTION START START { INREMOVE Tpelda18 nev INUADD Tpelda18 nev NEW DdialogLBtabla NOCURR Tpelda18 repeat { NEXT Tpelda18 SET tabla nev+string(osszeg)+megj ADD DdialogLBtabla } FIRST Tpelda18 SET tabla nev+string(osszeg)+megj PUT DdialogLBtabla READONLY Ddel WAIT Ddialog ALT ERROR BASE 'A pelda18.dat file jelenleg nem elérhető! Kérem elle\ nőrizze az elérési utat!' } FUNCTION PUSHED DdialogBfirst { FIRST Tpelda18 SET tabla nev+string(osszeg)+megj PUT DdialogLBtabla } FUNCTION PUSHED DdialogBprev { GET DdialogLBtabla SET nev substring(tabla,1,20) POS Tpelda18 nev PREV Tpelda18 SET tabla nev+string(osszeg)+megj PUT DdialogLBtabla } FUNCTION PUSHED DdialogBnext { GET DdialogLBtabla SET nev substring(tabla,1,20) POS Tpelda18 nev NEXT Tpelda18 SET tabla nev+string(osszeg)+megj PUT DdialogLBtabla } FUNCTION PUSHED DdialogBlast { LAST Tpelda18 SET tabla nev+string(osszeg)+megj PUT DdialogLBtabla } FUNCTION PUSHED DdialogBadd { INIT Tpelda18 WAIT Dadd } FUNCTION PUSHED DdialogBdel { GET DdialogLBtabla SET nev substring(tabla,1,20) POS Tpelda18 nev WAIT Ddel } FUNCTION PUSHED DdialogBupd { GET DdialogLBtabla SET nev substring(tabla,1,20) POS Tpelda18 nev DEL DdialogLBtabla WAIT Dupd } FUNCTION PUSHED DdialogBkilep { SUCCEED Ddialog } FUNCTION PUSHED DaddBok { GET Dadd { TEST BASE nev!='' ALT ERROR BASE A nevet ki kell tölteni! FOCUS DaddEnev fail } { not POSONLY Tpelda18 nev ALT ERROR BASE Van már ilyen név a táblában! FOCUS DaddEnev fail } ADD Tpelda18 SET tabla nev+string(osszeg)+megj ADD DdialogLBtabla PUT DdialogLBtabla SUCCEED Dadd } FUNCTION PUSHED DaddBmegsem { SUCCEED Dadd } FUNCTION PUSHED DdelBok { DEL Tpelda18 DEL DdialogLBtabla SUCCEED Ddel } FUNCTION PUSHED DdelBmegsem { SUCCEED Ddel } FUNCTION PUSHED DupdBok { GET Dupd { TEST BASE nev!='' ALT ERROR BASE A nevet ki kell tölteni! FOCUS DupdEnev fail } UPD Tpelda18 SET tabla nev+string(osszeg)+megj ADD DdialogLBtabla PUT DdialogLBtabla SUCCEED Dupd } FUNCTION PUSHED DupdBmegsem { ADD DdialogLBtabla PUT DdialogLBtabla SUCCEED Dupd }