utermchr JEDNOTKA PRO PRÁCI SE ZNAKOVÝM TERMINÁLEM Příručka uživatele a programátora



Podobné dokumenty
udspt10r JEDNOTKA IMPLEMENTUJÍCÍ DISPLEJ VZDÁLENÉ VARIANTY TERMINÁLU TERM10 Příručka uživatele a programátora

umenugr JEDNOTKA PRO VYTVÁŘENÍ UŽIVATELSKÝCH GRAFICKÝCH MENU Příručka uživatele a programátora

uaterm JEDNOTKA PRO PRÁCI S ABSTRAKTNÍM TERMINÁLEM Příručka uživatele a programátora

uterm03r JEDNOTKA IMPLEMETUJÍCÍ VZDÁLENÝ TERMINÁL TERM03 Příručka uživatele a programátora

usimt03r JEDNOTKA PRO SIMULACI VZDÁLENÉ VARIANTY TERMINÁLU TERM03 NA POČÍTAČI PC Příručka uživatele a programátora

usimt03 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM03 NA PC Příručka uživatele a programátora

usimt01 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM01 NA PC Příručka uživatele a programátora

usimt10 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM10 NA PC Příručka uživatele a programátora

PCKEYB JEDNOTKA PRO OBSLUHU KLÁVESNICE TYPU PC AT. Příručka uživatele a programátora

uioct01 JEDNOTKA PRO MĚŘENÍ FREKVENCE (OTÁČEK) DESKOU IOCT01 Příručka uživatele a programátora

uioflex JEDNOTKA PRO KONFIGURACI DESKY IOFLEX01 Příručka uživatele a programátora

umenuchr JEDNOTKA PRO VYTVÁŘENÍ ZNAKOVÝCH UŽIVATELSKÝCH MENU Příručka uživatele a programátora

Software pro grafické terminály TERM10 a TERM03

upct01 SIMULÁTOR TERMINÁLU TERM01 NA POČÍTAČI PC Příručka uživatele a programátora

LZ77 KNIHOVNA PRO KOMPRESI A DEKOMPRESI DAT POMOCÍ ALGORITMU LZ77. Příručka uživatele a programátora

uioadda1 JEDNOTKA PRO OVLÁDÁNÍ DESEK IOADDA01, IOADDA02 A IODA01 Příručka uživatele a programátora

Bitmaps SPRÁVCE BITMAP A POMOCNÉ FUNKCE PRO PRÁCI S BITMAPAMI. Příručka uživatele a programátora

TEDrv OVLADAČE KLÁVESNICE, MYŠI A DISPLEJE EMULÁTORU TERMINÁLU PRO MS WINDOWS. Příručka uživatele a programátora

TKeypad KNIHOVNY DEFINIC KLÁVESNIC PRO TERMINÁLY TOUCH. Příručka uživatele a programátora

urtotemp JEDNOTKA PRO PŘEVODY ODPORU ČIDLA NA TEPLOTU Příručka uživatele a programátora

DiskIO JEDNOTKA PRO PRÁCI S RAM, ROM A FLASH DISKY. Příručka uživatele a programátora

uflx2pos JEDNOTKA PRO PRÁCI S INKREMENTÁLNÍMI ČIDLY V DESCE IOFLEX02 Příručka uživatele a programátora

ucomm JEDNOTKA ZPROSTŘEDKOVÁVAJÍCÍ SLUŽBY BIOSU KITV40 PRO SÉRIOVOU KOMUNIKACI Příručka uživatele a programátora

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

VY_32_INOVACE_08_2_04_PR

G240x128 a G128x64 JEDNOTKY IMPLEMENTUJÍCÍ GRAFICKÉ OPERACE VE VIDEOPAMĚTI. Příručka uživatele a programátora

Nastavení konstant regulátoru PID

Alcohol Meter - uživatelská příručka

Popis funkcí a parametrů programu. Reliance External communicator. Verze 1.5.0

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Sada 1 - Základy programování

Cvičení 2. Přesměrování vstupu a výstupu. Posloupnost příkazů. Příkazy pro informaci o uživatelích

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

NÁVOD K OVLÁDÁNÍ PÁLÍCÍHO STROJE A ŘÍDÍCÍHO SYSTÉMU RIPAST 401

udispt10 JEDNOTKA IMPLEMENTUJÍCÍ DISPLEJE TERMINÁLU TERM10 Příručka uživatele a programátora

Nápověda aplikace Patron-Pro

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

ALGORITMIZACE A PROGRAMOVÁNÍ

Implementace LL(1) překladů

Semestrální práce 2 znakový strom

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

dovolují dělení velkých úloh na menší = dekompozice

PROGRAM RP45. Vytyčení podrobných bodů pokrytí. Příručka uživatele. Revize Pragoprojekt a.s

LdrLib KNIHOVNY PRO TVORBU ZAVADĚČE (LOADERU) ŘÍDICÍCH APLIKACÍ. Příručka uživatele a programátora

Maturitní otázky z předmětu PROGRAMOVÁNÍ

APT110. Prùmyslový terminál. Technická pøíruèka. verze Aplikace Mikroprocesorové Techniky

Datové typy a struktury

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

Konstruktory a destruktory

Téma: Arkanoid. X36SOJ Strojově orientované jazyky Semestrální práce. Vypracoval: Marek Handl Datum: červen 2006

KOMPLEXNÍ VZDĚLÁVÁNÍ KATEDRA STROJNÍ SPŠSE a VOŠ LIBEREC. Kapitola 01 - Ovládací panel a tlačítka na ovládacím panelu

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory

Programovací jazyk Pascal

LibVUtils UTILITY PRO BALÍK KNIHOVEN LIBV. Příručka uživatele a programátora

Práce s textovými proměnnými v DetStudiu

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

E+034 = ; = e E+034

Beznárazové přepnutí aplikace

Ignijet_2007 Externí monitor

VAR-NET INTEGRAL. verze 0.1. Manuál používání docházkovému terminálu

ChnMonitor PROGRAM PRO MONITOROVÁNÍ KOMUNIKAČNÍ LINKY S VOLBOU PROTOKOLŮ I FYZICKÉHO PŘENOSU. Příručka uživatele a programátora

KitKing POPIS VIZUALIZAČNÍCH KNIHOVEN PRO ŘÍDICÍ SYSTÉM KIT. Příručka uživatele a programátora

Komunikace AMREG s řídicími systémy AMiT (DB-Net)

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

NumToStr JEDNOTKA PRO PŘEVODY ČÍSEL, DATUMU A ČASU A JINÝCH DATOVÝCH STRUKTUR NA ŘETĚZCE A ZPĚT. Příručka uživatele a programátora

= knihovna prostředků pro lepší práci s textovou obrazovkou, klávesnicí a generátorem zvuků

Popis programu EnicomD

ChnMonitor PROGRAM PRO MONITOROVÁNÍ KOMUNIKAČNÍ LINKY S VOLBOU PROTOKOLŮ I FYZICKÉHO PŘENOSU. Příručka uživatele a programátora

VISUAL BASIC. Práce se soubory

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Práce se soubory. Základy programování 2 Tomáš Kühr

Reliance 3 design OBSAH

- jak udělat konstantu long int: L long velka = 78L;

NPRG030 Programování I, 2015/16 1 / :25:32

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Textové soubory

COUDP KNIHOVNA PROTOKOLU UDP. Příručka uživatele a programátora

Vizualizace a evidence výroby a prostojů

NPRG030 Programování I, 2010/11

1. ESO9 MAJETEK ZÁKLADNÍ VLASTNOSTI DOPORUČENÝ HW... 3

WebmMenu slouží pro editaci a management položek menu. Pro další informace si prosím vyberte jedno z následujících témat:

Manuál Redakční systém

Návod na použití portálu 802

Úvod do programování. Lekce 1

Instrukce pro montáž, obsluhu a údržbu

NPRG030 Programování I, 2016/17 1 / :58:13

Proměnné a parametry. predn_08.odt :00:38 1

OBSAH OBSAH ZÁKLADNÍ INFORMACE...3

POKLADNÍ DISPLEJ LCD. hotline: strana 1

Sada 1 - Základy programování

Rámcový manuál pro práci s programem TopoL pro Windows

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Manuál k ovládání aplikace INFOwin.

Základy programovacího jazyka Turbo Pascal

Uživatelský manuál aplikace. Dental MAXweb

Návod k obsluze trenažéru

Více o konstruktorech a destruktorech

CommonTestsAndGames03

Transkript:

utermchr JEDNOTKA PRO PRÁCI SE ZNAKOVÝM TERMINÁLEM Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz Verze dokumentu 1.10

utermchr Informace v tomto dokumentu byly pečlivě zkontrolovány a SofCon věří, že jsou spolehlivé, přesto SofCon nenese odpovědnost za případné nepřesnosti nebo nesprávnosti zde uvedených informací. SofCon negarantuje bezchybnost tohoto dokumentu ani programového vybavení, které je v tomto dokumentu popsané. Uživatel přebírá informace z tohoto dokumentu a odpovídající programové vybavení ve stavu, jak byly vytvořeny a sám je povinen provést validaci bezchybnosti produktu, který s použitím zde popsaného programového vybavení vytvořil. SofCon si vyhrazuje právo změny obsahu tohoto dokumentu bez předchozího oznámení a nenese žádnou odpovědnost za důsledky, které z toho mohou vyplynout pro uživatele. Datum vydání: 16.05.2003 Datum posledního uložení dokumentu: 16.05.2003 (Datum vydání a posledního uložení dokumentu musí být stejné) Upozornění: V dokumentu použité názvy výrobků, firem apod. mohou být ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků. Copyright 2003, SofCon spol. s r.o., Milan Čečrdle

utermchr Obsah : 1.O dokumentu 5 1.1. Revize dokumentu 5 1.2. Účel dokumentu 5 1.3. Rozsah platnosti 5 1.4. Související dokumenty 5 2.Termíny a definice 5 3.Úvod 6 4.Popis konstant a typů 6 5.Popis objektu ttermchr 6 5.1. Pole 7 5.2. Metody 8 5.2.1. Init constructor 8 5.2.2. Done destructor 8 5.2.3. KeyPressed 8 5.2.4. ReadKey 8 5.2.5. Tick 8 5.2.6. DTick_GetDisplayData 9 5.2.7. ShowDispCursor 9 5.2.8. HideDispCursor 9 5.2.9. TestDispCursor 9 5.2.10. GetWindow 9 5.2.11. SetWindow 9 5.2.12. GetWindowE 9 5.2.13. SetWindowE 9 5.2.14. GetWindowH 10 5.2.15. SetWindowH 10 5.2.16. ClrScr 10 5.2.17. GotoXY 10 5.2.18. RolUp 10 5.2.19. MoveRi 10 5.2.20. MoveLe 10 5.2.21. IncXY 10 5.2.22. DecXY 11 5.2.23. WhereX 11 5.2.24. WhereY 11 5.2.25. UkBuff 11 5.2.26. ReadChar 11 5.2.27. ReadString 11 5.2.28. ClrRow 11 5.2.29. ClrEnd 11 5.2.30. ClrRight 12 5.2.31. ClrLeft 12 5.2.32. SaveTerminalScr 12 5.2.33. LoadTerminalScr 12 5.2.34. GetTerminalSize 12 5.2.35. WriteS 12 5.2.36. WriteSXY 13 5.2.37. WriteLnS 13

utermchr 5.2.38. WriteLnSXY 13 5.2.39. ReadLnH 14 5.2.40. ReadLn 14 5.2.41. ReadLnResult 14 5.2.42. ReadLnReady 14 5.2.43. RTick 14 5.2.44. Help 14 5.2.45. HelpResult 15 5.2.46. HelpReady 15 5.2.47. HTick 15 5.2.48. DisplayHelp 15 5.2.49. UpDnEnable 15 5.2.50. UpDnDisable 16

1. O dokumentu 1.1. Revize dokumentu Verze dokumentu Verze SW Autor Datum vydání 1.00 1.XX Če První vydání Popis změn 1.10 2.XX Tu 16.05.2003 Úprava dokumentu dle ISO9000. Doplněná proměnná fcharbufempty. Doplněný popis funkce WriteLnSXY. 1.2. Účel dokumentu Tento dokument slouží jako popis knihovny jednotky pro práci se znakovým terminálem utermchr. 1.3. Rozsah platnosti Určen pro programátory a uživatele programového vybavení SofCon. 1.4. Související dokumenty Pro čtení tohoto dokumentu je potřeba seznámit se s manuálem ChnVirt a uaterm. Popis formátu verze knihovny a souvisejících funkcí je popsán v manuálu LibVer. 2. Termíny a definice Používané termíny a definice jsou popsány v samostatném dokumentu Termíny a definice. file:utermchr_v0110 16.05.2003 v1.10 5 / 16

3. Úvod Jednotka utermchr obsahuje jediný objekt ttermchr, který je potomkem objektu uaterm, objektu implementující abstraktní terminál. ttermchr definuje jeho abstraktní metody a rozšiřuje o metody pracující se znakovým terminálem, jako je mazání a výpis na displej, ukládání a načítání obsahu displeje, pohyb kurzoru po displeji. Zděděné metody jsou popsány v dokumentaci k jednotce uaterm. 4. Popis konstant a typů cverno = např. $0251; { BCD formát } cver = např. '02.51,07.08.2003'; Číslo verze jednotky v BCD tvaru a v textové podobě včetně datumu změny. Jednotka deklaruje několik konstant určujících stav automatu pro editaci a stav automatu pro výpis nápovědy : S_ReadLnReady = $0000; { je k dispozici string } S_ReadLnBegin = $0001; { počátek Read } S_ReadLnNoReady = $0002; { není ready } S_ReadLnHelp = $0003; { je Help } S_HelpReady = $0000; { je ukončen help } S_HelpBegin = $0001; { počátek help } S_HelpNoReady = $0002; { help není dokončen } 5. Popis objektu ttermchr Objekt ttermchr je potomek objektu taterm a definuje především jeho abstraktní metody jako Tick a DTick_GetDisplayData, které zajišťují předávání dat z klávesnice do bufferu klávesnice a z bufferu displeje na displej, a metody, které pracují s fyzickým znakovým displejem, dále metodu Keypressed a Readkey pracující s bufferem klávesnice a metodu Done. patermchr = ^ttermchr; ttermchr = object(taterm) file:utermchr_v0110 16.05.2003 v1.10 6 / 16

5.1. Pole Všechny popisované proměnné slouží výhradně pro vnitřní použití a uživatel by je neměl využívat ani měnit. Proměnná EditEnd je množina znaků pro ukončení editace. Implicitní nastavení je [zcr, zesc]. EditEnd :tsetchar; Proměnná fltickexecute je nastavena na true po dokončení Keyb^.Tick a informuje tak proces "Menu" o sejmutí stavu klávesnice. fltickexecute :Boolean; Proměnná flins obsahuje informaci o režimu vkládání-přepis. Implicitní nastavení je true = vkládání. flins :Boolean; Proměnná TermCharSize vlastní údaje o velikosti znakového okna terminálu. TermCharSize :tcharrect; Proměnná DispCursorWin vlastní informace o pozici kurzoru ve znakovém okénku terminálu. DispCursorWin :tcharwin; Proměnná DispShowCursor obsahuje informaci o viditelnosti kursoru. Implicitní nastavení je false = kursor neviditelný. DispShowCursor okna. WinAct flesc fledit :Boolean; Proměnná WinAct určuje velikost a pozice kurzoru aktuálního znakového :tcharwin; Proměnná flesc obsahuje stav automatu pro dekódování ESC sekvencí. :byte; Proměnná fledit určuje, jestli se text bude při editaci rolovat. :Boolean; Proměnná flupdn určuje význam kurzorových kláves při editaci. Při flupdn=true se při editaci vyměňují jednotlivé znaky na pozici kursoru při stlačení Up, nebo Dn. Tento mód se používá u terminálů s omezeným rozsahem klávesnice např. Term06 a Term05. flupdn flterm06 :Boolean; Proměnná flterm06 určuje specifické chování pro Term06. :Boolean; Proměnná edtype určuje typ právě editovaného řetězce. Má význam pro editaci v režimu flupdn=true. edtype TermCharBuf :tedit; Proměnná TermCharBuf je ukazatel na znakový buffer terminálu. :pbuf; Proměnná TermCharBufSize velikost paměti alokované TermCharBuf^. TermCharBufSize :word; Proměnná dtab určuje velikost tabelátoru. dtab :byte; file:utermchr_v0110 16.05.2003 v1.10 7 / 16

Proměnná fcharbuffempty je nastavená na true pokud je prázdný znakový buffer terminálu, tj. obsahuje samé mezery. fcharbuffempty :boolean; Proměnná TimeOutKeyb určuje timeout pro klávesnici v milisekundách. Po vypršení timeoutu se do bufferu klávesnice vloží string TimeOutStr. Pro hodnotu TimeOutKeyb = -1 se nebude vypršení timeoutu kontrolovat. Proměnná není veřejná. TimeOutKeyb :longint; 5.2. Metody 5.2.1. Init constructor constructor Init(NewDisp:pADisp;NewKeyb:pAKeyb;NewChnTerm:pChnVirt; NewChnRecBuf:pointer); Konstruktor inicializuje abstraktní terminál taterm voláním taterm.init a inicializuje pole objektu, např. základní okna displeje a ukončovací znaky editace a helpu. Parametrem NewDisp je předáván ukazatel na instanci objektu displeje, parametrem NewKeyb ukazatel na instanci objektu klávesnice, parametrem NewChnTerm ukazatel na instanci objektu komunikačního kanálu terminálu a parametrem NewChnRecBuf ukazatel na buffer alokovaný pro příjem znaků z komunikačního kanálu. 5.2.2. Done destructor destructor Done; virtual; Destruktor uvolňuje buffer terminálu pro editaci, metoda volá taterm.done. 5.2.3. KeyPressed function KeyPressed: Boolean; virtual; Metoda vrací true, je-li ve vyrovnávacím bufferu klávesnice k dispozici znak. Mimo to kontroluje vypršení timeoutu TimeOutKeyb a v případě kladné odezvy se smaže buffer klávesnice a naplní se stringem TimeOutStr. 5.2.4. ReadKey function ReadKey: Char; virtual; Metoda vybere z vyrovnávacího bufferu klávesnice znak a dodá jej jako svou funkční hodnotu. Je-li buffer prázdný, navrátí znak #$0. Ve svém těle volá metodu Keyb^.Readkey, poté přiřadí fltickexecute true. 5.2.5. Tick procedure Tick; virtual; Metoda Tick je volána periodicky z kontextu procesu "TICK. Volá Keyb^.Tick, čímž se zabezpečí pravidelný přenos znaků z klávesnice do vyrovnávacího bufferu a Disp^.Tick, zajišťující obnovování displeje. file:utermchr_v0110 16.05.2003 v1.10 8 / 16

Metoda se modifikuje podle proměnné flupdn. Při flupdn=true se při editaci vyměňují jednotlivé znaky na pozici kursoru při stlačení Up, nebo Dn podle typu editované proměnné, který je uložený v proměnné edtype. Tento mód se používá u terminálů s omezeným rozsahem klávesnice např. Term06 a Term05. 5.2.6. DTick_GetDisplayData function ttermchr.dtick_getdisplaydata:boolean; Touto metodou požaduje objekt displeje všechna data od objektu terminálu. V této abstraktní verzi je to pouze znakový buffer a pozice kurzoru. Je volána z kontextu procesu "Tick". 5.2.7. ShowDispCursor procedure ShowDispCursor; virtual; Metoda nastaví kurzor na viditelný. 5.2.8. HideDispCursor procedure HideDispCursor; virtual; Metoda nastaví kurzor na neviditelný. 5.2.9. TestDispCursor function TestDispCursor : boolean; virtual; Metoda vrátí nastavení kurzoru. 5.2.10. GetWindow procedure GetWindow(var X,Y,W,H:Byte); virtual; Metoda GetWindow vrací v parametrech X, Y, W, H souřadnice a velikost aktuálního okna. 5.2.11. SetWindow procedure SetWindow(X,Y,W,H:Byte); virtual; Metoda SetWindow nastaví podle parametrů X, Y, W, H souřadnice a velikost aktuálního okna. 5.2.12. GetWindowE procedure GetWindowE(var X,Y,W,H:Byte); virtual; Metoda GetWindowE vrací v parametrech X, Y, W, H souřadnice a velikost editačního okna. 5.2.13. SetWindowE procedure SetWindowE(X,Y,W,H:Byte); virtual; file:utermchr_v0110 16.05.2003 v1.10 9 / 16

Metoda SetWindowE nastaví podle parametrů X, Y, W, H souřadnice a velikost editačního okna. 5.2.14. GetWindowH procedure GetWindowH(var X,Y,W,H: Byte); virtual; Metoda GetWindowH vrací v parametrech X, Y, W, H souřadnice a velikost okna pro výpis nápovědy. 5.2.15. SetWindowH procedure SetWindowH(X,Y,W,H: Byte); virtual; Metoda SetWindowH nastaví podle parametrů X, Y, W, H souřadnice a velikost okna pro výpis nápovědy. 5.2.16. ClrScr procedure TestDispCursor; virtual; Metoda smaže aktuální okno displeje. 5.2.17. GotoXY procedure GotoXY(X, Y : byte); virtual; Metoda nastaví kurzor na souřadnice X, Y v aktuálním okně displeje. 5.2.18. RolUp procedure RolUp; virtual; Metoda odroluje aktuální okno obrazovky o řádek nahoru. 5.2.19. MoveRi procedure MoveRi(X, Y: Byte); Metoda vloží do místa X,Y v aktivním okně mezeru a posune veškerý další text v okně o jeden znak vpravo. Znak z poslední pozice aktuálního okna je ztracen. 5.2.20. MoveLe procedure MoveLe(X, Y: Byte); Metoda zruší v aktivním okně znak v pozici X,Y a posune veškerý další text v okně o jeden znak vlevo. Poslední pozice v okně je doplněna mezerou. 5.2.21. IncXY function IncXY(var X, Y: Byte):Boolean; virtual; Metoda IncXY vypočte souřadnice následující pozice od pozice X,Y v aktuálním okně. Metoda respektuje znakový rastr a velikost okna. Metoda vrací true je-li vypočtená pozice mimo hranice aktuálního okna. file:utermchr_v0110 16.05.2003 v1.10 10 / 16

5.2.22. DecXY function DecXY(var X, Y: Byte):Boolean; virtual; Metoda DecXY vypočte souřadnice předchozí pozice od pozice X,Y v aktuálním okně. Metoda respektuje znakový rastr a velikost okna. Metoda vrací true je-li vypočtená pozice mimo hranice aktuálního okna. 5.2.23. WhereX function WhereX:Byte; virtual; Metoda WhereX vrací jako funkční hodnotu horizontální pozici kursoru v aktuálním okně. 5.2.24. WhereY function WhereY:Byte; virtual; Metoda WhereY vrací jako funkční hodnotu vetikální pozici kursoru v aktuálním okně. 5.2.25. UkBuff function UkBuff(X,Y: Word): Word; virtual; Metoda vypočte aktuální lineární pozici ve znakovém bufferu TermCharBuf^ jako funkci pozice X,Y v aktuálním okně. 5.2.26. ReadChar function ReadChar:Char; virtual; Metoda ReadChar vrací jako funkční hodnotu znak ležící pod kursorem v aktuálním okně. 5.2.27. ReadString function ReadString:String; virtual; Metoda ReadString vrací jako funkční hodnotu řetězec znaků ležících za kursorem do konce řádku v aktuálním okně. Koncové mezery jsou z výstupního řetězce vypuštěny. 5.2.28. ClrRow procedure ClrRow; virtual; Metoda ClrRow smaže v aktuálním okně řádek na kterém leží kursor. 5.2.29. ClrEnd procedure ClrEnd; virtual; Metoda ClrEnd smaže v aktuálním okně řádek na kterém leží kursor a všechny následující řádky až do konce aktuálního okna. file:utermchr_v0110 16.05.2003 v1.10 11 / 16

5.2.30. ClrRight procedure ClrRight; virtual; Metoda ClrRight smaže v aktuálním okně znak pod kursorem a všechny následující znaky až do konce řádku. 5.2.31. ClrLeft procedure ClrLeft; virtual; Metoda ClrLeft smaže v aktuálním okně znaky od začátku řákdku, na kterém leží kursor, až po znak pod kursorem. 5.2.32. SaveTerminalScr procedure SaveTerminalScr; virtual; Metoda uloží obsah aktuálního okna obrazovky terminálu. Používá se před výpisem nápovědy. 5.2.33. LoadTerminalScr procedure LoadTerminalScr; virtual; Metoda obnoví obsah aktuálního okna obrazovky terminálu uložený metodou SaveTerminalScr. 5.2.34. GetTerminalSize procedure GetTerminalSize(var W,H: Byte); virtual; Metoda GetTerminalSize vrátí v parametrech W, H šířku a výšku znakového rastru terminálu. 5.2.35. WriteS procedure WriteS(S : string); virtual; Metoda vypíše text předaný v parametru S od aktuální pozice kurzoru v aktuálním okně displeje. Text předávaný metodě může obsahovat Esc sekvence a řídící znaky. Řídící znaky a Esc sekvence jsou interpretovány následujícím způsobem: znak, Esc sekvence zdel zbs zht význam Vymaže znak pod kursorem a všechny znaky za kursorem posune o jednu pozici do prava. Na poslední místo je doplněn znak mezera. Vymaže znak o jednu pozici před kursorem a všechny znaky za kursorem posune o jednu pozici doprava. Na poslední místo je doplněn znak mezera. Doplní příslušný počet mezer k nejbližší pozici tabulátoru. V případě potřeby text odroluje. file:utermchr_v0110 16.05.2003 v1.10 12 / 16

znak, Esc sekvence zlf zcr zdn zri zle zup zhome zend zpgup zpgdn zclrscr zins zesc Y <XPos> <Ypos> význam Přesune výpis na následující řádek. V případě potřeby text odroluje. Přesune výpis na začátek řádku. Přesune výpis na následující řádek. Přesune o znak doprava. Přesune o znak doleva. Přesune výpis na předchozí řádek. Přesune výpis na začátek řádku. Přesune výpis na konec řádku. Je-li aktuální pozice výpisu za aktuálním oknem přesune výpis na první řádek. Je-li aktuální pozice výpisu za aktuálním oknem přesune výpis na poslední znak aktuálního okna. Vymaže okno a přesune výpis na začátek. Změní režim vkládání-přepis. Přesune výpis na pozici <XPos>,<YPos>, kde <Xpos> a <Ypos> jsou znaky, jejichž ordinální hodnota udává souřadnice výpisu. 5.2.36. WriteSXY procedure WriteSXY(X, Y : byte; S : string); virtual; Metoda WriteSXY přesune kursor na pozici X, Y a vypíše text předaný parametrem S v aktuálním okně displeje stejně jako metoda WriteS. 5.2.37. WriteLnS procedure WriteLnS(S: String); virtual; Metoda WriteLnS vypíše text předaný v parametru S od aktuální pozice kurzoru v aktuálním okně displeje obdobně jako metoda WriteS a přesune kursor na začátek následujícího řádku. 5.2.38. WriteLnSXY procedure WriteLnSXY(X, Y : byte; S: String); virtual; Metoda WriteLnSXY přesune kurzor na pozici X, Y a vypíše text předaný v parametru S v aktuálním okně displeje obdobně jako metoda WriteS a přesune kursor na začátek následujícího řádku. file:utermchr_v0110 16.05.2003 v1.10 13 / 16

5.2.39. ReadLnH procedure ReadLnH(var S : string; H : string); virtual; Metoda ReadLnH nastaví na počátek automat pro editaci a voláním metody RTick provede první krok automatu. Další kroky automatu se provádí voláním metody RTick prostřednictvím metod ReadLnResult a ReadLnReady z kontextu procesu "Menu". Parametr S představuje editovaný string a parametr H obsahuje string pro výpis nápovědy. 5.2.40. ReadLn procedure ReadLn(var S: String); virtual; Metoda ReadLn pracuje stejně jako metoda ReadLnH s tím rozdílem že řetězec pro výpis nápovědy je prázdný. 5.2.41. ReadLnResult function ReadLnResult: Char; virtual; Metoda ReadLnResult provede voláním metody RTick krok automatu pro editaci a v případě, že je editace ukončena navrátí hodnotu ukončovacího znaku. V opačném případě navrací hodnotu #$0. 5.2.42. ReadLnReady function ReadlnReady:Word; virtual; Metoda ReadLnReady provede voláním metody RTick krok automatu pro editaci a jako funkční hodnotu vrací stav automatu. 5.2.43. RTick procedure RTick; virtual; Metoda RTick provede krok automatu pro editaci. V prvním kroku automatu je uloženo aktuální okno a jako aktuální okno nastaveno editační okno, kam je vypsán editační řetězec nastavený metodou ReadLn nebo ReadLnH. V dalších krocích jsou odebírány znaky z klávesnice a vypisovány na aktuální pozici kursoru. Znaky jsou do okna vpisovány metodou WriteS. Význam řídících znaků přijatých z klávesnice (zle, zri, zup, zdn, zcr...) je popsán v popisu metody WriteS. Je-li z klávesnice odebrán znak pro vyvolání nápovědy je vypsána nápověda voláním metod pro obsluhu automatu výpisu nápovědy (Help, HelpReady, HelpResult, Htick). Je-li z klávesnice odebrán některý znak z množiny EditEnd (znak pro ukončení editace) je automat ukončen a aktualizován editační řetězec. Metoda RTick je chráněna proti vícenásobnému vstupu z kontextu více procesů. 5.2.44. Help procedure Help(H: String); virtual; file:utermchr_v0110 16.05.2003 v1.10 14 / 16

Metoda Help nastaví na počátek automat pro výpis nápovědy a voláním metody HTick provede první kok automatu (výpis nápovědy). Parametr H obsahuje text nápovědy, který je vypsán do přednastaveného okna Help. Další kroky automatu (čekání na ukončovací znak nápovědy) jsou prováděny metodou HTick volanou prostřednictvím metod HelpResult a HelpReady z kontextu procesu "Menu". 5.2.45. HelpResult function HelpResult: Char; virtual; Metoda HelpResult provede voláním metody HTick krok automatu pro výpis nápovědy a v případě, že je nápověda ukončena navrací hodnotu ukončovacího znaku. V opačném případě navrací hodnotu #$0. 5.2.46. HelpReady function HelpReady:Word; virtual; Metoda HelpReady provede prostřednictvím volání metody HTick krok automatu pro výpis nápovědy a jako funkční hodnotu vrátí jeho stav. 5.2.47. HTick procedure HTick; virtual; Metoda HTick provede krok automatu pro výpis nápovědy. V prvním kroku automatu je uloženo aktuální okno, metodou SaveTerminalScr je uložen obsah aktuálního okna, jako aktuální okno je nastaveno okno pro výpis nápovědy a do něj je vypsán řetězec nápovědy nastavený metodou Help nebo ReadLnH. V dalších krocích jsou odebírány znaky z klávesnice. Je-li z klávesnice odebrán některý znak z množiny znaků pro ukončení nápovědy (zcr, zesc) je automat ukončen a obnoveno zobrazení v původním okně. Metoda HTick je chráněna proti vícenásobnému vstupu z kontextu více procesů. 5.2.48. DisplayHelp procedure DisplayHelp(var H:string); virtual; Metoda DisplayHelp vypíše na displej nápovědu. Je volána metodou Htick. Parametr H obsahuje řetězec s textem nápovědy. 5.2.49. UpDnEnable procedure UpDnEnable; Metoda UpDnEnable změní význam kurzorových kláves při editaci. Šipky nahoru/dolů budou měnit znak na pozici kurzoru podle typu editovaného řetězce. Typ je udáván parametrem edtype. Parametr edtype nastavují funkce knihovny UmenuChr automaticky. file:utermchr_v0110 16.05.2003 v1.10 15 / 16

5.2.50. UpDnDisable procedure UpDnDisable; Metoda UpDnDisable vrátí význam kurzorových kláves do výchozího stavu. file:utermchr_v0110 16.05.2003 v1.10 16 / 16