PTRG([arvo],[taso],[arvo2])

Selitys

PTRG() etsii muuttujan osoitteen ohjelman sisäisestä muistista.
Ohjelman toimiessa usein kutsutaan sellaisia ohjelman osia, jotka ovat eri tiedostossa. Tällöin puhutaan, että "eri tasolla" oleva ohjelma käynnistyy. Eri tiedostossa olevat ohjelmat ovat kuin aliohjelmia sillä erotukselle, että ylemmällä tasolla olevat muuttujat eivät ole käytettävissä alemmalla tasolla. Funktio PTRG():n kannalta ensimmäinen taso on nolla, seuraava 1, jne.. Lisäksi kullakin tasolla (ohjelmalla) on erilaisia muuttujia, jotka on numeroitu 1:sta eteenpäin. Jokaisessa ohjelmassa on automaattisesti kolme muuttujaa: GETLIST, NAPPAIN ja KENTTA, joihin ohjelma tallentaa aika ajoin erilaisia arvoja.
PTRG() -funktiolla voidaan kysyä jonkin muun tason muuttujan sisältöä, monesko muuttuja on kyseessä ja muuttujaan voi tallentaa erilaisia arvoja.

Parametrit

[arvo] voi olla numero, joka on muuttujan positio tai teksti, joka on muuttujan nimi.
[taso] tasonumero. Ei käytetä tietyissä tilanteissä (kt. esimerkki).
[arvo2] kenttään tallennettava tieto.

Palautusarvo

Funktio palauttaa tasonumeron, jos sillä etsitään muuttujan osoitetta. Jos osoitetta ei löydy funktio palauttaa -1. Funktiolla voi myös tallentaa arvon.

Esimerkki

test=2
? ptrg("nappain") /* kuvaruutuun tulee 2 eli NAPPAIN muutujan positio tässä ohjelmassa (tasolla) */
apu="Hello"
num=ptrg("apu") /* muuttujaan num tallentuu 5, joka on apu-muuttujan positio tässä ohjelmassa, (muuttujat ovat getlist, nappain. kentta, test, apu , ...) */
? num /* kuvaruutuun tulee 2 */
i=asc(0,0,-1) /* i:n tallentuu vektoritietoa, jossa toinen elementti on nykyisen tason numero, i[2] on esim.3 */
? ptrg("apu",i[2]) /* kuvaruutuun tulee 5 eli apu -muuttujan positio tasolla 3 */
? ptrg(num,i[2]) /* kuvaruutuun tulee Hello eli apu -muuttujan sisältö tasolla 3 */
? ptrg("apu",i[2]) /* kuvaruutuun tulee 5 eli apu -muuttujan positio tasolla 3 */
ptrg(num,i[2],"World") /* muuttujaan apu tallentuu World eli muuttujaan, jonka positio on num tasolla i[2] tallentuu em. arvo */
? apu /* kuvaruutuun tulee World */

Katso myös ASC(), FIELDPUT(), FIELDGET(), ALIAS()