Gui1 forráskód jellemzői
kriszo 2006.03.04. 18:47
Paraméterek, visszatérési érték
A paraméterátadás mindig referencia szerint történik, függetlenül a paraméter típusától (bemenő- visszaadott paraméter). A paraméter leginkább a matematikai halmazhoz hasonlítható, amelynek van típusa, az elemek sorrendje lényegtelen, akár 0 eleme is lehet (üres halmaz). A v0.20-as verzió még nem foglalkozik végtelen halmazokkal, de későbbi verziók mindenképpen kell, hogy tartalmazzák.
Az 1. ábrán a lila körből (értelmezési tartomány halmaza) a nyíl a négyzet (függvény). Ez lényegében paraméterátadás a függvénynek.
1. ábra
A függvény eredményét a visszatérési értékben (értékkészletben) tárolja le (lila kör), amelyre a nyíl mutat. A nyílnak nagy a jelentősége, mivel az a halmaz (kör) amelyre nyíl mutat, valamely függvénynek (négyzet) az értékkészlete. Az a halmaz, amelyből nyíl indul ki, valamely függvénynek (négyzet) az értelmezési tartománya 2. ábra. A fentiekből következik, hogy nyilak csak ellentétes típusú alakzatokat köthetnek össze, vagyis kör-kör ill. négyzet – négyzet kapcsolat nem megengedett.
2. ábra
Több változós függvény esetén több kis körből álló, halmazból kiinduló nyíl mutat a függvényünkre. Az ábrán jól látszik, hogy egy függvénynek max. 3 bemenő paramétere lehet. Ez elég az alapvető függvények esetében, de gyakran nem elég még a legegyszerűbb Windows API meghívásához sem. Erre a 3. ábra ad egy lehetséges megoldást. Későbbi verziókban számtalan egyéb alternatíva is szóba jöhet.
3. ábra
Ez a T dugószerű megoldás, elvileg korlátlanul bővíthető. A 4.ábrán 1-5-ig a bemenő paraméterek: (értelmezési tartomány: D) A közbülső T egy ideiglenes (temporális) halmaz. A bemenő paraméterek problémáját majdan az új GUI (de előbb még ezzel kell végezni) fogja jelenteni.
4. ábra
Kód végrehajtási iránya
A válasz egyszerű: a végrehajtás mindig a nyíl irányában történik. Ha egy halmaz értéke üres halmaz, akkor az a függvény, amelynek az értelmezési tartománya nem hajtódik végre. Az 5. ábra egy tetszőleges grafikus alakzat objektumainak beállítását mutatja.
5. ábra
Elágazás
Ez a példakód mindjárt egy elágazással kezdődik, A elágazás értelmezése: akár több ág is végrehajtódhat, ha a függvény (a 6. ábrán 3 ilyen található). A függvény akkor hajtódik végre, ha a függvény számára megfelelő elemeket tartalmaz. Ily módon levezethető az eseménykezelés is.
6. ábra
Ciklus
Az 7. ábrán egy elöltesztelő ciklus látható. A cm a ciklus magot, a cf a ciklusfeltételt jelöli. Ha a cf üreshalmaz, akkor nem hajtódik végre a ciklus mag.
7. ábra
Property window
Mivel elég nehéz lenne egyszerre az összes property-t beleszutyakolni ezekbe a kis körökbe és négyzetekbe, ezért alkalmazom a grafikus editoroknál már jól bevált property window-os módszert. Az aktív (lila) alakzat tulajdonságai állíthatók a tulajdonságablakban (8. ábra).
8. ábra
|