[otsikko] Ei käytössä. Tyhjä teksti "" tai pois.
[x] ikkunan oikea reuna pikseleissä kuvaruuden reunasta katsoen. Jos jätetään pois ohjelma käyttää nollaa.
[y] ikkunan yläreuna pikseleissä kuvaruuden yläreunasta katsoen. Jos jätetään pois ohjelma käyttää nollaa.
[leveys] ja [korkeus] ikkunan ulkomitat tai [korkeus] pikseleissä. Näissä ei ole mukana Windowsin mahdollisesti luomia kelauspalkkeja, jotka ovat lisää.
[arvo] on ikkunan erikoistyyli, kt. esimerkki ja kt. tyylit. Yleensä jätetään tyhjäksi
[maski] Ei käytössä. Nolla tai pois.
[id-arvo] Ei käytössä. Nolla tai pois.
[muuttuja]
vektori, jossa on taulukkoon tarkoitetut rivit ja sarakkeet ja niiden määritykset, otsikot ja muut lisätoiminnot.
Muuttujan ns. osoite lähetään funktiolle double() -funktolla.
Kt. esimerkki.
Funktio palauttaa ikkunapidikkeen tai nollan jos funktio epäonnistuu.
Tällä funktiolla luodaan kuvaruutuun taulukko sille annetusta vektorista.
Mikäli taululla on aliohjelma se saa nappain=5000 kun valintapalkin sijainti vaihtuu.
|
van=setwindow() |
|
Taulukko -ikkunoihin voi lähettää erilaisia viestejä winstatus(), sendmessage() ja postmes() -funktiolla erilaisten Windowsin omien viestien lisäksi:
(HUOM! näillä esimerkeillä viittaan ylläolevan esimerkin taulukkoon, tab1)
Mikäli funktiolle on määritetty aliohjelma klikkaamalla taulukko aliohjelma saa viestin 3, tuplaklikkamalla viesti on -3.
i2=winstatus(tab1)
Kun lähetetään oheinen kysely taulukolle funktio palauttaa numeron, joka kertoo millä rivillä musta tai harmaa palkki on.
HUOM! i2 ei saa olla vektorimuuuja (kt. alla oleva ohje).
i2={}
i2=winstatus(tab1)
Kun lähetetään oheinen kysely taulukolle ja muuttuja, johon arvo palautetaan on ennestään vektori funktio palauttaa taulukon tämän hetkiset arvot vektorina.
Esimerkissä i2 saisi siis arvot {{{0,0},"Seppä",...jne...,2950}} ja esim. i2[3,2]="Merimies".
Toinen tapa (suositeltavampi) on antaa käsky: sendmessage(tab1,1024+4,3,double(i2)).
winstatus(tab1,1)
Kun lähetetään oheinen kysely taulukolle funktio lisää taulukkoon uuden rivin ja siirtyy yhden rivin alaspäin mikäli taulukko on aktiivisessa ikkunassa.
Toiseen parametriin on syytä antaa rivinumero, jolla nyt ollaan. Esimerkissä ollaan rivillä 1.
Mikäli aliohjelma on käytössä ja taulukko on aktiivisessa ikkunassa se saa viestin 40 (nuoli alas).
winstatus(tab1,0)
Kun lähetetään oheinen kysely taulukolle funktio lisää taulukkoon uuden rivin nykyisen rivin yläpuolelle ja siirtyy yhden rivin ylöspäin.
Toiseen parametriin annetaan nolla.
winstatus(tab1,-3)
Kun lähetetään oheinen kysely taulukolle funktio poistaa rivin 3 (numero annetaan negatiivisena).
winstatus(tab1,num1,num2)
Kun lähetetään oheinen kysely taulukolle funktio tallentaa muuttujaan num1 rivinumeron ja num2 muuttujaan sarakkeen.
Palautusarvoa ei saa olla winstatus() -funktiolle ja parametrit 2 ja 3 pitää olla tavallisia muuttujia - ei vektoreita eikä kenttiä.
arvo=winstatus(tab1,num1,num2)
Kun lähetetään oheinen kysely taulukolle funktio palauttaa mitä on rivin num1 sarakkeessa num2 oleva arvo.
Esim. arvo=winstatus(tab1,3,2) tallentaa arvo -muuttujaan "Merimies".
winstatus(tab1,1,2,"Lukkari")
Oheinen käsky tallentaa taulukkoon riville 1, sarakkeeseen 2 "Seppä" tekstin tilalle "Lukkari".
postmes(tab1,1024+4,0,double(i2))
Kun lähetetään viesti 1024+4 (eli 1028), kolmas parametri on 0 ja neljäs parametri sisältää uudet arvot ja asetukset double() funktiolla annettuna ohjelma luo koko taulukon uudestaan.
Tällöin on syytä käyttää postmes() -viestifunktiota.
sendmessage(tab1,1024+4,1,1)
Kun lähetetään oheinen viesti 1024+4 (eli 1028) ikkunalle ja lisäksi kolmas ja neljäs parametri on 1 taulukon tietoja voi editoida.
Mikäli halutaan muuttaa asetus niin, ettei voida editoida (perusasetus) lähetetään neljäntenä parametrina nolla.
Ruksattavia kohtia voi silti ruksata.
Mikäli taulukolle on määritetty aliohjelma ohjelma lähettää sille aina nappain=13 kun ryhdytään editoimaan. Mikäli ei halutakaan editoida
voidaan palauttaa nappain=0, jolloin editointia ei käynnistetäkään.
sendmessage(tab1,1024+4,1,1024)
Kun lähetetään oheinen viesti 1024+4 (eli 1028) ikkunalle ja lisäksi kolmas parametri on 1 ja neljäs 1024 taulukon aliohjelmalle
lähetetään ASCII-merkki.
sendmessage(tab1,1024+4,1,64)
Kun lähetetään oheinen viesti 1024+4 (eli 1028) ikkunalle ja lisäksi kolmas parametri on 1 ja neljäs 64 taulukon aliohjelmalle
lähetetään -5. Viestiä ei lähetetä jos muutetaan kaikki taulukon arvot ja asetukset (kt alla).
sendmessage(tab1,1024+4,3,double(i2))
Kun lähetetään viesti 1024+4 (eli 1028), kolmas parametri on 3 ja neljäs parametri sisältää muuttujan ohjelma tallentaa taulukon arvot (ei asetuksia) muuttujaan (esimerkissä i2).
Tällöin on syytä käyttää postmes() -viestifunktiota.
Muuttujan i2 pitää olla ennestään vektori.
sendmessage(tab1,1024+4,6,double(i2))
Kun lähetetään viesti 1024+4 (eli 1028), kolmas parametri on 6 ja neljäs parametri sisältää muuttujan ohjelma tallentaa taulukon rivien määrän muuttujaan (esimerkissä i2).
Muuttujan i2 pitää olla ennestään vektori.
sendmessage(tab1,1024+5,3,0)
Oheinen käsky siirtää palkin taulukon riville 3. Jos taulukolla on aliohjelma se saa viestin nappain=5000.
sendmessage(tab1,1024+6,0,0)
Oheinen viesti käskee taulukkoa päivittämään taulukon rivit. Tätä käytetään esim. jos taulukon tietoja on jotenkin muutettu.
filt={50,10,200,300} && {x-vasen,y-ylä,x-oikea,y-ala}
sendmessage(tab1,1024+10,double(filt),0)
Kun lähetetään ylläoleva viesti 1024+10 (eli 1034) taulukko päivittyy. Tätä on syytä käyttää kun tietue ei ei ole
vaihtunut ja musta palkki on samalla paikalla mutta taulukon ulkomitat ovat muuttuneet.
Ulkomitat annetaan vektorissa double() -funktion sisällä.