home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 13 / Flop_Magazin_13_1991_United_Electronic_Crazies_cs_Side_A_a.atr / okna.cap < prev    next >
Text File  |  2023-02-26  |  3KB  |  1 lines

  1. ¢OKNA¢¢Tento program simuluje techniku oken, kter* je k dispozici u(ivatel+m po')ta'+ @ady PC ╱nap@)klad v dBASE 4$.¢Strojov` program o d[lce 527 byte je '*ste'n% um)st%n na 6. str*nce pam%ti ╱248 B$ a '*ste'n% ve dvou @et%zov`ch prom%nn`ch M◆╱144$ a M1◆╱135$.¢¢Program umo(uje tyto funkce:¢¢1.Otev@en) okna¢P@em)st%n) obsahu obrazovky pod oknem do z*sobn)ku ╱horn) mez vyu@iteln[ pro Basic - tzv. RAMTOP je k tomu ⑤'eln% sn)(zena$.¢Vymaz*n) prostoru pro okno ╱p@)padn% inverzn) povrch$.¢Or*mov*n) prostoru okna.¢¢Otev@en) okna:¢X=USR╱ADR╱M◆$,SL⇩40✓RA,S,V$¢SL-sloupec lev[ho okraje okna¢RA-@*dek horn)ho okraje okna¢S-&)@ka okna¢V-v`&ka okna¢M*-li b`t okno inverzn), uprav) se program:¢POKE 1569,128¢zp%t na neinverzn):¢POKE 1569,0¢¢2.Zav@en) okna¢P@eps*n) p+vodn)ho obsahu ze z*sobn)ku na sv[ m)sto na obrazovce. Zav)r* v(dy naposledy otev@en[ okno.¢¢Zav@en) okna:¢X=USR╱1665$¢¢3.③irok` kurzor¢Na ur'nen` @*dek obrazovky vykresli nzv. &irok` pr+hledn` kurzor.¢Podle zvolen[ho po'tu @*dk+ potom umo(uje pohybovat t)mto &irok`m kurzorem po napsan[m menu nahoru a dol+ ╱rolov*n)m$ pomoc) kl*ves pro ovl*d*n) b%(n[ho kurzoru bez CONTROL.¢Po stisku RETURN z+stane &irok` kurzor na zvolen[m @*dku a ')slo vybran[ho @*dku je v pam%ti na adrese 23 pro dal&) v%tven) programu.¢¢③irok` kurzor:¢X=USR╱ADR╱M◆$⇩4,SL⇩40✓RA,S,V$¢VR=PEEK╱23$⇩1¢SL-sloupec lev[ho okraje kurzoru¢RA-horn) @*dek menu¢S-&)@ka kurzoru¢V-po'et @*dk+, po kter`ch roluje kurzor¢VR-')slo vybran[ho @*dku¢¢4.Vstup hodnoty do okna¢Umo(uje zad*vat vstupn) hodnoty programu p@)mo do okna. Tento po(adavek nelze splnit prost`m pou(it)m p@)kazu INPUT, proto(e je-li m)stem vstupu okno, z+st*v* v prom%nn[ prav` r*me'ek okna a text v pravo od okna. Program v @et%zci zajist):¢-p@evzet) byte z kl*vesnice¢-z*pis na obrazovku¢-z*pis do @et%zov[ prom%nn[, jej)( adresa je parametrem programu¢¢Vstup hodnoty do okna:¢X=USR╱ADR╱M1◆$,ADR╱K◆$,LEN╱K◆$$¢k◆-@et%zov* prom%nn*, do kter[ se na'te vstupn) hodnota. Pro p@evod na @)slo se pou(ije Basic funkce VAL. Pro vstup z kl*vesnice je vyu()v*n kan*l 1. Je-li pou()v*n ve vladtn)m programu, je nutno p@ed je vol*n)m instrukce USR naprogramovat je zav@en):¢CLOSE #1¢¢Pozn*mky¢P@ed pou(it)m oken je nutno vytvo@it chr*n%n` prostror ╱buffer$ nad horn) hranic) pam%ti vyu(iteln[ pro Basic. Pro ka(d[ ze sou'asn% otev@en`ch oken je t@eba rezervovat prostror o velikosti okna ╱tj. &)@ka kr*t v`&ka $⇩4 byty,tj. P=S✓V⇩4¢Hranice RAMTOP na adrese 106 ur'uje jen po'et str*nek pam%ti ╱n*sobku 256 byte$. Posunut) se tedy provede pro Atari Basic:¢POKE 106,160-INT╱P/256$⇩1¢Pro Turbo Basic:¢POKE 106,190-INT╱P/256$⇩1¢¢Pro p@)pad, (e p@edchoz) b%h programu byl p@eru&en tla')tkem RESET, je vhodn[ p@ed prvn)m pou(it)m oken naprogramovat nulovan) ')ta'e oken:¢POKE 1536,0¢¢Vyu(itm oke ve vlastn)ch programech lze zp@ehlednit funkci programu, a tak zjednodu&it konverzaci programu s u(ivatelem prost@ednictv)m menu.¢¢Demonstra'n) jen nazna'uje princip pou(it) oken a v`b%r pomoc) &irok[ho kurzoru. Nejsou proto naprogramov*ny v&echny funkce programu, kter[ jednotliv* menu nab)z).¢¢                                        Program napsal ing.Petr V*lka¢                                         Program upravil a p@epsal¢                                                      Pavel Marek¢