18.4.5. ICSCRIO Funkce: Čtení, zápis a rušení znaků na stínítku a jejich atributů. Způsob volání: CALL 'ICSCRIO' USING funkce parametr pracovní-položka Význam: 1) Položka funkce musí obsahovat číselný kód požadované operace. Musí jít o numerickou položku s popisem PIC 9(4) COMP. Hodnoty v ní obsažené mají následující význam: 0 čtení znaků ze stínítka 1 zápis znaků na stínítko 2 čtení atributů ze stínítka 3 zápis atributů na stínítko 4 rušení znaků na stínítku 5 rušení atributů na stínítku 2) Položka parametr musí být skupinová a musí mít následující strukturu: - položka PIC 9(4) COMP obsahující délku dat, která mají být zapisována, čtena nebo jinak zpracována, - položka PIC 9(4) COMP určující počáteční pozici na stínítku, Číslo 1 znamená levý horní roh stínítka, 81 první znak na druhém řádku atd. - položka PIC 9(4) COMP určující první byte v pracovní položce, který má být zpracován, tj. ze kterého nebo do kterého budou přenášena data. Prvnímu bytu odpovídá číslo 1, druhému číslo 2, atd. 3) Pracovní položka může mít v podstatě jakýkoliv popis, je ovšem mít na zřeteli hlavně její délku. Ta musí být alespoň tak dlouhá jak je uvedeno v první položce skupinové položky, která je uvedena jako druhý parametr. Pokud bude kratší, může se stát, že při čtení dat dojde k neplánovanému přepsání položek, které jsou v paměti umístěny za ní, čímž se průběh programu může stát nedefinovatelným. Tato položka se používá jen při funkcích 0 až 3, musí být však uvedena vždy. 4) Čtení nebo zápis znaků (funkce 0, 1) neovlivňují atribut znaků na stínítku a podobně čtení nebo zápis atributu (funkce 2, 3) ponechává znaky na stínítku. Při zápisu je tedy nutné zapsat vlastní znaky, které chceme zobrazit a následným zápisem atributů je opatřit požadovaným barevným provedením. Celou věc lze zařídit i opačným sledem událostí, nejdřív můžeme zapsat atributy a pak vlastní znaky. 5) Rušení znaku ze stínítka (4) se provádí tak, že do požadované pozice se zapíše znak mezera. Při zápisu se uplatní ten atribut, který byl posledně nastaven. U funkce rušení atributu (5) je důležitou okolností, zda je nebo není zapnut uživatelský atribut. Je-li uživatelský atribut zapnut, budou atributy v dané oblasti na stínítku nahrazeny platným uživatelským atributem, Není-li uživatelský atribut zapnut, bude jako barva pozadí použita černá a jako barva popředí barva světlešedá.