A process fájl egy vezérlési egység (“varázsló”) egyes lépéseit és az azokhoz tartozó SCREEN fájlokat és handlereket határozza meg.
Szerkesztésére ritkán van szükség, mivel létrehozását és módosítását az editor megfelelően elvégzi.
A fájl formátuma szabványos XML fájl, ami a következő TAG-eket tartalmazhatja:
PROCESS
Az XML gyökér eleme. Két tulajdonsága van: ONEXIT és ONENTER, amelyek a processbe belépéskor és a processből való kilépéskor végrehajtódó handlereket tartalmazza.
NODE
Egy lépést határoz meg a végrehajtási sorban. Nagyon gyakori, hogy egy PROCESS fájl egyetlen NODE-ból áll.
Ennek is két tulajdonsága van. A NAME a node nevét határozza meg, kötelező elem. A másik a SCREEN, ami a megfelelő SCREEN fájlra kell, hogy mutasson.
EVENT
Egy esemény definiálhatunk a segítségével. Az eseményt meghatározza az esemény típusa (pl: egér kattintás) az esemény küldője (pl: egy gomb), ehhez az eseményhez rendelhetünk egy handlert, ami az adott esemény bekövetkeztekor hajtódik végre. Négy tulajdonsága van:
- TYPE: kötelező elem; az esemény típusát határozza meg
- SENDER: kötelező elem; a küldő elem teljes neve; a megadásnál használhatunk egyetlen *-ot, ez akkor illeszkedik, ha a küldő elem neve a * előtti résszel kezdődik és a * mögötti résszel fejeződik be
- HANDLER: kötelező elem; az esemény bekövetkeztekor végrehajtandó handler neve; lehet abszolút elérési úttal az alkalmazás gyökeréhez relatív elérési utat használni, illetve a ”./”-el kezdődő handlereket a PROCESS fájlhoz képest relatívan keresi a rendszer
- RUNONLOAD: megadja, hogy a handler futása után frissüljön-e az oldal, azaz lefusson-e az OnLoad handler; alapérték: 1
Példa process fájl
<?xml version="1.0" encoding="iso-8859-2"?> <PROCESS ONEXIT="procexit.handler" ONENTER="procenter.handler"> <NODE NAME="teszt" SCREEN="teszt.screen"> <EVENT TYPE="onBarcode" HANDLER="barcode.handler" RUNONLOAD="0"/> <EVENT TYPE="onLoad" HANDLER="teszt_onLoad.handler"/> <EVENT TYPE="onButtonPress" SENDER="*.vissza" HANDLER="./sub.handler"/> <EVENT TYPE="onButtonPress" SENDER="osszetett.cim.list" HANDLER="./sub.handler"/> <EVENT TYPE="onDblClick" SENDER="egyszeru.bankszamla.szla1" HANDLER="vissza.handler"/> <EVENT TYPE="onChange" SENDER="teszt2" HANDLER="teszt_change.handler"/> <EVENT TYPE="onReturn" HANDLER="teszt_onreturn.handler"/> <EVENT TYPE="onButtonPress" SENDER="osszetett.cim.lsb.akt" HANDLER="exit.handler" RUNONLOAD="0"/> <EVENT TYPE="onButtonPress" SENDER="osszetett.cim.lsb.mod" HANDLER="do:osszetett.adoazonjel:popup" RUNONLOAD="0"/> </NODE> <NODE NAME="teszt2" SCREEN="teszt.screen"> <EVENT TYPE="onLoad" HANDLER="teszt_onLoad.handler"/> <EVENT TYPE="onButtonPress" SENDER="ctrl.vissza" HANDLER="node:teszt"/> <EVENT TYPE="onChange" SENDER="teszt2" HANDLER="teszt_change.handler"/> <EVENT TYPE="onReturn" HANDLER="teszt_return.handler"/> </NODE> <NODE NAME="teszt3" SCREEN="teszt.screen"> <EVENT TYPE="onLoad" HANDLER="teszt_onLoad.handler"/> <EVENT TYPE="onButtonPress" SENDER="ctrl.vissza" HANDLER="node:teszt"/> <EVENT TYPE="onDblClick" SENDER="egyszeru.bankszamla.szla1" HANDLER="vissza.handler"/> <EVENT TYPE="onChange" SENDER="teszt2" HANDLER="teszt_change.handler"/> <EVENT TYPE="onReturn" HANDLER="teszt_return.handler"/> </NODE> </PROCESS>