Strict Standards: Declaration of action_plugin_importoldindex::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/importoldindex/action.php on line 8

Strict Standards: Declaration of action_plugin_popularity::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/popularity/action.php on line 57

Strict Standards: Declaration of action_plugin_safefnrecode::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/safefnrecode/action.php on line 66

Strict Standards: Declaration of action_plugin_importoldchangelog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/importoldchangelog/action.php on line 182

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/lib/plugins/importoldindex/action.php:8) in /var/www/html/inc/actions.php on line 607

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/lib/plugins/importoldindex/action.php:8) in /var/www/html/inc/actions.php on line 607

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/lib/plugins/importoldindex/action.php:8) in /var/www/html/inc/actions.php on line 607
Egy oldal megjelenését egy XML file írja le. Ez az XML nagyon egyszerű struktúrát ír le, mivel az alapkoncepció szerint az oldal csak egy egyszerű táblázatból állhat. ====== SCREEN ====== A gyökér elem. A következő tulajdonságai vannak: * NAME: a SCREEN neve; elhagyása esetén egy ERROR kerül a logba és a SCREEN neve ''NoName'' lesz. SubScreen esetén enélkül nem tudunk hivatkozni rá * TITLE: a SCREEN felirata; ez jelenik meg az ablak címsorában; alapesetben üres * LP_TITLE: a SCREEN felirata a [[.objects:CLangpack]] használatával * PADDING: megadja, hogy az egyes komponensek között mekkora hézagot hagyjon (alapérték: **10**) * BORDER: megadja, hogy a panelnek legyen-e kerete (alapérték: **true**) * BKGIMAGE: ezzel a tulajdonsággal definiálhatjuk felül a [[newstyle|téma]] fájlban definiált háttérszínét a panelnek (alapérték: a témafájlban megadott szín) * BKGIMAGEPOS, BKGIMAGEREPEAT: a háttérkép rendezettségét adhatjuk itt meg, ugyanúgy, ahogyan a [[newstyle|téma]] fájlban is tehetjük az ugyanilyen nevű tulajdonságokkal ===== ROW ===== A sorokat határolja a HTML-hez hasonlóan. Az oldal megjelenítéséért felelős elemek csak ezen belül lehetnek. (a natív kliens nem igényli a záró tagot, de azért érdemes kirakni) ===== HELP ===== A HELP elemnek nincsenek tulajdonságai. A és elemek közötti szöveg a SCREEN megjelenésekor az F1 billentyű hatására jelenik meg. Ide kell írni az adott SCREEN-hez tartozó segítséget. ===== SCREEN ===== Ezen a tag-en belül egy teljesen ugyanilyen struktúrájú subscreen-t helyezhetünk el. A SIS (Screen-In-Screen) technikával tetszőleges tagolás elérhető és az elemek átrendezése is sokkal egyszerűbbé válik. Amennyiben subscreenre szeretnénk hivatkozni (például [[.functions:cor4#setvalue|setvalue]] függvényben), akkor ezt a subscreen_neve.elem_neve módon tehetjük meg. A subscreen-ekre semmilyen korlát nincs, tehát lehet neki is subscreen-je (amelyre subscreen1_neve.subscreen2_neve.elem_neve módon hivatkozhatunk). A következő tulajdonságaiban tér el a (külső) SCREEN-től: * a BORDER tulajdonság ebben az esetben alapértelmezés szerint ki van kapcsolva; * van egy CAPTION és egy LP_CAPTION tulajdonsága: bármelyik megadása esetén egy picit másmilyen stílusú panel jelenik meg: kerete van és a keretben szerepel a CAPTION tulajdonságban megadott vagy az LP_CAPTION és a [[.objects:CLangpack]] által meghatározott megadott szöveg. * a HALIGN és VALIGN tulajdonságokkal meghatározhatjuk, hogy a SCREEN-en lévő komponensek merre legyenek igazítva (mindkettőnél **none** az alapértelmezett) Másik lehetőség, hogy egy alakú bejegyzést helyezünk el, ez a megadott fájlból beolvassa a SCREEN adatait és beilleszti az oldal tartalmába, mintha az ide lett volna beírva. **FONTOS**: a SubScreen nevét alapértelmezetten a fájlból veszi, de amennyiben a hívó TAG-ben szerepel NAME tulajdonság, akkor az kerül alkalmazásra (pl: esetén a SubScreen-re ''test'' néven hivatkozhatunk a fájlban megadott névtől függetlenül) ===== CONTROL ===== A CONTROL helyett használható az ELEMENT megnevezés is, de ennek támogatása várhatóan meg fog szűnni. Az oldal ilyen CONTROL-okból épül fel. A CONTROL egyetlen kötelező mezője a TYPE, amely megadja a CONTROL tipusát. Minden CONTROL rendelkezik a következő tulajdonságokkal: * TYPE: a CONTROL típusát adja meg a lentebb megadott módon (alapérték: **EMPTY**) * ROWSPAN, COLSPAN: ez adja meg, hogy a cella hány cella magas illetve széles (azaz mennyi van egymás mellett/alatt összevonva). A kezelése teljesen megegyezik a hasonló nevű HTML tulajdonságokkal * HALIGN: a cellán belüli vízszintes igazítást adhatjuk meg vele. Lehetséges értékei: ''right'', ''center'', **''left''** * VALIGN: a cellán belüli függőleges igazítást adhatjuk meg vele. Lehetséges értékei: ''bottom'', ''middle'' vagy ''center'', **''top''** * HINT: a mezőn megjelenő gyorstipp; ez jelenik meg, ha az egeret hosszabb időre a kontrol fölé visszük * VISIBLE: az elem láthatóságát adhatjuk meg vele; [[InLine]] (alapérték: **true**) * DISABLED: az elem engedélyezetségét adhatjuk meg vele; [[InLine]]; (alapérték: **true**) * NEED: azt lehet megmondani, hogy az adott elem mikor lehet engedélyezve. A megadásra egy nagyon egyszerű logikai kifejezést használhatunk, ami csak elemek neveiből((Az elem neve után használható ":"-al bevezetve egyéb információ; pl: [[#pagecontrol|PAGECONTROL]] esetén)), a |, &((az XML szabvány szerint az & nem szerepelhet egy XML-ben, ezért a kifejezés kiértékelő az & helyett elfogadja a ,-t is)) és ! jelekből, valamint zárójelekből állhat. A precedencia nem teljesen logikus((a ! művelet egy szinten van az és művelettel)), ezért célszerű zárójelezni! * RONEED: a NEED tulajdonsághoz teljesen hasonló eredménye van, de nem az elem engedélyezettségét, hanem írhatóságát lehet vele szabályozni - természetesen olyan komponensek esetén, amelyeknél nincs felhasználói bevitel teljesen hatástalan A következőkben a CONTROL tipusokat részletezem, a **Tulajdonságok** szekcióban az XML-ben megadható tulajdonságokat, a **Visszaadott érték** szekcióban az OperationData-ba gombnyomáskor elhelyezett illetve a [[.functions:cor4#getvalue|GetValue()]] függvény által visszaadott értéket (amely általában ugyanaz), az **Értékadás** szekcióban pedig a [[.functions:cor4#setvalue|SetValue()]] függvénnyel megadott érték hatását fejtem ki, végül az **Események** szekcióban az contolhoz kapcsolható esemény-típusokat sorolom fel. ==== PageControl ==== A Windows-ban jól ismert tab-os komponens, amellyel rengeteg helyet spórolhatunk meg az oldalon. Ezen a TAG-en belül tetszőleges számú SCREEN tag elhelyezhető, amely a szokásos komponensekkel használható és használható a fájlból olvasott SCREEN is. A SIS technikához hasonlóan itt sincs semmilyen megszorítás: lehet elhelyezni a komponensen subscreent és újabb pagecontrol-t is! Speciálisan kezeli ha valamelyik másik komponens PAGECONTROL-ra hivatkozik a NEED illetve a RONEED tulajdonságban. Ilyenkor a komponens neve után ":"-al elválasztva módosítót lehet megadni (pl: page:notlast): * first: akkor engedélyezi, ha az első lapon állunk * notfirst: akkor engedélyezi, ha nem az első lapon állunk * last: akkor engedélyezi, ha az utolsó lapon állunk * notlast: akkor engedélyezi, ha nem az utolsó lapon állunk * : akkor engedélyezi, ha a -adik sorszámú (0-tól kezdve a számolást) lapon állunk * egyébként: akkor engedélyezi, ha a megadott nevű lapon állunk === Tulajdonságok === * ACTIVE: Az aktív SCREEN neve, ezzel az oldallal fog indulni a PAGECONTROL. Ha egy számot adunk meg, akkor az annyiadik SCREEN lesz az aktív (nullától kezdve a számolást). Alapérték: **0** * STYLE: A PAGECONTROL stílusa. A következő értékei lehetnek: ^ Érték ^ Definiált [[consts|konstans]] ^ Jelentés ^ | 0 | TS_TABS | Az alapértelmezett eset; a szokásos tabos módszer | | 1 | TS_BUTTONS | Mintha a tabok helyén szabvány Windows gombok lennének | | 2 | TS_FLATBUTTONS | A tabok helyén felirat, amely "lenyomódik", ha kiválasztjuk | * MULTILINE: Ha a megadott érték igaz, akkor a tabok több sorban is elhelyezkedhetnek (ha szükség van rá), ellenkező esetben scrollozni kell. Alapérték: **0** * HOTTRACK: Ha a megadott érték igaz, akkor az egyes tabokon "jelzi", hogy az egér fölötte van (más szinű lesz a felirat, a gomb más alakú stb). Alapérték: **0** * DRAGENABLE: engedélyezett legyen-e a tabok egérrel való arréb húzogatása. Alapérték: **0** * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) === Visszaadott érték === Az aktuális tab nevét adja vissza. === Értékadás === Egyenértékű az ACTIVE tulajdonság módosításával. === Események === [[events#onchange|OnChange]] === Példa === ==== Tree ==== A Windows-ban jól ismert fa komponens. === Tulajdonságok === * SELECTED: A kiválasztott levél azonosítója. Alapérték: **0** * WIDTH: a komponens minimális szélessége * HEIGHT: a komponens minimális magassága * OPENED: a nyitott elemek azonosítói vesszővel elválasztva (a [[.functions:cor4#fillform|FillForm]] függvény működéséhez kell); felülbírálja a [[.functions:cor4#setvalue|SetValue]]-val beállított értékeket * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) === Visszaadott érték === Egy tömböt ad vissza, melynek két kulcsa van: * SELECTED: a kiválasztott elem azonosítója * OPENED: a nyitott elemek azonosítói egy tömbben === Értékadás === Egy összetett tömbbel kell megadni a fa szerkezetét: Egy elemet, mindig egy tömb reprezentál, melynek első eleme az elem felirata, második eleme adja meg, hogy az adott elem nyitott állapotban legyen-e induláskor és harmadik eleme tartalmazza a gyerek elemek tömbjét. Az azonosítót a tömb kulcsa adja meg. ==Például:== SetValue('tree1',array(1 => array( 'elem 1', false, array(5 => array( 'elem 1.1' ), 7 => array( 'elem 1.2' ), 8 => array( 'elem 1.3', false, array(13 => array( 'elem 1.3.1' ), 9 => array( 'elem 1.3.2' ), 15 => array( 'elem 1.3.3' ), ) ), 3 => array( 'elem 1.4' ), 12 => array( 'elem 1.5' ) ) ), 2 => array( 'elem 2', true, array( 9 => array( 'elem 2.1' ) ) ) ) ); === Események === [[events#onDblClick|OnDblClick]] ==== textfield ==== Egyszerű egysoros szövegbeviteli mező. A NEED tulajdonsággal rá hivatkozó komponensek használhatják az **empty** módosítót, amellyel megadhatjuk, hogy az üres érték igaznak legyen tekintve, azaz lehet olyan függőséget tenni, hogy nem muszáj kitöltenie, de ha kitölti, akkor az a megadott típusúnak kell, hogy legyen. * LABEL: a felirat aláhúzott és ha valami okból a mező hibás (pl: nem töltöttük ki, hibás dátum stb.), akkor dőlt * SUBMIT: csak akkor lesz aktív, ha az összes rá hivatkozó elem OK === Tulajdonságok === * TEXT: a megjelenítendő szöveg * DECIMALS: a tizedes jegyek száma numerikus INPUTTYPE esetén (alapérték: **2**) * MAXCHARNUMBER: a beírható karakterek maximális száma * AUTONEXT: amennyiben igaz, akkor ha beírás közben a karakterek száma eléri a MAXCHARNUMBER értékét, akkor a következő komponensre kerül a fókusz (alapérték: **0**) * INPUTTYPE: a beviteli mező tipusa. Jelenleg a következő tipusokat támogatja a rendszer: * **numeric**, **n**: csak számjegyet és egyetlen "."-ot lehet beírni * **integer**, **i**: csak számjegyeket lehet beírni * **date**, **d**: csak dátumot lehet beírni ÉÉÉÉ-HH-NN alakban * **datemonth**, **dm**: a dátumot csak a hónapig lehet beírni ÉÉÉÉ-HH alakban * **dateyear**, **dy**: csak pontosan négy jegyű évszámot fogad el * **datehour**, **dh**: a dátumot az óra megadásával együtt lehet megadni ÉÉÉÉ-HH-NN ÓÓ formában * **datemin**, **dn**: a dátumot óra és perc megadásával együtt lehet megadni ÉÉÉÉ-HH-NN ÓÓ:PP formában * **time**, **ti**: órát és percet lehet megadni ÓÓ:PP formában * **label**, **l**: tulajdonképpen pont olyan, mint a [[#label|LABEL]] komponens, csak kijelölhető / kivágható a felirata * **text**, **t**: ez a legegyszerűbb, mivel azt írunk bele, amit akarunk * **currency**, **c**: összeg mező; csak számokat és "."-ot lehet beírni, amit ezres tagolással tesz olvashatóbbá * ALIGNMENT: a szöveg inputmezőn belüli elhelyezkedése; lehetséges értékei: **left**, **right** és **center**. Az alapérték **integer** ''INPUTTYPE'' esetén **right** egyébként **left** * WIDTH: az elem minimális szélessége pixelben (alapérték: **134**) * READONLY: hasonló hatása van, mint a DISABLED-nek, csak nem szürkül el és az egérrel ki is lehet másolni belőle; [[InLine]]; (alapérték: **false**) * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) * CAPSLOCK: a beírt szöveg kis/NAGY betűségét befolyásolja; egyetlen karaktert lehet megadni, a következőképpen: * **U**: nagybetűvel ír * **L**: kisbetűvel ír * ENTERASTAB: amennyiben igaz, akkor ebben a mezőben ha entert ütünk, az olyan, mintha tabot nyomnánk * THOUSANDSEPARATOR: a megadott egyetlen karakter((amennyiben hosszabb stringet adunk meg, akkor az első karakterét veszi figyelembe)) lesz a ''numeric'', ''integer'' és ''currency'' típusok esetén az ezres tagolásnál használt karakter; üres string megadásával kikapcsolhatjuk ezt a funkciót (alapérték: **szóköz**) === Visszaadott érték === A mező értékét adja vissza egyszerű szöveges értékként. === Értékadás === Egyenértékű a ''TEXT'' tulajdonság megváltoztatásával ([[.functions:cor4#setelementattribute|Lásd]]) === Események === [[events#onbuttonpress|OnButtonPress]], [[events#onexit|OnExit]], [[events#ondblclick|OnDblClick]] ==== calcedit ==== Olyan különleges számok bevitelére alkalmas mező, amely számológép funkcióval is rendelkezik. A NEED tulajdonsággal rá hivatkozó komponensek használhatják a **pos** és **neg** módosítót, amellyel megadhatjuk, Csak a pozitív, illetve csak a negatív értékeket fogadja el. Ha nincs módosító, akkor minden nem nulla értéket elfogad. === Tulajdonságok === * VALUE: a megjelenítendő szám * DECIMALS: tizedesjegyek száma (alapérték: **2**) * DECIMALSHOW: mindig látszanak-e a tizedes jegyek - 00 formában (alapérték: **0**) * MAXCHARNUMBER: a beírható karakterek maximális száma * WIDTH: az elem minimális szélessége pixelben (alapérték: **134**) * READONLY: hasonló hatása van, mint a DISABLED-nek, csak nem szürkül el és az egérrel ki is lehet másolni belőle; [[InLine]]; (alapérték: **false**) * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) * ENTERASTAB: amennyiben igaz, akkor ebben a mezőben ha entert ütünk, az olyan, mintha tabot nyomnánk === Visszaadott érték === A mező értékét adja vissza számként. === Értékadás === Egyenértékű a ''VALUE'' tulajdonság megváltoztatásával ([[.functions:cor4#setelementattribute|Lásd]]) === Események === [[events#onbuttonpress|OnButtonPress]], [[events#onexit|OnExit]], [[events#ondblclick|OnDblClick]] ==== richtext ==== Többsoros formázható szövegmező, amely HTML és RTF kimenetet produkál. === Tulajdonságok === * RTF: a mező szövege ''rtf'' formátumban; ha meg van adva, akkor ezt használja a komponens * HTML: a mező szövege ''html'' formátumban; ha meg van adva, és az RTF mező üres, akkor ezt használja; a visszaolvasás nem teljes, ezért amennyiben lehetséges használjuk az RTF formátumot * TEXT: a mező szövege ''text'' formátumban; ha sem az RTF mező, sem a HTML mező nincs megadva, akkor ezt használja a komponens * WIDTH: az elem minimális szélessége pixelben (alapérték: **134**) * HEIGHT: az elem minimális szélessége pixelben (alapérték: **100**) * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) === Visszaadott érték === A mező értékét adja vissza egyszerű szöveges értékként. === Értékadás === Egyenértékű a ''TEXT'' tulajdonság megváltoztatásával ([[.functions:cor4#setelementattribute|Lásd]]) === Események === [[events#onbuttonpress|OnButtonPress]], [[events#onexit|OnExit]], [[events#ondblclick|OnDblClick]] === Megjegyzések === Figyeljünk oda a fillForm()-ra, mivel ha az adatbázisból visszaolvasott 't'-'f' értékre hívjuk a fillForm()-ot, akkor mindíg be lesz pipálva. ==== password ==== A ''textfield'' és a ''password'' közötti egyetlen különbség, hogy a ''password'' esetében a beírt szöveg "kicsillagozódik". ==== submit ==== Egyszerű nyomógomb, amely lehet szabványos Windows szerű, illetve egy képpel és egy felirattal reprezentált. === Tulajdonságok === * CAPTION: a gomb felirata * LP_CAPTION: a gomb felirata a [[.objects:CLangpack]] használatával * HOTKEY: egyetlen karakter, amely a gyorsbillentyűt adja meg (nem használhatók ékezetes karakterek) * LP_HOTKEY: egyetlen karakter, amely a gyorsbillentyűt adja meg (nem használhatók ékezetes karakterek) a [[.objects:CLangpack]] használatával * IMAGE: a használt kép elérési útja. Amennyiben az elérési út nem tartalmaz \ vagy / jelet, akkor a //THEMES// könyvtárhoz, ellenkező esetben az alkalmazás gyökér könyvtárához képest relatív. Kompatibilitási okokból elfogadja az ''URL'' tulajdonságnak megadott értéket is. * HOVER_IM: azt a képet adja meg, amely akkor jelenik meg, amikor az egérkurzor a gomb fölött van. Alapértelmezés az ''URL''/''IMAGE''-ben definiált kép. * DOWN_IM: a gomb lenyomott állapotát szimbolizáló képet adja meg. Alapértelmezés az ''URL''/''IMAGE''-ben definiált kép. * GLYPH: a hagyományos gombon lévő kis ikon nevét adhatjuk meg vele, hasonlóan az IMAGE tulajdonsághoz, de az ikonnak 16x16 pixeles BMP-nek kell lennie; csak akkor érvényesül, ha az IMAGE tulajdonság üres (azaz hagyományos Windows gombot jelenít meg) * DISABLED_IM: a nem engedélyezett gomb képét adja meg. Alapértelmezés az ''URL''/''IMAGE''-ben definiált kép fekete-fehérben. * SHOW_LABEL: a kép alatt csak akkor jelenik meg a CAPTION felirat, ha ez a tulajdonság (az alapértelmezett) **true**. * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) * AUTO_HOVER: ha igaz és a ''HOVER_IM'' nem definiált, akkor a ''HOVER_IM'' képet a ''URL''/''IMAGE'' képből egy kis szín kiemeléssel állítja elő (alapérték: **false**) === Visszaadott érték === Nincs. === Értékadás === Egyenértékű a ''CAPTION'' tulajdonság megváltoztatásával. ([[.functions:cor4#setelementattribute|Lásd]]) === Események === [[events#onbuttonpress|OnButtonPress]] ==== filename ==== Egy egyszerű egysoros beviteli mezőt jelenít meg mellette egy "Tallóz" feliratú gombbal, amivel egy fájlt lehet olvasásra betallózni. Ezzel tulajdonképpen egy fájl kijelölését végezhetjük el. === Tulajdonságok === * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) * FILTER: a megnyitandó fájl kiterjesztései, ami a dialógus ablak alsó részén egy választó mezőben jelenik meg; a megadása hagyományos Windows módon történik, azaz egy feltétel egy megnevezésből és egy kiterjesztés szűrésből áll |-al elválasztva (pl: Text fájl|*.txt); több ilyen feltétel is megadható, amit szintén |-al kell elválasztani (pl: Text fájl|*.txt|Minden fájl|*.*) === Visszaadott érték === A visszaadott érték egy asszociatív tömböt, amelyben a következő cimkék vannak: * name: a kiválasztott fájl neve elérési út nélkül * tmp_name: a kiválasztott fájl neve teljes elérési úttal * size: a választott fájl mérete; hiba esetén 0 === Értékadás === NotImplemented hibaüzenetet eredményez. === Események === Nincs. ==== dirname ==== Egy egyszerű egysoros beviteli mezőt jelenít meg mellette egy "Tallóz" feliratú gombbal, amivel egy könyvtárat lehet betallózni. === Tulajdonságok === * STARTDIR: az induló könyvtár; speciális elem az ''activedir'': ez az éppen aktuális könyvtárról kezdni a tallózást * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) === Visszaadott érték === A visszaadott érték egyszerűen a szerkesztő mező értéke. === Értékadás === NotImplemented hibaüzenetet eredményez. === Események === Nincs. ==== label ==== Egyszerű felirat. === Tulajdonságok === * CAPTION: a felirat * LP_CAPTION: a [[.objects:clangpack|Langpackhoz]] tartozó felirat * SIZE: a felirat betűmérete. Alapérték: //8// * FONTNAME: a felirat betűtipusa; alapérték a Windows alapértéke (általában MS Sans Serif) * STYLE: a felirat betűstílusa. Szöveges mező, ahol a karakterek helye lényegtelen (azaz a "BIU" és az "UBI" egyenértékű). Lehetséges karakterek: * "B": félkövér (**Bold**) * "I": dőlt (//Italic//) * "U": aláhúzott (__Underline__) * "S": áthúzott (StrikeOut) * COLOR: a felirat szine; megadható 6 karakteres Hexa alakban, illetve a [[colors|gyakoribb színeket]] az angol nevükről is elfogadja * BGCOLOR: a felirat háttérszine * LINK: úgy néz ki, mint a böngészőkben a hagyományos linkek: ha fölé visszük az egérkurzort, akkor aláhúzza a szöveget és az egérmutató is a kis kézre vált * WIDTH: a szöveg maximális mérete pixelben; ha ennél hosszabb a szöveg, akkor töri a sort. A **0** érték kikapcsolja a sortörést. Alapérték: //0// === Visszaadott érték === Nincs. === Értékadás === Egyenértékű a ''CAPTION'' tulajdonság megváltoztatásával ([[.functions:cor4#setelementattribute|Lásd]]) === Események === [[events#onbuttonpress|OnButtonPress]], [[events#ondblclick|OnDblClick]] ==== codecombo ==== Egy kód lista és egy legördülő lista kombinációja. Olyan esetekben használatos, ahol a felhasználó megjegyezheti a kódot, de ha nem emlékszik rá, akkor kiválaszthatja listából is. === Tulajdonságok === * WIDTH: a mező minimális szélessége pixelben * WIDTHCOMBO: a combo rész szélessége; ha a WIDTH paraméter meg van adva, akkor arányosítja a WIDTHEDIT tulajdonsággal (alapérték: **100**) * WIDTHEDIT: az edit rész szélessége; ha a WIDTH paraméter meg van adva, akkor arányosítja a WIDTHCOMBO tulajdonsággal (alapérték: **30**) * READONLY: csak olvasható mező legyen-e; [[InLine]]; (alapérték: **false**) * CASEMODE: a kód mező kisbetű-nagybetű kezelésének módját szabályozza. Lehetséges értékei: * SENSITIVE: a beírás közben csak akkor illeszkedik a listabeli elem a beírt szövegre, ha a kisbetű-nagybetűk is stimmelnek * LISTCASE: a beírt szöveg kiegészítésre kerül akkor is, ha nem kisbetű-nagybetű helyesen írjuk be, de ekkor a listában szereplő írásmóddal lesz írva * egyébként: a beírt szöveg kiegészítésre kerül és marad olyan írásmóddal, ahogy beírásra került * DATASOURCE: az adatokat [[datasource]]-ból is be lehet olvasni * SELECTED: a kiválasztott elem azonosítója * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) === Visszaadott érték === A kiválasztott elem kódját (azonosítóját) adja meg. === Értékadás === Így adhatók meg az elemek. Az átadott értéknek egy tömbnek kell lennie, ahol a kulcs az elem azonosítója az érték pedig egy két elemű tömb, ahol az első elem a kód a második a megnevezés. A [[.objects:cdatabase|CDatabase]] osztály QueryAsArray metódusa ilyen formában adja vissza az eredményt, ha a második paramétere **false** (tehát a lekérdezésnek három mezője kell, hogy legyen: id, kód, név). === Események === [[events#onchange|OnChange]] ==== combobox ==== Legördülő lista. Másik megnevezés lehet a SELECT; a két megnevezés egyenértékű. Ha elkezdjük beírni a szöveget, a legelső illeszkedő elemre áll. A ''Backspace'' gombbal törölhetünk egy karaktert a már beírt szövegből, a ''Del''-el pedig kitörölhetjük az egész eddig felvitt szöveget. Az F10 gomb hatására a lista lenyílik/eltűnik. === Tulajdonságok === * SELECTED: a kiválasztott elem kódja * WIDTH: a mező minimális szélessége pixelben (alapérték: **134**) * DATASOURCE: a lista kitöltésére alkalmas [[datasource|adatforrás]] megadására alkalmas. Az adatforrásnak csak az első két oszlopát veszi figyelembe * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) * READONLY: csak olvasható mód engedélyezése; [[InLine]]; (alapérték: **false**) === Visszaadott érték === A kiválasztott elem kódját (azonosítóját) adja meg. === Értékadás === Így adhatók meg a lista elemei. Az átadott értéknek egy tömbnek kell lennie, ahol a kulcs az elem azonosítója az érték pedig az elem neve. A [[.objects:cdatabase|CDatabase]] osztály QueryAsArray metódusa ilyen formában adja vissza az eredményt, ha a második paramétere **true**. === Események === [[events#onbuttonpress|OnButtonPress]], [[events#onexit|OnExit]] ==== radiogroup ==== Rádiógomb sor. === Tulajdonságok === * SELECTED: a kiválasztott elem kódja * WIDTH: a lista minimális szélessége pixelben (alapérték: **134**) * HEIGHT: a lista minimális magassága pixelben (alapérték: **97**) * DATASOURCE: a lista kitöltésére alkalmas [[datasource|adatforrás]] megadására alkalmas. Az adatforrásnak csak az első két oszlopát veszi figyelembe * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * COLUMNS: az oszlopok száma a listában; ellentétben a [[#CheckboxList]] komponenssel, itt soha nincs csúszka, ezért változó mennyiségű elem esetén célszerű a **STRECHING** tulajdonságot használni (alapérték: **1**) * STRETCHING: ha **1**, akkor a komponens magasságát automatikusan az elemek számához igazítja, ellenkező esetben a **HEIGHT** tulajdonságot veszi alapul (alapérték: **0**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) === Visszaadott érték === A kiválasztott elem kódját (azonosítóját) adja meg. === Értékadás === Így adhatók meg a lista elemei. Az átadott értéknek egy tömbnek kell lennie, ahol a kulcs az elem azonosítója az érték pedig az elem neve. A [[.objects:cdatabase|CDatabase]] osztály QueryAsArray metódusa ilyen formában adja vissza az eredményt, ha a második paramétere **true**. === Események === [[events#onbuttonpress|OnButtonPress]], [[events#onexit|OnExit]] ==== checklistbox ==== Checkbox lista. === Tulajdonságok === * SELECTED: a kiválasztott elemek kódjai vesszővel elválasztva * WIDTH: a lista minimális szélessége pixelben (alapérték: **134**) * HEIGHT: a lista minimális magassága pixelben (alapérték: **97**) * DATASOURCE: a lista kitöltésére alkalmas [[datasource|adatforrás]] megadására alkalmas. Az adatforrásnak csak az első két oszlopát veszi figyelembe * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLUMNS: az oszlopok száma a listában; ha **0**, akkor csak egy oszlop van és a megjelenítés függőleges, egyébként a megadott számú oszlop **látható** és ha annyi sor van a listában, hogy az nem fér ki, akkor vízszintes csúszka jelenik meg (alapérték: **0**) * STRETCHING: ha **1**, akkor a komponens magasságát automatikusan az elemek számához igazítja, ellenkező esetben a **HEIGHT** tulajdonságot veszi alapul (alapérték: **0**) * COLOR: a használt font színe (alapérték: **black**) === Visszaadott érték === A kiválasztott elemek azonosítóinak tömbje. === Értékadás === Így adhatók meg a lista elemei. Az átadott értéknek egy tömbnek kell lennie, ahol a kulcs az elem azonosítója az érték pedig az elem neve. A [[.objects:cdatabase|CDatabase]] osztály QueryAsArray metódusa ilyen formában adja vissza az eredményt, ha a második paramétere **true**. === Események === [[events#onbuttonpress|OnButtonPress]], [[events#onexit|OnExit]], [[events#ondblclick|OnDblClick]] ==== completeedit ==== Olyan szerkesztő mező, amihez megadhatunk egy listát, ami alapján kiegészíti az addig beírt szöveget. Annyiban különbözik a ComboBox-tól, hogy tetszőleges szöveget be lehet írni. === Tulajdonságok === * ID: a megfelelő azonosító; ha meg van adva, akkor a TEXT tulajdonságot nem veszi figyelembe * TEXT: a beírt szöveg * WIDTH: a mező minimális szélessége pixelben (alapérték: **134**) * LISTMODE: ha igaz, csak a megadott elemeket lehet beírni (alapérték: **false**) * CASEMODE: a kisbetű-nagybetű kezelésének módját szabályozza. Lehetséges értékei: * SENSITIVE: a beírás közben csak akkor illeszkedik a listabeli elem a beírt szövegre, ha a kisbetű-nagybetűk is stimmelnek * LISTCASE: a beírt szöveg kiegészítésre kerül akkor is, ha nem kisbetű-nagybetű helyesen írjuk be, de ekkor a listában szereplő írásmóddal lesz írva * egyébként: a beírt szöveg kiegészítésre kerül és marad olyan írásmóddal, ahogy beírásra került * DATASOURCE: a lista kitöltésére alkalmas [[datasource|adatforrás]] megadására alkalmas. Az adatforrásnak csak az első két oszlopát veszi figyelembe * READONLY: hasonló hatása van, mint a DISABLED-nek, csak nem szürkül el és az egérrel ki is lehet másolni belőle; [[InLine]]; (alapérték: **false**) * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) * SIMPLE: a visszatérési érték módját határozza meg (alapérték: **0**) === Visszaadott érték === Ha a ''SIMPLE'' tulajdonság **false**, akkor az OperationData-ba egy tömb kerül, amelynek ''text'' eleme a beírt szöveget, az ''id'' eleme pedig a listából kiválasztott elem azonosítója (mint a ComboBox-nál), ha nem a listából választottunk, akkor **null** értéket kap. Ha a ''SIMPLE'' tulajdonság **igaz**, akkor az OperationData-ba a beírt szöveg kerül. A [[.functions:cor4#getvalue|GetValue]] függvény egyszerűen a beírt szöveggel tér vissza. === Értékadás === Így adhatók meg a lista elemei. Az átadott értéknek egy tömbnek kell lennie, ahol a kulcs az elem azonosítója az érték pedig az elem neve. A [[.objects:cdatabase|CDatabase]] osztály QueryAsArray metódusa ilyen formában adja vissza az eredményt, ha a második paramétere **true**. === Események === [[events#onbuttonpress|OnButtonPress]], [[events#onexit|OnExit]], [[events#ondblclick|OnDblClick]] ==== list ==== Szűrőtáblázat. A szűrési feltételnek megfelelően azonnal szűr. Ha a feltétel "|" karaktert tartalmaz, akkor a "|" jelekkel határolt tagokat külön-külön értelmezi, majd az eredmények uniója lesz az eredmény. Amennyiben egy ilyen feltétel "*" vagy "?" karaktert tartalmaz, akkor a szokásos (DOS jellegű) kifejezésként értelmezi, azaz a "*" karakter akármennyi karaktert, míg a "?" pontosan egy karaktert helyettesíthet. Ha a kifejezés "="-el kezdődik, akkor pontos egyezést keres, ha nem, akkor szó eleji egyezést (ez azt jelenti, hogy az előbbi "*"-os keresés esetén "=" jel nélkül a kifejezés végére mindig odarak egy "*"-ot) Ha a kifejezés "!"-el kezdődik, akkor a feltételt negálja, azaz a szűrés eredménye a feltételnek __nem megfelelő__ sorok lesznek. És most néhány példa keresési feltételre: * ''asd'': minden ''asd''-al kezdődő szóra teljesül, pl: ''asdasd'' * ''=asd'': pontosan az ''asd'' szóra teljesül * ''a*d'': teljesül minden ''a''-val kezdődő és aztán ''d''-t tartalmazó szóra, pl: ''asd'', ''alfadelta'' * ''=a*d'': teljesül minden ''a''-val kezdődő és ''d''-re végződő szóra, pl: ''asd'', ''asdasd'' * ''asd|=qwe'': teljesül minden ''asd'' kezdetű szóra és a ''qwe'' szóra (az egyenlőségjel miatt csak a teljes egyezés jön szóba a második esetben) * ''?*'': egy gyakori trükk, ez teljesül minden nem üres szóra! Amennyiben a közvetlen nyomtatás és exportálás funkciót használni szeretnénk, akkor szükséges, hogy létezzenek a következő táblázatban szereplő kép fájlok (a fájlok nevei nem változtathatók): ^ Fájlnév ^ Mire használt ^ | list_csv.gif | A CSV exporthoz megjelenő ikon | | list_csv_filt.gif | A szűrt eredmény CSV exportjához megjelenő ikon | | list_print.gif | A nyomtatáshoz megjelenő ikon | | list_print_filt.gif | A szűrt eredmény nyomtatásához megjelenő ikon | | list_excel.gif | Az Excel exporthoz megjelenő ikon | | list_excel_filt.gif | A szűrt eredmény Excel exportjához megjelenő ikon | A megadott fájlokat a DIR_IMAGES [[consts|konstans]] által meghatározott könyvtárban keresi. Ha a DIR_IMAGES konstans nincs definiálva, akkor a képeket nem olvassa be! Lehetséges a kijelölt sort illetve sorokat a [[JumpTo|do:listanév:all]] illetve a [[JumpTo|do:listanév:clear]] akciókkal állítani, melyek minden sort illetve egyetlen sort sem jelölnek ki, ha a ''MULTISELECT'' tulajdonság engedélyezve van. Lehetőség van még a [[JumpTo|do:listanév:azonosító]] hívásra is, amely mindig a megadott azonosítójú sort jelöli ki. === Tulajdonságok === * BUTTONS: a megjelenő gombok nevei vesszővel elválasztva * HOTKEY: a gombok gyorsbillentyűi elválasztójel nélkül (azaz "tuv" azt jelenti, hogy az első gombnak "t" a gyorsbillentyűje, a másodiknak "u", a harmadiknak pedig "v") * CRITERIA: megjelenjenek-e a szűrő mezők. Alapérték: //1// * ENABLETOOLBUTTONS: megjelenjenek-e a nyomtató és mentő gombok. Alapérték: //1// * EXPORTFIELDS: exportáláskor exportálásra kerüljön-e a lista fejléce. Alapérték: //0// * PRINTFONTSIZE: a nyomtatáskor használt alap font méret. Alapérték: //20// * PRINTLANDSCAPE: a nyomtatás fekvő lapra történjen-e. Alapérték: //true// * FIELDS: a táblázat fejlécének feliratai vesszővel elválasztva; itt adható meg az igazítás is olyan módon, hogy a középre igazításhoz egy ":center"-t, a jobbra igazításhoz egy ":right" részletet illesztünk a cimke végére (pl: Város,Utca,Házszám:right esetén a Házszám mező jobbra lesz igazítva) * LP_FIELDS: a táblázat fejlécének feliratai a [[.objects:CLangpack]] használatával * WIDTH: a táblázat oszlopainak szélessége vesszővel elválasztva * FORMAT: a táblázat oszlopainak formátuma; jelenleg a következők lehetnek: * **b**: a mező értéke egy boolean érték lehet; ha a mező értéke "1", "t" vagy "true", akkor az "Igen" felirat jelenik meg, ellenkező esetben a "Nem" (az üres érték üres marad) * **n**: a mező értéke egy egész szám, ezt a megfelelő ezres tagolással tagolja * **c**: a mező értéke összeg: két tizedesjegyre kerekített számok * **d**: a mező értéke kód: jobbra rendezi; nincs ezres tagolás és az összegzősorban sem jelenik meg, de numerikusan rendezi * minden más esetben a mezőt változatlanul kiírja * ROWS: a táblázat sorainak száma, a táblázat magassága ebből számolódik * CAPTION: a táblázat felirata * LP_CAPTION: a táblázat felirata a [[.objects:CLangpack]] használatával * COLORS: a táblázat sorainak szine illetve stílusa; a színek megadhatók a szokásos formában, illetve használható a [[#Label]] STYLE tulajdonságánál használható formula; ha mindkettőt meg szeretnénk adni (tehát a színt és a stílust is), akkor a két érték közé ":"-ot kell rakni (pl: a "red:BU" érték vörös hátterű félkövér aláhúzott sort eredményez); kétféleképpen kaphat értéket: - SetElementAttribute függvénnyel adhatunk neki egy tömböt, ahol az egyes elemek kulcsa a sor azonosítója, az értéke pedig a sor szine lesz - ha szöveget tartalmaz, akkor azt egy [[Datasource]] nevének tekinti, amiben az első oszlop lesz a sor azonosítója, a második pedig a szine * CHECKBOXES: ha ez nem üres, akkor multiselect lista lesz és a felsorolt feliratokkal gombok jönnek létre * DATASOURCE: ha megadjuk, akkor az előtte [[.functions:cor4#adddatasource|definiált]] adatforrásból feltölti a listát; lényegesen gyorsabb, mintha ugyanezt handler-ből tennénk * GRID: ha igaz, akkor rácsozza a listát; alapérték: //false// * DEFAULTORDER: ezzel adhatjuk meg, hogy megjelenéskor melyik oszlop szerint legyen rendezve a lista; az oszlopokat 0-tól indexeli. Amennyiben 0-nál kisebb értéket adunk meg, akkor nem rendezi a listát; alapérték: //0// * FILTERVALUES: ez adja meg a szűrő mezők kezdeti értékét; vesszővel elválasztott listát vár * SELECTED: a kiválasztott elem azonosítója * ENABLEFILTER: hamis érték esetén a szűrő mezőkbe való írás hatástalan (nem szűr) * COUNTCAPTION: igaz érték esetén megjeleníti a szűrt eredmény és a teljes lista elemszámát * ACTIVECOLOR: beállíthatjuk vele a kijelölés szinét; a szín megadható a szokásos hexadecimális alakban, a szinek [[colors|nevével]] illetve a **default** értékkel, amely az alapértelmezett Windows színt állítja be (és persze ez az alapérték is) * BACKGROUND: megadható vele egy kép elérési útja, amellyet a lista hátterében fog kirajzolni; a képet mindig a megfelelő méretűre nagyítja / kicsinyíti * SUMROW: engedélyezett állapotban az **n** és **c** FORMAT tulajdonságú oszlopokat összesíti egy állandó legalsó sorban; mindig a szűrésnek megfelelően összesít * PRINTSTRIPS: nyomtatásban legyen-e szürke csíkozás. Alapérték: //0// * EXCELEXPORT: amennyiben engedélyezve van, akkor közvetlen Excelbe is tud exportálni. Alapérték: //0// * EXCEL_HEADER_SIZE: Excel exportnál a fejléc betűméretét adhatjuk meg vele. Alapérték: //18// * SAVE_DEST: a rendezettség mentésének helyét adja meg; lehetséges értékei: - **S**: a Shared-ba menti (a beállítás a programból való kilépésig marad meg) - **U**: a UserConf-ba menti (a beállítás megmarad a programból való kilépés után is) - egyébként: az alapértelmezés szerint az OperationData-ba menti (modulon belül marad meg) === Visszaadott érték === Az OperationData-ba a következő asszociatív tömböt helyezi: * id: a kiválasztott elemek azonosítója egy numerikusan indexelt tömbben. Ha csak egy sor van kiválasztva, akkor azt a 0. tömbelemre rakja (tehát akkor is tömb) * values: csak akkor, ha nem multiselect listáról van szó: a kiválasztott sor tartalma egy numerikusan indexelt tömbben. A tömbelemek minden esetben szövegesek. * filtervalues: a szűrőmezőkbe írt kereső feltételek numerikusan indexelt tömbben A [[.functions:cor4#getvalue|GetValue()]] függvény visszatérési értéke a szűrt táblázat tartalma két dimenziós tömbben, ha a ''Param'' értéke **filter**, egyébként a táblázat teljes tartalma két dimenziós tömbben. === Értékadás === Így adhatók meg a lista elemei. Az átadott tömb egy két dimenziós tömb, ahol a kulcs az azonosító az elem pedig egy numerikusan indexelt tömb, amely rendre az egyes oszlopok értékeit tartalmazza. A [[.objects:cdatabase|CDatabase]] osztály QueryAsArray metódusa ilyen formában adja vissza az eredményt, ha a második paraméter **false** (ami az alapérték). === Események === [[events#onchange|OnChange]], [[events#ondblclick|OnDblClick]] ==== customselect ==== Működésében hasonlít a listára, de a lapon csak egy gomb / felirat látszik, amire kattintva új ablakban jelenik meg a lista, így a lapon nem foglal el feleslegesen sok helyet a lista. === Tulajdonságok === * FIELDS: az oszlopok fejlécei vesszővel elválasztva * DATASOURCE: az [[datasource|adatforrás]] neve * WIDTH: az elem szélessége * SELECTED: a kiválasztott elem azonosítója * SHOW_NUM: a feliratként megjelenítendő oszlop száma (0-tól kezdve); (alapérték: **0**) * CAPTION: a felbukkanó ablak fejlécének felirata * BUTTON_CAPTION: a választó gomb felirata * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) === Visszaadott érték === A kiválasztott elem azonosítóját adja vissza. Ha nem lett elem kiválasztva, akkor a visszatérési érték az üres string. === Értékadás === Az értékadás teljesen megegyezik a [[#List]] elem értékadásával. === Események === - ==== editablelist ==== Szerkesztő táblázat. A következő dolgokra képes: * ENTER illetve INSERT gomb, valamint dupla kattintás hatására a kijelölt mező szerkeszthetővé válik * a NUM + gomb illetve az utolsó sorban két LE gomb hatására a lista végére új elemet illeszt, amit ha nem szerkesztünk nem mentődik el * ESC gombbal kilép a szerkesztő módból * FEL, LE gombokkal (szerkesztés közben is) lehet navigálni a sorok között; ha az adott sor szerkesztett változata nem felel meg az INPUTTYPES tulajdonságban megadott tipusnak, akkor az aktív sor nem változik és a hibás elem(ek) pirossal kiemelődnek * szerkesztő módból az ENTER hatására visszatérhetűnk normál módba, ekkor a mentés megtörténik feltéve, hogy a mezők tipusai stimmelnek; ha nem, akkor az előbbinek megfelelően nem lép ki szerkesztőmódból * nem szerkesztő módban az ALT + FÖL/LE gombokkal a kijelölt sort "magunkkal húzhatjuk", így a sorrendet is meg tudjuk változtatni A fókuszt speciálisan kezeli. Kétféle módosító is [[.functions:cor4#setfocus|megadható]], amellyek különböző módokban indítják a listát: **new** és **mod**. A **new** módosítóval jelezhetjük, hogy új sor beszúrásával induljon a lista; utána egyetlen szám állhat, ami megadja, hogy hányadik oszlopon legyen a fókusz (nullától kezdjük a számozást). A **mod** módosítóval jelezhetjük, hogy szerkesztő módban induljon a lista; utána két szám állhat vesszővel elválasztva: az első mondja meg az oszlopot, a második a sort (a sort az azonosítóval kell megadni) SetFocus('editablelist:new2'); // a lista új sor beszúrásával fog indulni és a 3. oszlopon lesz a fókusz SetFocus('editablelist:mod3,26'); // a lista a 26-os azonosítójú sor módosításával fog indulni és a 4. oszlopon lesz a fókusz === Tulajdonságok === * HOTKEY: egyetlen karakter, amely azt a gyorsbillentyűt adja meg, amelynek hatására a lista új sort visz fel * FIELDS: a táblázat fejlécének feliratai vesszővel elválasztva * LP_FIELDS: a táblázat fejlécének feliratai a [[.objects:CLangpack]] használatával * WIDTH: a táblázat oszlopainak szélessége vesszővel elválasztva * ROWS: a táblázat sorainak száma, a táblázat magassága ebből számolódik * CAPTION: a táblázat felirata * LP_CAPTION: a táblázat felirata a [[.objects:CLangpack]] használatával * COLORS: a táblázat sorainak szine illetve stílusa; a színek megadhatók a szokásos formában, illetve használható a [[#Label]] STYLE tulajdonságánál használható formula; ha mindkettőt meg szeretnénk adni (tehát a színt és a stílust is), akkor a két érték közé ":"-ot kell rakni (pl: a "red:BU" érték vörös hátterű félkövér aláhúzott sort eredményez); kétféleképpen kaphat értéket: - SetElementAttribute függvénnyel adhatunk neki egy tömböt, ahol az egyes elemek kulcsa a sor azonosítója, az értéke pedig a sor szine lesz - ha szöveget tartalmaz, akkor azt egy [[Datasource]] nevének tekinti, amiben az első oszlop lesz a sor azonosítója, a második pedig a szine * DATASOURCE: ha megadjuk, akkor az előtte [[.functions:cor4#adddatasource|definiált]] adatforrásból feltölti a listát; lényegesen gyorsabb, mintha ugyanezt handler-ből tennénk * GRID: ha igaz, akkor rácsozza a listát; alapérték: //false// * ACTIVECOLOR: beállíthatjuk vele a kijelölés szinét; a szín megadható a szokásos hexadecimális alakban, a szinek [[colors|nevével]] illetve a **default** értékkel, amely az alapértelmezett Windows színt állítja be (és persze ez az alapérték is) * INPUTTYPES: az egyes oszlopok tipusát adhatjuk meg vele. A tipusokat vesszővel elválasztva kell megadni ugyanúgy, mint a [[#textfield|textfield]] esetén (pl: "n,d") kivétel ez alól, ha a tipus megadásban szerepel zárójel, ekkor a következő két tipust különböztetjük meg a kezdőbetű alapján: * ha a tipus "s"-el kezdődik, akkor az utána zárójelek között szereplő felsorolás a megjelenő kiegészítős editbox elemeiként lesz felhasználva * ha a tipus "l"-el kezdődik, akkor a fentieknek megfelelően kerül felhasználásra a zárójelek között utána szereplő adat, de beíráskor csak ezek az elemek lesznek beírhatók (lásd: [[#completeedit|CompleteEdit LISTMODE tulajdonság]]) * READONLY: igaz érték esetén a lista nem szerkeszthető; alapérték: //false// * ENABLEEXCHANGE: igaz érték esetén az ALT fel / le gombokkal a kijelölt sor mozgatható (ha nincs szerkesztő módban); alapérték: //true// * ENABLENEWROW: igaz érték esetén engedélyezett új sor bevitele; alapérték: //true// * ENABLEDELROW: igaz érték esetén engedélyezett sor törlése; alapérték: //true// * DEFAULTS: az új sor beszúrásakor használt alapértékek vesszővel elválasztva, ha az érték "__autoinc", akkor a fölötte lévő értéknél eggyel nagyobb számot kapja vagy egyet; alapérték: //<üres string>// * STARTNEW: ha igaz, akkor úgy jön be az oldal, hogy egy új sor be van szúrva a listába és az új sor szerkesztés alatt áll * FONTSIZE: a lista betűméretét adja meg pixelben; alapérték: //8// * FONTNAME: a lista betűtipusát adja meg; alapérték a Windows alapértéke (általában MS Sans Serif) === Visszaadott érték === Az OperationData-ban visszaadott érték ugyanolyan formátumú, mint ahogyan a SetValue függvénnyel átadtuk neki (csak nyilván tartalmazza a módosításokat is). Az átadott indexet megőrzi, az új soroknak folytonosan új sorszámot ad. A [[.functions:cor4#getvalue|GetValue]] függvény által visszaadott érték egy olyan tömb, amelynek mindig három eleme van: * **mod**: a módosított sorok új értékeit tartalmazza olyan formában, ahogyan az OperationData-ba másolódnak be az adatok; * **del**: a törölt elemek azonosítói felsorolva egy tömbben; * **ins**: az újonnan beszúrt elemek értékeit tartalmazza olyan formában, ahogyan az OperationData-ba másolódnak be az adatok. === Értékadás === Így adhatók meg a lista elemei. Az átadott tömb egy két dimenziós tömb, ahol a kulcs az azonosító az elem pedig egy numerikusan indexelt tömb, amely rendre az egyes oszlopok értékeit tartalmazza. A kulcs ebben az esetben csak szám lehet! A [[.objects:cdatabase|CDatabase]] osztály QueryAsArray metódusa ilyen formában adja vissza az eredményt, ha a második paraméter **false** (ami az alapérték). === Események === OnChange ==== date,datetime ==== Dátum választó input elem. Jelen megvalósításban a két megnevezés egyenértékű, de ez a későbbiekben változhat. === Tulajdonságok === * FIELD1, FIELD2, FIELD3: az egyes mezők tipusa. Alapérték rendre: //year//, //month// illetve //daynumber//. Lehetséges értékei: * year: évszám * month: hónap számmal * monthname: hónap neve kiírva * shortmonthname: hónap neve rövidítve * daynumber: nap * STARTYEAR: kezdő év. Alapérték: aktuális év minusz 5 év * ENDYEAR: befejező év. Alapérték: aktuális év plusz 5 év * YEAR: kiválasztott év * MONTH: kiválasztott hónap * DAY: kiválasztott nap * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) === Visszatérési érték === Egy asszociatív tömb, melynek ''year'', ''month'' és ''day'' elemeiben rendre a kiválasztott évet, hónapot és napot kapjuk meg. === Értékadás === Kétféle módon adható érték: * asszociatív tömbbel, amelynek ''year'', ''month'' és ''day'' a hasonló nevű tulajdonságoknak adódnak értékül. * szöveges mezővel, amelyben egy ÉÉÉÉ-HH-NN alakú dátum adható meg (SQL formátum). Amennyiben a string tartalmaz szóközt, az utána szereplő részt levágja. Amennyiben a szöveg nem tartalmaz "-" jelet, akkor a hónap és a nap //1//-re fog beállítódni. Amennyiben csak egy "-" jel szerepel a nap alapértelmezés szerint //1//-re áll be. === Események === Nincs. ==== memo ==== Tetszőleges szöveg bevitelére alkalmas több soros beviteli mező. === Tulajdonságok === * VALUE: a mező értéke szövegesen * WIDTH: a mező minimális szélessége pixelben (alapérték: **200**) * HEIGHT: a mező minimális magassága pixelben (alapérték: **100**) * READONLY: hasonló hatása van, mint a DISABLED-nek, csak nem szürkül el és az egérrel ki is lehet másolni belőle; [[InLine]]; (alapérték: **false**) * LIST: csak a [[.functions:cor4#setelementattribute|SetElementAttribute]] függvénnyel módosítható! A megadott két dimenziós tömbből a shortcut lenyomásakor illetve a do::popup handlert lehet használva egy listát készít a következőképpen: - a lista cimkéi az egyes elemek első elemei - a listán ENTER-t nyomva a kiválasztott elem második eleme beszúródik és a lista bezáródik - a listán CTRL-ENTER-t nyomva a kiválasztott elem második eleme felülírja a memo eddigi tartalmát - a listát az ESC billentyűvel illetve bármely más komponensre kattintva zárhatjuk be * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) * WORDWRAP: törje-e a beírt sorokat (alapérték: **0**) * SCROLLBARS: milyen scrollbar legyen a szöveg mezőn. Az értéke egy szöveg, ami a következő lehet: * **vert**, **v**: függőleges gördítő sáv * **horiz**, **h**: vízszintes gördítő sáv; ha a WORDWRAP engedélyezve van, akkor nincs hatása * **both**, **b**: mindkét gördítős sáv megjelenik * egyébként nincs gördítő sáv; ez az alapérték is === Visszatérési értéke === A mező értéke szövegesen. === Értékadás === Egyenértékű a ''VALUE'' tulajdonság megváltoztatásával ([[.functions:cor4#setelementattribute|Lásd]]) === Események === Nincs. ==== checkbox ==== A nevének megfelelően egy checkbox-ot (jelölőnégyzetet) reprezentál. === Tuljadonságok === * CAPTION: felirat * HOTKEY: a checkbox gyorsbillentyűje * CHECKED: bepipált állapotban van, vagy sem * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) === Visszatérési érték === A visszatérési érték ''boolean'', amely csak akkor igaz, ha a jelölőnégyzet be volt pipálva. === Értékadás === Egyenértékű a ''CHECKED'' tulajdonság megváltoztatásával, azzal a kitétellel, hogy amennyiben az átadott érték **true**, akkor "1" értéket kap, ellenkező esetben "0" értéket. ([[.functions:cor4#setelementattribute|Lásd]]) === Események === [[events#onbuttonpress|OnButtonPress]] ==== radiobutton ==== A nevének rádiógombot reprezentál. === Tuljadonságok === * CAPTION: felirat * HOTKEY: a checkbox gyorsbillentyűje * CHECKED: bepipált állapotban van, vagy sem * SIZE: a használt font alapmérete, melyet a CTRL + / CTRL - billentyűkkel illetve a [[cor4app.ini#magnify|magnify]] beállítással még módosíthatunk (alapérték: **8**) * FONTNAME: a használt font neve * COLOR: a használt font színe (alapérték: **black**) === Visszatérési érték === A visszatérési érték ''boolean'', amely csak akkor igaz, ha a rádiógomb ki van jelölve. === Értékadás === Egyenértékű a ''CHECKED'' tulajdonság megváltoztatásával, azzal a kitétellel, hogy amennyiben az átadott érték **true**, akkor "1" értéket kap, ellenkező esetben "0" értéket. ([[.functions:cor4#setelementattribute|Lásd]]) === Események === [[events#onbuttonpress|OnButtonPress]] ==== horizline ==== Egy vízszintes vonalat rajzol. A magassága elhanyagolható (2 pixel). Vizuális elválasztásra használható. === Tulajdonságok === Nincs. === Visszatérési érték === Nincs. === Értékadás === NotImplemented hibaüzenetet eredményez. === Események === Nincs. ==== verticalline ==== Egy függőleges vonalat rajzol. A szélessége elhanyagolható (2 pixel). Vizuális elválasztásra használható. === Tulajdonságok === Nincs. === Visszatérési érték === Nincs. === Értékadás === NotImplemented hibaüzenetet eredményez. === Események === Nincs. ==== video ==== Egy videót játszik le. === Tulajdonságok === * FILENAME: a lejátszandó fájl neve * AUTOPLAY: automatikusan induló lejátszás === Visszatérési érték === Nincs. === Értékadás === NotImplemented hibaüzenetet eredményez. === Események === Nincs. ==== capture ==== Videórögzítésre alkalmas komponens. A rögzítés elindítása külsőleg lehetséges egy [[JumpTo|do::start]] "handler"-rel, a leállításra pedig a [[JumpTo|do::stop]] handlert lehet használni. Egy képet a [[JumpTo|do::snap]] handlerrel lehet készíteni. === Tulajdonságok === * WIDTH: az előnézeti kép szélessége. Alapérték: **320** * HEIGHT: az előnézeti kép magassága. Alapérték: **240** * FRAMERATE: a mentendő videó framerate-ája. Alapérték: **25** * FILENAME: a cél fájl neve. Alapérték: **c:\test.avi** * SNAPFILE: az egyedi kép(ek) neve(i); a név tartalmazhat %n paramétert, amit 1-től kezdve egy 5 jegyű sorszámmal helyettesít a rendszer. A formátumot a kiterjesztés alapján dönti el. Felismeri a **jpg**, **jpeg**, **gif** és **png** értékeket (ha a megfelelő library-k bele vannak [[VERSIONS|fordítva]] az alkalmazásba) Alapérték: **c:\test%n.jpg** * TEMPFILENAME: az ideiglenes fájl neve; minden esetben használ ideiglenes fájlt és csak a mentés befejezésekor másolja a ''FILENAME'' tulajdonságban megadott helyre. Alapérték: **\temp.avi** * VIDEOINPUT: a forrás eszköz neve; ha nem adjuk meg, akkor a ''UserConf'' tömbben próbálja megkeresni, ha ott sincs, de csak egy lehetséges forrás van, akkor azt választja, ha több van, akkor egy kis beállító lap jelenik meg az előnézeti kép helyén, amely a ''UserConf'' tömbbe menti az eredményt * VIDEOCODEC: a használt codec neve; ha **none**-t adunk meg, akkor tömörítetlenül ment; ha üres, akkor a ''VIDEOINPUT'' tulajdonságnál leírtak érvényesek === Visszatérési érték === Nincs. === Értékadás === NotImplemented hibaüzenetet eredményez. === Események === [[events#onchange|OnChange]] (a rögzítés befejeztével következik be) [[events#onbuttonpress|OnButtonPress]] (egyedi kép készítésekor következik be) === Példa === Screen XML: Process XML: