CZ62098A3 - Pomůcka pro čtení - Google Patents

Pomůcka pro čtení Download PDF

Info

Publication number
CZ62098A3
CZ62098A3 CZ98620A CZ62098A CZ62098A3 CZ 62098 A3 CZ62098 A3 CZ 62098A3 CZ 98620 A CZ98620 A CZ 98620A CZ 62098 A CZ62098 A CZ 62098A CZ 62098 A3 CZ62098 A3 CZ 62098A3
Authority
CZ
Czechia
Prior art keywords
window
text
graphical information
function
time
Prior art date
Application number
CZ98620A
Other languages
English (en)
Inventor
Mark Andrew Edgar
Original Assignee
Charon Holdings Pty. Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Charon Holdings Pty. Ltd. filed Critical Charon Holdings Pty. Ltd.
Publication of CZ62098A3 publication Critical patent/CZ62098A3/cs

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B17/00Teaching reading
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/065Combinations of audio and video presentations, e.g. videotapes, videodiscs, television systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B17/00Teaching reading
    • G09B17/04Teaching reading for increasing the rate of reading; Reading rate control

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Mechanical Treatment Of Semiconductor (AREA)
  • Photosensitive Polymer And Photoresist Processing (AREA)
  • Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)
  • Selective Calling Equipment (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
  • Holo Graphy (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Optical Communication System (AREA)
  • Vehicle Body Suspensions (AREA)
  • Navigation (AREA)
  • Burglar Alarm Systems (AREA)
  • Eye Examination Apparatus (AREA)
  • Devices For Indicating Variable Information By Combining Individual Elements (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

Pomůcka pro čtení
OBLAST TECHNIKY:
Vynález se týká pomoci při čtení a zejména systému a způsobu prezentace textové a/nebo grafické informace určené ke čtení.
DOSAVADNÍ STAV TECHNIKY:
Během let bylo vyvinuto a obhajováno mnoho různých technik sloužících ke zvýšení rychlosti čtení, lepšímu chápání a zapamatování si předmětu čtení. Tyto techniky vyžadovaly opuštění tradičních metod čtení textu ve formátu tištěných stránek, kde každé následující slovo je čteno postupně napříč stránkou, řádek po řádku. Důvodem pro vývoj odlišných technik čtení jsou hlavně jisté nevýhody tradiěních metod, které působí proti snahám zvýšit rychlost čtení při současném zachování pochopení obsahu. Navíc při způsobu prezentace textu v podobě tištěných stránek, kde text je statický a čtenář pohybuje očima po řádce, může být čtenář rozptylován textem který je nad, pod nebo vedle slova, které právě čte. Proto mnoho čtenářů trpí opakovaným čtením řádků textu, vět a odstavců, které zpomalují rychlost čtení, zhoršují chápání textu a pamatování si obsahu textu, když je text čten poprvé.
Alternativní techniky čtení se pokoušely řešit tento problém výcvikem, odvedením Čtenáře od starého způsobu čtení použitím technických
prostředků, které zakryjí ty části stránky, které nejsou momentálně čteny, a/nebo zdůrazní části textu, který je právě čten. Nevýhodou těchto technik je, že text stále zůstává pasivní a že stále nutí oko Čtenáře aby se pohybovalo od slova ke slovu a drželo krok se zvýrazněnou Částí textu. Nadto tyto techniky jsou velmi závislé na použitém zařízení a tak až do začátku nynějšího počítačového věku je bylo drahé implementovat.
S nástupem, Širokým rozšířením a používáním současných počítačových systémů mohou být tyto techniky implementovány za zlomek původní ceny. Výkonnost moderních počítačových systémů umožňuje vyvinout a používat promyšlenější, vylepšené techniky čtení, které umožní zvýšit rychlost čtení a zlepšit chápání a pamatování si předmětu textu. Text je uložen a zobrazován na terminálu počítače po celou dobu práce, počítač neslouží jen jako učební pomůcka.
S rostoucí popularitou informačních sítí a databází jako je Internet, elektronická pošta, i masových médií jako je CDROM, sloužících k přenosu a uložení velkého množství textových informací, jsou lidé mnohem více než tomu bylo dříve stimulováni ke zlepšení své rychlosti čtení a k chápání textových informací. To ve spojení s výkonností současných osobních počítačů a vizuální dynamikou grafických uživatelských rozhraní jako je Windows (registrovaný chráněný název) a jiných víceúlohových prostředí pracujících s okny, vytváří ideální příležitost pro zavedení dokonalejších technik čtení a pro jejich trvalé začlenění do vhodných aplikací využívaných pro práci s textovými informacemi a tím pro poskytnutí nového prostředí pro čtení, které samo vede k rychlejší praxi a lepšímu chápání.
X
PODSTATA VYNÁLEZU
Předmětem vynálezu je nový systém a způsob prezentace textových a/nebo grafických informací pro Čtení v současném počítačovém prostředí, které umožní uživateli zvýšit rychlost čtení, lépe chápat obsah a zapamatovat si podstatu předmětu čtení.
Ve shodě s jedním aspektem tohoto vynálezu se zde poskytuje systém prezentace textových a/nebo grafických informací pro čtení, který zahrnuje:
zobrazovací prostředek pro zobrazování textových a/nebo grafických informací na zobrazovacím médiu;
výkonný prostředek, který přijímá textovou a/nebo grafickou informaci v elektronické formě a zpracovává ji pro prezentaci na zobrazovacím médiu;
řídící prostředek, který řídí prezentaci textových a/nebo grafických informací na zobrazovacím médiu; a vstupní zařízení pro vstup řídících signálů, které ovládají výkonný prostředek a řídící prostředek nebo mění jejich parametry;
kde řídící prostředek postupně umisťuje samostatné a po sobě jdoucí částí textové a/nebo grafické informace na stejnou pozici na zobrazovacím médiu, celé, v podstatě okamžitě na tuto pozici po předepsaný čas.
«4 ····
Řídící prostředek by měl s výhodou obsahovat prostředky pro centrování textu, které vy středí každou Část na dané pozici.
Řídící prostředek by měl dále s výhodou obsahovat aplikační prostředek pro definování vzhledu plochy zobrazovacího média pro prezentaci textové a/nebo grafické informace a vizuálních řídících parametrů systému.
Aplikační prostředek by měl s výhodou přímo reagovat na řídící parametry a měl by pro řídící prostředek vyvolávat řídící funkce sloužící k definování a určení vlastností vzhledu plochy v souladu s nastavením řídících parametrů a tedy i vstup řídících signálů ze vstupního zařízení.
Řídící prostředek by měl s výhodou obsahovat prostředky pro práci s okny a umožnit uspořádání pracovní plochy do jednoho nebo více oken, ve kterých je prezentována textová a/nebo grafická informace.
Prostředky pro práci s okny by měly s výhodou zahrnovat okno záběrů a prohlížecí okno, kde okno záběrů zahrnuje polohu a prohlížecí okno zahrnuje oblasti pro určení větší Části textové a/nebo grafické informace, ze které je odvozena samostatná část.
Řídící prostředek by měl dále s výhodou obsahovat prostředky pro centrování a posouváni textu, které by měly automaticky posouvat větší část v prohlížecím okně a vystřeďovat řádek větší části, který v prohlížecím okně, odpovídá textové a/nebo grafické informaci samostatné části.
Okna by měla s výhodou obsahovat prostředky pro zvýraznění odpovídající textové a/nebo grafické informace v prohlížecím okně.
Řídicí prostředek by měl obsahovat prostředek pro řízení prodlev pro nastavení řídících parametrů pro mazací čas a předepsaný zobrazovací čas.
Řídicí prostředek by měl s výhodou obsahovat prostředky pro výběr části a pro nastavení řídících parametrů samostatné části.
Řídicí prostředek by měl zobrazit následující samostatnou část textové a/nebo grafické informace až po uplynutí předepsaného mazacího času.
Výkonná jednotka by měl být mikropočítač s grafickým uživatelským rozhraním, které by mělo umožňovat víceúlohové prostředí, zvané též multitasking, a obsahovat funkce pro práci s okny.
v
Řídicí prostředek by měl obsahovat prostředky pro řízení času pro monitorování očekávaného a uplynulého času prováděných funkcí a pro koordinaci předávání řízení funkcím pro práci s okny a funkcím pro práci ve víceúlohovém prostředí.
V souladu s jinými aspekty vynálezu se zde uvádí způsob prezentace textové a/nebo grafické informace pro čtení, zahrnující:
výběr samostatných po sobě jdoucích částí textové a/nebo grafické informace;
zobrazení zmíněných částí postupně na stejnou pozici na zobrazovacím médiu;
zobrazení celé každé samostatné následné části v podstatě ihned na zmíněnou pozici po předepsaný čas;
přičemž tento způsob by měl zahrnovat vystředění každé zmíněné části do stran na zmíněné pozici;
PŘEHLED OBRÁZKŮ NA VÝKRESECH
Vynález bude popsán na jednom jeho příkladném provedení zobrazeném na výkresech, kde na obr. 1 je blokové schéma hlavních funkčních komponent které tvoří systém; na obr. 2 je blokové schéma které ilustruje třídy funkcí které tvoří řídící prostředek; na obr. 3 je blokové schéma ukazující různé funkce vykonávané systémem; na obr. 4 je kopie vzhledu hlavní obrazovky; na obr. 5 je kopie obrazovky, na které je roletové menu 'Filé'; na obr. 6 je kopie obrazovky s dialogovým oknem 'Open'; na obr. 7 je kopie obrazovky, která ukazuje prohlížecí okno a okno záběrů s první částí čteného textového souboru v prohlížecím okně; na obr. 8 je jako obrázek 7, ale ukazuje roletové menu Optíon'; nabr. 9 je kopie obrazovky, která ukazuje dialogové okno 'Delays' po jeho výběru na obr. 8; na obr. 10 je kopie obrazovky, která ukazuje dialogové okno 'Fonť po jeho výběru z nabídky Options’ na obr. 8; na obr. 11 je kopie obrazovky, která ukazuje dialogové okno 'Flashes' po jeho výběru z nabídky 'Options' na obr. 8; na obr. 12 je kopie obrazovky, která ukazuje pouze okno záběrů s jedním zobrazeným slovem; obr, 13 je podobný obr, 12, ale ukazuje jiné slovo, podobně vycentrované; obr. 14 je podobný obr. 7 a ukazuje roletové menu 'Read'; obr. 15 je kopie obrazovky která zobrazuje jak prohlížecí okno tak i okno záběrů s vybraným blokem v prohlížecím okně; obr. 16 je podobný jako obr. 7, ale ukazuje roletové menu 'Speeď; obr. 17 je podobný jako obr. 7 a ukazuje začátek čtecího programu s oknem záběrů ve kterém je samostatná část textu, který je čten a prohlížecí okno se zdůrazněnou odpovídající částí textu; a obr. 18 je jiný pohled na úpravu obrazovky na které je prohlížecí okno a okno záběrů a zdůrazněné slovo, které je zobrazováno jako samostaná část textu a ilustruje centrování textu v prohlížecím okně.
PŘÍKLADY PROVEDENÍ VYNÁLEZU
Dále bude popsáno příkladné provedení systému a způsobu prezentace textové a/nebo grafické informace pro čtení s využitím moderního mikropočítačového systému, který pracuje ve víceúlohovém grafickém uživatelském rozhraní podporujícím práci s okny známém jako Windows. Jak je ukázáno na obr. 1, systém 11 zahrnuje výkonný prostředek 13 ve formě mikropočítače, má zobrazovací prostředek 15 ve formě displeje, vstupní prostředek 17 ve formě klávesnice a myši a řídící prostředek 19 ve formě počítačového programu.
Mikropočítač výkonného prostředku 13 má vhodné paměťové médium pro uložení textové a/nebo grafické informace v elektronicky kódované podobě jako je textový soubor a také počítačový program řídícího prostředku 19. Paměťovým médiem může být pevný disk, páska, cdrom, disketa nebo vzdálená databáze, ke které se přistupuje přes modem nebo jiné komunikační rozhraní.
CljX.DQC
- 8 Mikropočítač je schopen nahrát program řídícího prostředku 19 obvyklým způsobem a vybrat textový soubor pro zpracování a prezentaci textové a grafické informace pro čtení na zobrazovací jednotce.
Zobrazovací jednotka zobrazovacího prostředku 15 má zobrazovací médium ve formě obrazovky na principu elektronového paprsku, obrazovky z tekutých krystalů nebo plazmového displeje, na kterém je zobrazován obraz textové a/nebo grafické informace známým způsobem.
Klávesnice a myš vstupního prostředku 17 se používají bud’ jedna nebo druhá, nebo společně pro vstup řídících signálů pro mikropočítačový výkonný prostředek 13, k ovládání tohoto prostředku a pro také pro ovládání počítačového programu řídícího prostředku 19 a pro měnění řídících parametrů výkonného prostředku 13 a řídícího prostředku 19.
Mikropočítač výkonného prostředku 13 pracuje pod vhodným operačním systémem jako je MS DOS nebo ve víceúlohovém grafickém uživatelském rozhraní podporujícím práci s okny jako je Windows 3.1 tak jak bylo popsáno dříve. Počítačový program řídícího prostředku je v podobě aplikačního programového vybavení, které pracuje jako program pod Windows vyvinutý v objektově orientovaném programovacím jazyku, jmenovitě v C++ s použitím dynamicky linkovaných knihoven (DLL).
Počítačový program obsahuje aplikační prostředky pro definici vzhledu plochy zobrazovacího média, na kterém je prezentována textové informace a pro nastavení vizuálních vlastností systému v souladu se zvyklostmi Windows 3.1. Aplikační prostředky přímo reagují na řídící
parametry, které jsou definovány pro program a volají řídící funkce pro v
definování vlastností prezentace textové informace na ploše. Řídící parametry jsou nastavitelné vložením odpovídajících řídících signálů z klávesnice nebo myši a budou detailně popsány později.
Pro účely tohoto popisu se předpokládá znalost počítačového programovacího jazyka C++, dynamického linkeru OWL 2.0, překladu programů v Borland C++ 4.0, běhu Windows 3.1a volání Windows API.
Počítačový program sestává z překladu čtyřech zdrojových souborů, totiž '.cpp' souboru který obsahuje hlavní zdrojový kód pro počítačový program, '.hpp* souboru což jsou hlavičky pro počítačový program, '.rc' souboru což jsou zdroje pro počítačový program a '.rh' souboru což jsou hlavičky zdrojů pro počítačový program. Překladem těchto čtyř souborů se vytvoří '.exe' proveditelný soubor a ten běží současně s odpovídajícími dynamicky linkovanými knihovnami které jsou součástí Borland C++ 4.0, totiž BIDS402.DLL, OWL202.DLL, BC402RTL.DLL a CTL3DV2.DLL.
S programem se pracuje pomocí položek menu, každé u nich odpovídá akcelerátor. Každá položka menu a jí odpovídající klávesa je navržena tak, aby vyslala zprávu, která vyvolá funkci v předepsané třídě tak, jak je to definováno v tabulce odezev ve zdrojovém kódu.
Dále je uvedená tabulka, která ukazuje v prvním sloupci přístupovou cestu volby v menu, ve druhém sloupci odpovídající klávesu, ve třetím sloupci zprávu Windows, která je poslána a která vyvolá funkci, uvedenou ve
Čtvrtém sloupci.
Přístupová cesta v akcelerá vazebná zpráva xolá funkci z
menu tor 1 ( haronWin
Filé / Open F3 IDMOPEN CmFileOpen()
Filé / Exit Alt+F4 24310 Standard application OWL quit
Speed / Increase Ctrl+Up IDM DEC SPE ED CmIncreaseSpeed()
Speed / Decrease Ctrl+Do wn IDMINCSPEE D Cm Decrease SpeedQ
Speed / Update WPM TAB IDMRETABUL ATE CmResetWPMO
Speed / Pause oř Résumé SPACE IDMPAUSE CmPause()
Read / Go ENTER IDMGO CmGo()
Read / Restart Ctrl+Ho me 1DMRE START CmRestart()
Read / Selecí all IDMSELECTA LL CmSelectAll()
Options / Delays IDMDELAYS CmDelays()
Options / Font IDMFONT CmFontO
Options / Number of flashes IDMNUMFL ASHES CmNumFlashes()
Options / Auto size font IDMAUTOSIZ E CmAutoFont()
Options / Browser window IDMTOPON CmTopOnQ
Help / Using help IDMHELPON HELP CmHelpOnHelpO
Help / Concepts (not implemented) (not implemented)
Help / About IDMABOUT CmAbout()
Počítačový program se skládá ze tříd, které jsou odvozeny z odpovídající rodičovské třídy poskytované v standardní knihovně Borland C++ 4.0 nebo v OWL knihovně. Jak je vidět na obr. 2, je zde sedm takových tříd 21a až 21 g, které doplňují sadu funkcí 23, které nejsou členy třídy a byly seskupeny dohromady.
Sedm tříd jsou třída TCharonApp 21a, která je odvozena z veřejné třídy TApplication, třída TCharonWin 21b, odvozená z veřejné třídy TLayoutWindow, třída TDelaysDialog 21c, odvozená z veřejné třídy TDialog, třída TFlashesDiaiog 21d, odvozená z veřejné třídy TDialog, třída TBrowserPane 21e, odvozená z veřejné třídy TEdltFile, třída TFlashPane 21 f, odvozená z veřejné třídy TWindows a třída TString 21 g, odvozená z veřejné třídy String.
Každá z těchto tříd bude detailně popsána dále s odkazy na její členské funkce, na funkce které byly získány Nejprve bude pojednána třída TCHaronApp 21a; tato třída je odvozena z rodičovské třídy TAplication a v podstatě zahrnuje aplikační prostředky pro vytvoření počítačové aplikace, instance TCharonWin. Do této třídy patří funkce
• ···· «· ···«
Φ · • · · • · • ·
Φ · • · · · « ·« · ♦ ·
♦ C15fD.DOC
«·« ·· ·· · • ·
TCharonAp 1 applicatio
1’ n
TCaronApp
InitMainWin InitMainWin
dow rii-uv
1. statusBar (veřejná proměnná)
TStatusBar *statusBar;
Ukazatel na instanci stavového řádku na dolním okraji aplikačního okna.
2. TCharonApp (veřejný konstruktor)
TCharonApp();
Vytvoří aplikaci počítačového programu.
3. InitMainWindow (neveřejná metoda) void InitMainWíndowO
Tato funkce nahradí InitMainWindow() z rodičovské třídy. Umožňuje použít Windows knihovnu Ctl3D.DLL která zobrazuje dialogová okna v 3D.
* ·015Λ.ΟΟΟ
Vytvoří stavový řádek a přiřadí tiskárnu do proměnné statusBar Potom vytvoří panel nástrojů inicializací objektu TControIBar. Do něj vloží ikony. Každá ikona, která je brána ze zdrojů, vygeneruje při stlačení zprávu; každá z nich má ekvivalent v menu. Jedná se o:
Popis ikony Přístupoví cesta v menu
Open a filé Filé / Open
Green start lights Read / Go
Up arrow Speed / Increase
Down arrow Speed / Decrease
Double vertical Speed / Pause oř
lineš Résumé
Funkce pokračuje navázáním rámce k hlavnímu oknu aplikace nastavením jeho velikosti podle inicializačního souboru, přiřadí mu menu, ikonu a akcelerátor ze zdrojů.
Výška i šířka hlavního okna se berou z položek Widht a Heíght v inicializačním souboru (viz. TCaronWin::CanClose()). Položka Hiní se použije jako parametr pro volání SetHintMode().
Následující třída TCharonWin 21b, jak už bylo řečeno, je odvozena z třídy TLayoutWindow. Obsahuje 2 zobrazovací okna, totiž horní okno (
TBrowserPane instance, potomek třídy TEdltFile ), které obsahuje a * 4 C152t.DOC «* f zobrazuje ACSII textový soubor a spodní okno ( TFlashPane instance, potomek TWindow ) které zobrazuje slovo nebo řádek slov.
Do této třídy patří tyto funkce:
1 ( liaronWin Tl.ayoulW i ndow
TCharonWin
-TCharonWin
SetupWin SetupWin
CanClose CanClose
SetupPanes
ReconfigureWin dow
IsFlashing
SetDisplayFont
DisplayNextLine
DelayUntilTime
FlashLoop
PauseFlashing
ShowWordsPer Minuté
WordsPerMinute
EvSize EvSize
CmFileOpen
CmGo
CmSelectAll
CmRestart
*4 »♦
4 · · *QÍ520DOC
CmDelays
CmFont
CmNumFlashes
CmAutoFont
CmTopOn
IncreaseAWord
CmlncreaseRate
CmDecreaseRate
CmPause
CmResetWPM
CmHelpOnHelp
CmAbout
1. rates (veřejná proměnná)
TDelayRates rates;
Toto je instance struktury, která obsahuje časy prodlev pro různé podmínky. Členy struktury a jejich účel je:
proměnná účel
UINT interval prodleva mezi dvěma záběry slov. Interval nezahrnuje mazací čas mezi slovy.
UINT blackout čas, po který je obrazovka prázdná mezi záběry slov.
UINT punctuations prodleva, když je rozeznána interpunkce jako první nebo poslední znak záběru.
’ ·* ·· • · v · • · · * ··· · ·
UINT ends Prodleva, je-li poslední znak záběru interpunkce pro konec věty.
UNIT cr Prodleva, jsou li dva následující znaky ve řetězci carriage retums.
2. fileData (neveřejná proměnná)
TOpenSaveDialog::TData fileData;
Jedná se o instanci struktury, která bude použita pro získání jména souboru, který má být čten. Viz. třída OWL TFileOpenDialog.
3. fontData (neveřejná proměnná)
TChooseFontDialog::TData fontData;
Jedná se o instanci struktury, která bude použita pro získání vlastností fontu. Viz. třída OWL TChooseFontDialog.
4. browserpane (neveřejná proměnná)
TbrowserPane browserpane;
Obsahuje instanci horního okna. Viz. třída TBrowserPane.
5. flashpane (neveřejná proměnná)
• · · ♦ · ·· »··« ··
• · * · · • ♦
• ♦ · • · · « ·
• ·
··· · · ·· · ·*
« • · £yfb.DOC
TFlashPane flashpane;
Obsahuje instanci spodního okna. Viz. třída TFlashPane.
6. flashing (neveřejná proměnná)
FLASH LOOP flashing;
FLASH_LOOP je typ definovaný výčtem hodnot FLASHING, NOT_FLASHING nebo QUIT. Proměnná flashing je příznak, který indikuje, zda spodní okno zobrazuje slova nebo ne. Stav je potřeba znát na různých místech programu, například když uživatel přemisťuje kurzor v horním okně. Status QUIT je nastaven, když uživatel zvolí ukončení aplikace.
7. dispFont (neveřejná proměnná)
Tfont *dispFont;
Ukazatel na font který bude použit pro zobrazení záběrů ve spodním okně.
8. autoSize (neveřejná proměnná)
BOOL autoSize;
Booleovský příznak uživatelského nastavení velikosti fontu, které je použito v spodním okně. TRUE znamená, že velikost fontu má být ' * i ·< ‘ 44 »4'4 l « * ‘ < 4 » »* < 4 4 4 . 4 >» 4 ' 1 ’4 4 » 4 · ·* ' 4 4 ‘ 4 4 ' ! t 4 * * /Tpio.DQC měněna proporcionálně k velikosti okna, FALŠE znamená, že velikost bude brána podle specifikace z fontData
9. topOn (neveřejná proměnná)
BOOL topOn;
Příznak pro uživatelské nastavení horního okna. TRUE znamená, že horní okno má být zobrazováno a FALŠE, že nemá být zobrazováno.
10. hasTopPane (neveřejná proměnná)
BOOL hasTopPane;
Indikace stavu horního okna. TRUE znamená, že okno je v současné době zobrazeno, a to bez ohledu na nastavení topPane, a FALŠE znamená, že horní okno je nyní vypnuto. Rozdíl proti topOn je, že příznak hasTopPane indikuje současný stav aplikace zatímco topOn indikuje přání uživatele. Když aplikace přejde do klidového režimu, horní okno je zobrazeno bez ohledu na uživatele.
11. ifs (neveřejná proměnná) sfstream *ifs;
♦ φ··φ «* ·*ι* φφ Φ· ·« · φ · φ φ · φ φ • · · · φ φ φ φ φ « · · · φ φ φ · * φ · φ ΐ9 - .1.*..* *..* : .·*·«>*·“*
Ukazatel na strukturu pro práci se vstupním souborem.
12. strin (neveřejná proměnná)
Tstring strin;
Instance Tstring. Je v ní uloženo aktuální slovo nebo slova, která jsou v okně záběrů. Viz Tstring.
pauseTick (neveřejná proměnná)
DWORD pauseTick;
Obsahuje nárůstový čítač, který narůstá když aplikace je v klidovém režimu. Slouží k zpřesnění výpočtu Word-per-minute (WPM) - slov za minutu.
14. initialTick (neveřejná proměnná)
DWORD initialTick;
Obsahuje počáteční čas, při kterém začíná počítání Word-Per-Minute.
·· • · ♦· ·· · · 9
15. wordCount (neveřejná proměnná)
UINT wordCount;
Obsahuje počet zobrazených slov ve spodním okně od posledního řešetu
InitialTick.
16. pauseStarted (neveřejná proměnná)
BOOL pauseStarted;
Booleovská proměnná indikující, zda čtený záběr byl zahájen z unpause nebo z go. TRUE znamená že byl spuštěn z CmPause() a FALŠE znamená že byl spuštěn z CmGo(). Je to proto, že unpause a go jsou dva různé body programu, mají jiné chování a aplikace potřebuje vědět poslední událost, která ji aktivovala. Jsou li záběry spuštěny z unpause v CmPause(), pokračují záběry slovy za koncovým aplikačním ukazatelem, zatímco při go se ukončí provádění záběrů když se dojde ke koncovému aplikačnímu ukazateli.
delayms (neveřejná proměnná)
UINT delay ms;
Obsahuje číslo, které kdyby se použilo jako parametr pro Delay(), tak by volání Delay() trvalo jednu milisekundu (viz. Delay()). Hodnota se počítá a nastaví pouze jednou při SetupWindows(), když aplikace startuje. Jak ···· ·· ···· ·· ·· * ♦ · 4 · « · · • · · · · · ·* • * · ♦ · · ··· · · je popsáno v DelayQ, tato místní smyčka se používá, aby bylo možné čekat méně než 55 ms.
TCharonWin (veřejný konstruktor) ~TCharonWm();
Vymaže instanci ifstream (*if, soubor, který se má zobrazit) a Tfont (*dispFont, font použitý ve spodním okně).
~TCharonWin() (neveřejný konstruktor) ~TCharonWin();
Vymaže instanci ifstream (*if, soubor který se má zobrazit) a Tfont (*dispFont, font použitý ve spodním okně).
SetupWindow (neveřejná metoda) void SetupWindow();
Funkce nahradí zděděnou funkci SetupWindow(). Po volání původní funkce obnoví stavový řádek a nastaví dvě položky v menu. Manipuluje s těmito položkami:
Cesia v menu označeno za
- 22 ·· ·· * · *· • ·«9 • ····· •^yf&DOC
podmínky
Options/Autosize font autoSize je TRUE
Options/Browser window topOn je TRUE
Nakonec provede test měření Času a spočítá hodnotu delay_ms. Udělá to tak, že vezme současnou hodnotu hodin ze systému a zavolá Delay() s velkým číslem jako s parametrem. Po návratu Čte opět současnou hodnotu hodin ze systému. Rozdíl mezi hodnotami je čas který uběhl po dobu běhu Delay(). Původní číslo, které bylo dáno Delay() jako parametr děleno rozdílem Časuje hodnota, kterou je třeba předat Delay() aby prodlení byla 1 ms. Názorně v pseudo kódu to je :
origTick = čti současnou hodnotu hodin ze systému volání Delay() s libovolně velkým číslem n. delay ms = n / (hodiny teď origTick)
CanClose (neveřejná metoda)
BOOL CanClose();
Tato funkce nahradí zděděnou funkci. Nejprve volá původní CanClose() a pokud hlavní okno nelze z nějakého důvodu zavřít, funkce vrátí řízení programu.
• 4 · · · · · · • · · * » 0 · · • 0» · 4 · ♦· 4 · · • · · · ^rtuodt • · · · · · · ·
Některé hodnoty jsou uloženy do souboru s nastavením počátečních hodnot CHARON.INI, Mezí nimi jsou šířka a výška okna. Přesto souřadnice na konci relace nemusí být aktuální souřadnice na začátku další relace. Důvodem je, že v klidovém stavu je horní okno zobrazeno i když v nastavení je prohlížecí okno vypnuto. Je třeba zkontrolovat, zda uživatelský příznak (topOn) odpovídá momentálnímu stavu okna (hasTopPane). Je li současné uživatelské nastavení bez horního okna a momentálně je horní okno, volá se funkce ReconfigureWindow() aby změnila velikost hlavního okna před tím, než se sejmou souřadnice.
Následující tabulka ukazuje proměnné uložené do CHARON.INI:
Jiného proměnné \ kódu Jiného položky \ Použilo ' ( HAROV1M
autoSize Autosize TCharon Win: TCharon WinO
blackout Blackout T Charon Win: T Charon Win()
punctuations Punctuations TCharonWin: TCharon Win()
ends Sentence End TCharonWin:TCharon Win()
cr Paragraph End TCharon Win :TCharon WinO
interval Interval TCharon Win: TCharon
•χ:ί.-·20.Ι»ν
Win()
strin.numFlashes Flash TCharon Win: TCharon Win()
fontData. logFont. ifHe ight Font Height TCharon WimTCharon Win()
fontData. logFont. ifFa ceName Font Face TCharon Win: TCharon Win()
Attr.W Width TCharon App: JnitMain Window()
Attr.H Height TCharonApp: TnitMain WindowQ
Funkce pak požádá WINHELP aby skončil.
Za normálních okolností, vrácení TRUE v CanClose() způsobí ukončení aplikace. Avšak v této aplikaci CanClose() může být aktivováno z funkce FlashLoop(). Proto se zavolá funkce IsFlashingO a zjistí se, zda jde o tento případ. Pokud ano, je nastaven příznak (flashing na QUIT) a CanClose() vrátí FALŠE; tím informuje FlashLoop() aby ukončila aplikaci. (FlashLoop() pak volá API PostQuitMessage() aby ukončila aplikaci a od té doby nezachytí další volání CanClose()). Pokud se neprovádí záběry, CanClose() provede normální ukončení.
Ještě poznámku, CanClose() nemůže vrátit TRUE pokud přišel signál k ukončení během provádění záběrů. Způsobilo by to chybu ochrany.
SetupPanes (neveřejná metoda) void SetupPanes (BOOL expand);
Funkce změní proporce velikostí horního a dolního okna. Parametr expand určuje, zda horní okno má mít 65% plochy nebo zda se nezobrazuje a má 0% plochy. Viz. OWL TLayoutWindow.
Je třeba si všimnout, že funkce určí hodnoty pro rozměry plochy a volá zděděnou funkci SetChildLayoutMetric() aby přiřadila tyto hodnoty dolnímu a hornímu oknu. Nevolá zděděnou Layout() funkci pro aktualizaci obrazovky.
ReconfigureWindow (neveřejná metoda) void ReconfigureWindow(BOOL expland);
Funkce je volána aby rozšířila nebo zkrátila hlavní okno aplikace. Je li parametr expand TRUE, horní okno bude zobrazeno na 65% plochy hlavního okna aplikace a spodní okno zůstává na stejné absolutní velikosti. Hlavní okno je proto rozšířeno. Je li parametr expand FALŠE, horní okno je na 0% hlavního okna a spodní zůstane na stejné absolutní velikosti. Hlavní okno je proto zkráceno.
Provádí se to tak, že se zjistí velikost okna rodičovského, tj. hlavního, a velikost spodního okna. Rodičovskému oknu je potom změněna velikost • * * · · to · ♦ to· ·· · * · · · ♦ • · · to tlftO.DC* toto to ·· ·· voláním funkce MoveWindow(). Zůstává levá horní souřadnice a současná Šířka. Výška je současná výška a část odpovídající výšce spodního okna, spočtená podle následující kalkulace:
výška rodiče +/- výška spodního okna * 65% / (100-65%)
Zlomek je buď kladný, je li okno rozšiřováno nebo záporný, pokud je zmenšováno.
Uvedený výpočet se týká pouze změny velikosti hlavního okna aplikace.
Změna velikostí vnitřních dvou oken se provádí voláním SetupPanes() a
TLayoutWindow: :Layout().
IsFlashing (neveřejná metoda)
BOOL IsFlashíngQ;
Vrací TRUE když spodní okno provádí záběry textu (tj. když proměnná flashing je ve stavu FLASHING).
SetDisplayFont (neveřejná metoda) void SetDisplazFont(int height);
Funkce je volána funkcí TFlashPane::Paint() a vytvoří font, který se používá pro zobrazování textu ve spodním okně. Udělá to pouze v případě, že proměnná dispFont je NULL, v opačném případě skončí. Je li
* ·
- 27 • · · · · „W* nastavena uživatelská volba 'autoSize', vytvoří se instance TFont s parametrem height. V opačném případě je parametr ignorován a instance je vytvořena s rozměry fontu podle fontData.
DisplayNextLine() (neveřejná metoda) int DisplayNextLine();
Funkce vezme a zobrazí další slovo nebo slova (určeno proměnnou wordCountO). Vrací Čas v milisekundách, po kterou tento řádek má být zobrazen. Změna se projeví v obou oknech.
Pro získání nového řádku textu se volá funkce GetAFlash() z instance strin. Před vlastním zobrazením funkce zjistí, zda záběry byly spuštěny z pause nebo go. V případě go funkce srovná současnou pozici v souboru s koncem uživatelem vybraného bloku (viz. Block£nd() z instance manyWordsPane), aby ověřila, zda řádek textu je na nebo za ukazatelem na konci uživatelem vybraného textu. Pokud ano, nic se nezobrazí.
Pokud funkce nedokáže získat další slova, zavolá funkci PauseFlashing() aby zastavila záběry a zavolá SelectBlock() z instance manyWordsPane a ta vyznačí blok původního výběru v horním okně.
Je-li zobrazení možné, projeví se v obou oknech. V horním to provede funkce PresentLine() z instance manyWordsPane. V spodním okně je to funkce TFlashPane::RepaintWindow(). Dále se zvýší celkový počet záběrů (wordCount) o počet záběrů přečtených funkcí GetAFlashQ.
* 4 4 4444*
4 4 « 4·4 ♦ · 4 4 4 4 4·· *>
Před ukončením funkce se provede výpočet délky prodlevy, po kterou je třeba počkat před zobrazením dalšího záběru. Prodlévaje dána intervalem a dodatečným časem. Je-li řádek na konci věty (viz. IsSentenceEnd()) a je-li další znak znak nového řádku (tj. carriage retům), je řádek koncem odstavce. Potom dodatečný čas je větší z časů po které se má čekat na konci odstavce (rates.cr) nebo na konci věty (rates.ends). Je-li první nebo poslední znak textového řádku interpunkce (viz. isPunctuation()), pak dodatečný čas je čas čekání pro interpunkci (rates.punctuation).
DelayUntilTime (neveřejná metoda) void DelayUntilTime(UlNT xTime);
Funkce inteligentně pozastaví program na daný čas (v milisekundách) vyvoláním lokální zpožďovací smyčky.
Je ii parametr xTime větší než 55 ms, tj více než jeden cyklus hodin ve Windows, volá se API GetTickCount() dokud není dosaženo požadovaného času, nebo dokud nezbývá méně než 55 ms. Mezi kontrolami času je volána funkce
TAplication::PumpWaitingMessages() (prevence zatuhnutí) po dobu čekání. Je-li xTime nebo zbývající čas čekání menší než 55 ms, volá se funkce Delay() a ta provede čekání cyklem ve strojovém kódu (viz.
DelayO).
* · · · · A • · · ♦ · · «·«· ·
FlashLoop (neveřejná metoda)
BOOL FlashLoop();
Tato funkce je jádrem aplikace a je volána z CmGo() a CmPause(). V podstatě čte řádky textu, zobrazuje je, odstraňuje je z obrazovky a kontroluje, zda nenastaly podmínky pro ukončení.
Nejprve volá funkci CmResetWPM(), která nastaví počítadlo WPM. Potom jde do cyklu a zkontroluje, že aplikace je v režimu provádění záběrů (voláním funkce IsFlashing()). Dokud je v tomto režimu, volá funkci SelectionChanged() z instance manyWordsPane a kontroluje, zda označení výběru v horním okně je stejné jako v předchozím případě. Pokud ne, uživatel přemístil kurzor nebo blok výběru. V tom případě vezme ukazatel na začátek vybraného textu a přesune ukazatel souboru (pomocí ifstream::seekg()) na text, který má stejnou pozici jako tento ukazatel.
Potom volá DisplayNextLine() aby přečetla řádek textu a tento text zobrazí v obou oknech. DisplayNextLine() vrátí čas, po který se má čekat před další aktualizací oken. Vrácená hodnota se předá jako parametr DelayUntilTime() a ta po tento čas čeká.
Po vykonání určené prodlevy se vymaže spodní okno. Dělá se to tak, že se vynuluje strin a zavolá se funkce TFlashPane: :RepaintWindow(). Potom se volá funkce DelayUntilTime() a ta čeká po nastavený čas pro mazání spodního okna (rates.blackout).
• ···
Potom je aktualizován stavový řádek voláním funkce
ShowWordsPerMinute().
V případě velmi malých hodnot prodlev aplikace provádí zobrazování plynule a nereaguje na zprávy systému Windows. Pak všechny aplikace zatuhnou včetně vlastní aplikace. Aby se tomu předešlo, volá se funkce TAplication::PumpWaitingMessages(). Tato funkce se volá po každých 15 cyklech, aby výpočet WPM nebyl příliš zkreslen, protože provedení PumpWaitingMessages() může nějaký čas trvat.
Nakonec, před dalším průchodem cyklu se zjišťuje, zda není požadováno ukončení aplikace (proměnná flashing má hodnotu QUIT). Pokud je požadováno ukončení, pošle se požadavek na ukončení voláním API PostQuitMessageQ a pozastaví se záběry, aby cyklus mohl být ukončen.
PauseFlashing (neveřejná metoda) void PauseFlashingO;
Funkce nastaví příznak pro ukončení záběrů a nastaví obě značky výběru v horním okně na současnou pozici v čteném souboru (tj zruší výběr bloku). Funkce pracuje pouze pokud se neprování záběry.
ShowWordsPer Minuté (neveřejná metoda)
*
I void ShowWordsPerMinute();
Funkce získá současnou hodnotu WPM voláním funkce
WordsPerMinute() ze stejné třídy, podle ní nastaví textovou proměnnou a volá TStatiisBar::SetText() aby jí vypsala na stavový řádek.
WordPerMinute() void WordsPerMinute();
Funkce vrací současnou hodnotu WPM. Počet slov za milisekundu se zjistí tak, že se vezme rozdíl mezi současnou hodnotou časového čítače (zjistí se voláním API GetTickCount()) a hodnotou časového čítače při startu (InitialTick). Převrácená hodnota tohoto rozdílu se násobí počtem slov čtených za daný časový usek. Hodnota se dále konvertuje na WPM. Jako ochrana proti dělení nulou je současná hodnota časového čítače srovnána s počáteční a pokud jsou stejné, výpočet se neprovádí a vrátí se nula.
EvSize (neveřejná metoda) void EvSize(UINT sizeType, TSize& size);
Funkce nahradí zděděnou funkci stejného jména. Zajistí, že zobrazovací font (dispFont) je smazán při každé zprávě WM SIZE (tj. při změně velikosti hlavního okna uživatelem), takže je potom znovu vytvořen • 9 · · ·* · · * ..*<Nv8c posléze později ve funkci Paint() z instance flashpane a SetDisplayFont(). Potom volá původní EvSíze().
CmFileOpen (neveřejná metoda) void CmFileOpen();
Funkce je volána při požadavku na otevření souboru. Vytvoří a spustí instanci TFileOpenDiaiog() použitím TData instance, fileData. Pokud je vráceno IDOK, zruší se proud (stream) ukazující na starý vstupní soubor, pokud nějaký je, zastaví se provádění záběrů pomocí PauseFlashing(). Nový proud je vytvořen voláním konstruktoru ifstream s parametrem FileName, získaným z TFileOpenDialog(). Je li konstruktor úspěšný, horní okno je požádáno, aby přečetlo stejný soubor. To se dělá voláním SetFileName() a Read() z instance browserpane.
Potom je jméno souboru přidáno k názvu hlavního okna aplikace voláním API SetWindowText(). Dále je volána funkce CmSelectAll aby označila celý text v horním okně a odstranila posuvníky (scroll bar).
Pokud nelze inicializovat ifstream, tj. soubor nelze otevřít, vyvolá se chybové dialogové okno, a to použitím API MessageBox(). Takový případ by ale neměl nastat, protože TFileOpenDiaIog() kontroluje dostupnost souboru před tím, než je ho ifstream otevře.
Může se ale stát, že se browserpane nepodaří načíst celý text do horního okna. To nastane, když je soubor větší než 64K, protože horní okno je instance standardní OWL třídy TEditFileQ (viz TFlashPane).
• · · ♦ • 4 4 4 4*
- 33 - · · · * ·« ** · · · · ·* · «
4 • · » • · · « ·
CmGO (neveřejná metoda) void CmGo();
Funkce je volána, aby nastartovala nebo restartovala proces čtení. Pracuje pouze, když je otevřený soubor (tj. ifstream není NULL) a pokud Čtení už není aktivní (tj. IsFIashing() vrátí FALŠE). Může nastat situace, kdy je nastaven příznak, aby okno bylo skryto (topOn je FALŠE), ale přesto je zobrazeno (hasTopPane je TRUE), což se stane při pozastavení záběrů. V tomto případě je horní okno skryto voláním ReconfígureWindow().
Následují volání funkcí. Zjistí se, zda došlo ke změně výběru textu v horním okně, připraví se spuštění záběrů od začátku vybraného textu a resetuje se proměnná WPM (viz. TBrowerPane::BlockChanged(), CmRestart() a CmResetWPM()).
Nakonec je nastaven příznak který říká, že záběry nebyly spuštěny klávesou unpause (tj. pauseStart je FALŠE) a pak ze zavolá hlavní cyklus záběrů FlashLoop().
CmSelectAll (neveřejná metoda) void CmSelectAll();
Funkce je volána při požadavku na výběr celého textu v horním okně. Volá SelectAll() z instance browserpane.
• ♦ · · » * ♦
CmRestart (neveřejná metoda) void CmRestart();
Funkce je volána při požadavku na znovuspuštění záběrů. Pokud je soubor otevřen, jsou pozastaveny záběry (pomocí PauseFlashingO). Ukazatel souboru je nastaven na pozici odpovídající počátečnímu aplikačnímu ukazateli v horním okně. Oba API ukazatele, počáteční i koncový, jsou nastaveny na pozici začátku výběru textu voláním SetSelection(), takže API blok zmizí a také T trámek je nastaven na tuto pozici.
CmDelays (neveřejná metoda) void CmDelays();
Funkce je volána, když má uživatel měnit hodnoty prodlev. Je vytvořeno a spuštěno dialogové okno (viz. třída TDelaysDialog). Je li stisknuto OK, jsou resetovány hodnoty pro výpočet WPM (viz. CmResetWPM).
CmNumFlashes (neveřejná metoda) void CmNumFlashes();
«« ♦ · · · · • · · ♦ · _ 1« _ * · · ·♦ · · · v · φ ·
Funkce je volána, když má uživatel měnit počet slov, který chce vidět ve spodním okně. Vytvoří se a spustí se dialogové okno TFlashesDialog s parametrem současného počtu záběrů. Je-li stisknuto OK, strin.numFlashes obsahuje novou hodnotu.
CmFont (neveřejná metoda) void CmFont;
Funkce je volána, když si má uživatel vybrat font, který se bude používat pro zobrazení ve spodním okně. Používá se běžné dialogové okno s použitelnými fonty (viz. třída TDealysDialog). Je li stisknuto OK, současný font je smazán (viz. dispFont). Potom se zavolá funkce TFlashPane::Paint() aby znovuvytvořila font s uživatelem zvolenými rozměry ve fontData.
CmAutoFont (neveřejná metoda) void CmAutoFont();
Funkce je volána, když chce uživatel změnit nastavení, zda chce automatickou úpravu velikosti fontu, na alternativní hodnotu. Funkce nastavuje hodnotu proměnné autoSize na alternativní TRUE nebo FALŠE. V souladu v výběrem je také upraven stav položky menu pomocí CheckMenuItem().
- 36 ···· ·· ···· ·· ·.
• ·· * ··»· • ~ · · ··»· • · · · · · ·«· * · • · · · * * ·
Při každém zavolání funkce je současný font dispFont vymazán, takže TFIashPane::Paint() může vytvořit font znovu se správnou velikostí.
CmTopOn (neveřejná metoda) void CmTopOn();
Funkce je volána, když chce uživatel změnit nastavení, zda chce horní okno zobrazit nebo ne na alternativní hodnotu. Je-li tato funkce zavolána aby se okno zobrazovalo a okno se právě nezobrazuje, jak je tomu během pozastavení záběrů, volá se ReconfigureWindow() s parametrem TRUE, aby se horní okno zobrazilo. Podobně, je-li funkce zavolána aby se okno nezobrazovalo a okno se právě zobrazuje, zavolá se ReconfigureWindowO s parametrem FALŠE a horní okno se odstraní.
Změní se hodnota proměnné topOn na alternativní hodnotu a upraví se položka menu voláním CheckMenuItem().
IncreaseAWord (neveřejná metoda) void IncreaseAWord (SIGN sign);
Funkce spočítá časový úsek (v milisekundách) mezi dvěma záběry (viz. rates.interval) tak, aby změna WPM byla zhruba 1 WPM. Když je časový úsek už velmi krátký, změna 1 milisekundy může způsobit změnu WPM o více než 1 WPM. V tomto případě je časový úsek nastaven na přednastavenou hodnotu, MIN_INTERVAL.
- 37 ··· · * •CWIUDIK.'
4» 44
Parametr sign je kladný nebo záporný, což určuje, zda se úsek prodlouží nebo zkrátí.
Funkce nejprve spočítá současnou hodnotu WPM a pokud není nula (aby tak procesor nehlásil chybu „dělení nulou“), ověří se, zda hodnota rates.interval je v rozmezí MIN_INTERVAL a MAX INTERVAL. Pokud je mimo tento interval, je nastavena na odpovídající krajní mez. Dělá se to proto, aby se časový úsek udržel v rozsahu, kdy je záběr rozeznatelný. Je třeba říci, že mimo tento rozsah není rozdíl v rychlosti pro uživatele aplikace patrný.
Výpočet se provede dělením současné (opravené) hodnoty proměnné interval současným WPM. Tím se zjistí, o kolik musí být hodnota interval zvýšena nebo snížena. Je-li rozdíl hodnot příliš malý (tj. menší než nula), změní se hodnota o jedna.
Před přičtením změny k současné hodnotě interval se kontroluje, aby nová hodnota nebyla menší než MININTERVAL a co je důležitější, aby nedošlo k přetečení rozsahu proměnné interval (protože interval je celé číslo bez znaménka). Je-li nová hodnota menší než MIN_INTERVAL, nastaví se na MIN_INTERVAL.
Nakonec je zavolána funkce CmResetWPM(), aby resetovala proměnné pro výpočet WPM.
CmlnncreaseRate (neveřejná metoda)
void CmIncreaseRate();
Funkce je volána, když chce uživatel zvýšit rychlost záběrů. Jednoduše zavolá IncreaseAWordO s kladným parametrem, který indikuje kladnou odchylku.
CmDecreaseRate (neveřejná metoda) void CmDecreaseRate();
Funkce je volána, když chce uživatel snížit rychlost záběrů. Jednoduše zavolá IncreaseAWordO se záporným parametrem, který indikuje zápornou odchylku.
CmPause (neveřejná metoda) void CmPause();
Funkce je volána při požadavku na ukončení nebo zahájení provádění záběrů. Je-li vstupní soubor otevřený a IsFlashingO vrátí TRUE, záběry jsou pozastaveny. Je-li vstupní soubor otevřený a IsFlashingO vrátí FALŠE, tak jsou záběry spuštěny.
V případě pozastavení, pokud není horní okno právě zobrazeno (tj.
hasTopPane je FALŠE), zobrazí se horní okno pomocí
ReconfigureWindow(). Zavolá se funkce TBrowserPane::Scroll(), aby * · · · · · φ· * · · φφφφφ • · · · · · ··· ·9 •·· · posunula horní okno mnohokrát v levo, čímž se zabezpečí, aby byl vidět sloupec jedna. Potom se volá TBrowserPane::PresentWord(), aby nastavila oba API ukazatele, aby odpovídaly současné pozici v souboru. Dále se volá PauseFlashing(), která pozastaví provádění záběrů a uloží se současná hodnota hodinového čítače do proměnné pauseTick. Ta bude použita později při zohlednění počtu hodinových taktů, které uplynuly během pozastavení.
V případě pokračování provádění záběrů, pokud se podle uživatelského nastavení nemá zobrazovat horní okno (tj. topOn je FALŠE) a horní okno je právě zobrazeno (tj. hasTopPane je TRUE), tak se odstraní pomocí ReconfigureWindow(). Zavolá se
TBrowserPane::BlockChanged() která, je-li třeba, znovu označí současný řádek textu. Dále se opraví počáteční hodnota čítače hodin (tj. ínitialTick) tak, aby se vyloučila doba, po kterou byly záběry pozastaveny z výpočtu WPM. Dělá se to tak, že se vezme současná hodnota čítače hodin (voláním GetTickCount()) a odečte se čas, kdy došlo k pozastavení (tj. pauseTick). Proměnná pauseStarted je potom nastavena na TRUE a je zavolána funkce FIashLoop(), aby pokračovala v provádění záběrů.
CmResetWPM (neveřejná metoda) void CmResetWPM();
Funkce je volána při požadavku na resetování proměnných, které se týkají výpočtu hodnoty WPM. Je vynulován počet slov, které byly Čteny (tj. wordCount) a čas při prvním záběru, kdy je čítač čtených slov nula, je
- 40 ♦ · ·· • ♦ · · ♦ ·* • ♦·· · 4 .»’cftířť*· nastaven na současnou hodnotu hodinového čítače pomocí GetTickCount().
CmHelpOnHelp (neveřejná metoda) void CmHelpOnHelpQ;
Funkce je volána při požadavku na vyvolání WINHELP.EXE se souborem nápovědy WINHELP.HLP.
CmAbout (neveřejná metoda) void CmAboutO;
Funkce je volána když se má vyvolat dialogové okno About.
Třída TDelaysDialog 21c je třída dialogových oken a je odvozena z
TDialog. Objekt umožňuje uživateli zadat časy různých prodlev.
Funkce definované v této třídě jsou
(DelaysDia log TDialog
TDelaysDi alog
SetupWind SetupWind
* ···· • A • AAA
·· · A
• · A ♦ A
« • A A A
AAA ·♦ • ·
·♦ ·· ♦ · · · • · · · * ♦ ·
ow ow
CanClose CanClose
rates (neveřejná proměnná)
T Charon W in:: TDelayRate& rates;
Odkaz na strukturovanou proměnnou typu TDelayDialog v rodičovské třídě, která obsahuje různé hodnoty prodlev (viz vnořená struktura TDelayRate ve třídě TCharoWin)
TDelayDialog (veřejný konstruktor)
TDelaysDialog(TWindow *parent, TCharonWin::TDelayRate& rates);
Konstruktor vytvoří objekt dialogového okna. Parametr je ukazatel na jeho rodiče a reference na strukturovanou proměnnou rates v rodiči.
SetupWindow() void SetupWindow();
Funkce nahradí zděděnou funkci z rodičovské třídy. Volá
SetDigitemint(), aby nastavila proměnné interval, blackout, punctuations, ends, cr ve vnořené struktuře TDelayRate.
··♦· ·· ·*··
CanClose (neveřejná funkce)
BOOL CanClose();
Funkce nahradí funkci z rodičovské třídy. Volá GetDigitemint(), aby získala obsah vstupních polí do struktury TDelayRate. Vrací hodnotu, kterou získá při volání původní funkce CanClose().
Třída TFlashesDialog 21 d je třída dialogových oken a je odvozena z TDialog. Objekt umožňuje uživateli zadat počet slov na záběr.
Funkce definované v této třídě jsou
TDelaysDi a log TDialog
TFlashesDi alog
SetupWind ow
kíviup w mu /1¾¾ 7 v w
CanClose
numFlashes (neveřejná proměnná)
UINT& numFlashes;
• ···· ·· ···« ·» ·· *· · · · ·«*·· • · · · · · * ·· • * · · · 9 ··* 9 · «»* ·· ··* » a<*cŤ5^fCc
- 43 Odkaz na proměnnou v rodičovské třídě TCharonWin, která obsahuje počet slov na záběr.
TDelayDialog (veřejný konstruktor)
TDelaysDialog(TWindow *parent, UINT& numFlashes);
Konstruktor vytvoří objekt dialogového okna. Parametr je ukazatel na rodiče a reference na jeho proměnnou numFlashes.
SetupWindow() void SetupWindow();
Funkce nahradí zděděnou funkci z rodičovské třídy. Volá SetDigitemint(), aby nastavila obsah proměnné numFlashes do vstupního okna definovaného v editoru zdrojů (resource editor).
CanClose (neveřejná funkce)
BOOL CanClose();
Funkce nahradí funkci z rodičovské třídy. Pokud původní funkce
CanCloseQ vrátí TRUE, zavolá GetDigitemint(), aby uložila obsah ····
vstupního pole do proměnné numFiashes Vrací hodnotu TRUE, tj. úspěch, aby zavřela dialogové okno, je-li numFiashes je větší než nula.
Třída TBrowserPane 21e je odvozena z TEditFile. Rodičovská třída obsahuje okno pro vkládání a úpravy dat (edit window) a stará se o výběr bloku. Poloha ukazatelů na tento blok se dá získat pomocí volání API GetSelection(). V textu se na ně bude odkazovat jako na API ukazatele.
TBrowserPane implementuje dva ukazatele navíc, známé jako aplikační ukazatele. Jejich účelem je pamatovat si polohu uživatelem vybraného bloku, na kterou původně ukazovaly API ukazatele, takže je tato poloha zaznamenána, i když už API ukazatele mohou ukazovat na jiný blok. Třída se také stará o umístění řádku, který obsahuje tyto ukazatele doprostřed, pokud to jde.
Funkce definované v této třídě jsou:
TBrowserPane 1 Edill ile
TBrowserPane
PresentLine
GetSelection Start
BlockBegin
BlockBegin
BlockEnd
BlockEnd
IsSelectionChanged
REmemberBlock
SelectBlock
• ♦ ·
SelectAll
SetupWindow SetupWind miř vvv
EvSize EvSize
CalcMiddleLine
blkBegin (neveřejná proměnná)
UINT blkBegin;
Aplikační ukazatel na začátek výběru. Zaznamenává, odkud chce uživatel začít Čtení textu. Hodnota proměnné je měněna otcovským oknem, TCharonWin pomocí funkce RememberBlock(), když zjistí, že došlo k explicitní změně do vnitřních Částí ukazatelů uživatelem, buď kurzorem myši a nebo klávesnice. Ověřuje se pouze když se aplikace snaží restartovat provádění záběrů v CmGo() a TCharonWin: :Pause().
blkEnd (neveřejná proměnná)
UINT blkEnd;
Jako blkBegin, ale ukazuje na konec výběru.
numberMidLines
«« 0000 ·* • · 0 0* int numberMidLines;
Polovina z počtu řádků, které může zobrazit instance TBrowserPane v okně současné velikosti.
lastSelectionPos (neveřejná proměnná)
UINT lastSelectionPos;
Ukazuje na počáteční polohu zabíraného textu relativně k začátku souboru. Účelem je uložit počáteční API ukazatel během provádění záběrů, aby bylo možné rozlišit každou změnu výběru, kterou uživatel udělá v průběhu provádění záběrů, ať už klávesnicí nebo myší.
TBrowserPane (neveřejný konstruktor)
TBowserPane (Twindow *parent);
Vytvoří prohlížecí okno a nastaví lastSelectionPos na nulu. Spočítá také počet řádků, které se vejdou na polovinu obrazovky, a uloží do proměnné numberMidLines.
PresentLine (neveřejná funkce) void PresentLine (UINT startPos, UINT endPos);
« t·· ♦
C1510.DOC · · *
- 47 • *··
Funkce zvýrazní slovo nebo slova, která jsou mezi startPos a endPos a umístí vybraný blok textu, pokud to jde, do středu obrazovky.
Nejprve funkce volá SetSelection() a ta vybere a tím zvýrazní slovo nebo slova. Poznamená pozici začátku výběru do lastSelectionPos, takže může rozeznat, když uživatel explicitně přemístí výběr.
Aby umístila výběr do středu obrazovky, sečte polovinu počtu řádků v okně (tj. numberMidLinesja číslo prvního řádku v okně (zavoláním GetFirstVisibleLineO) a tak získá absolutní Číslo řádku uprostřed okna vzhledem k začátku souboru. Zavolá GetLineFromPos(), tím získá Číslo řádku na kterém je výběr a odeěte to od absolutního čísla prvního řádku a tím získá počet řádků, o které je třeba posunout text, aby se výběr dostal do středu okna.
GetSelectíonStart (veřejná funkce)
UINT GetSelection Start();
Funkce vrací počáteění API ukazatel. Volá původní funkci GetSelecton(), odstraní ukazatel na konec a vrátí ukazatel na začátek.
BlockBegin (veřejná funkce)
UINT BlockBegin ();
• · 9 · • *
- 48 Vrátí hodnotu proměnné blkBegin, aplikačního ukazatele na začátek výběru.
BlockBegin (veřejná funkce) void BlockBeginfUINT val);
Nastaví hodnotu proměnné blkBegin, aplikačního ukazatele na začátek výběru, na hodnotu val.
BlockEnd (veřejná funkce)
UINT BlockBegin ();
Vrátí hodnotu proměnné blkEnd, aplikačního ukazatele na konec výběru.
BlockEnd (veřejná funkce) void BlockEnd(UINT val);
Nastaví hodnotu proměnné blkEnd, aplikačního ukazatele na konec výběru, na hodnotu val.
• 9
IsSelectionChanged (veřejná funkce)
BOOL IsSelectionChanged();
Tato funkce testuje, zda během provádění záběrů uživatel přemístil kurzor nebo blok výběru. Dělá se to tak, že se při provádění záběrů zjišťuje, zda pozice, na kterou právě ukazuje počáteční API ukazatel, je stejná jako pozice uložená v lastSelectionPos Pokud je stejná, tak nebyl kurzor přemístěn.
RememberBlock (neveřejná funkce) void RememberBlock();
Funkce si zapamatuje momentálně vybraný blok uložením API ukazatelů v blkBegin a blkEnd. Jsou-li oba API ukazatele na stejné pozici, tj. není vybrán blok, nedělá nic.
SelectBlock (veřejná funkce) void SelectBlock();
Tato funkce volá SetSelect() s proměnnými blkBegin a blkEnd, aby nastavila celý blok. Takto dostanou API ukazatelé stejnou hodnotu jako aplikační ukazatelé.
C1526.g^C‘
SelecíA1I (veřejná funkce) void SelectAll();
Funkce vybere celý text obsažený v okně nastavením blkBegin na první znak (tj. nula) a blkEnd na poslední možný znak (tj. FFFF hex). Potom zavolá SetSelection aby nastavila blok.
SetupWindow (neveřejná funkce) void SetupWindow();
Tato funkce nahradí zděděnou funkci téhož jména. Cílem je zamezit úpravám v tomto okně. Funkce nejprve zavolá původní SetupWindow() a potom SetReadOnly() s parametrem TRUE a tím zakáže změny v okně.
EvSize (neveřejná funkce) void EvSize (UINT sizeType, TSize& size);
Funkce nahradí zděděnou funkcí téhož jména. Cílem je zachytit požadavek na změnu velikostí okna (WMSTZE) a zavolat CalcMiddIeLine() Dělá se to tak, že se vezme velikost klientské Části okna mezi vrcholem a dnem a podělí ji výškou fontu včetně vodicích čar.
Třída TFlashPane 21 f je odvozena z TWindow a navíc řídí zobrazení slova nebo slov. Řádka textu a zobrazovací font se přeberou z otcovského okna, TCharonWin.
Funkce v této třídě jsou následující:
TFIashPan TWind
e ow
TFlashPane
RepaintWin dow
Paint Paint
ParentWin (neveřejná proměnná)
TCharonWin *parentWin;
Je to ukazatel na rodičovské okno TCharonWin, ze kterého se berou informace o textu, který se má zobrazit, a fontu.
TFlashPane (neveřejný konstruktor)
TFlashPane (TCharonWin *parent);
Vytvoří okno záběrů a nastaví parentWin na adresu rodiče (tj.
TCharonWin).
«· repaintWindow (veřejná funkce) void RepaintWindow();
Funkce volá funkci Invalidate() a UpdateWindow() rodičovské třídy, aby překreslily klientskou část okna.
Paint (neveřejná funkce) void Paint (TDC& dc, BOOL, TRect&);
Funkce nahradí zděděnou funkci, která se volá, kdykoliv má být okno překresleno. Vybere rodičův font a zobrazí slovo nebo slova z rodičova strin.
Funkce nejprve zjistí rozměry klientské části svého okna a určí, že nejvhodnější font je polovina výšky okna (tj. vršek mínus spodek). Tento parametr použije a zjistí font od otce voláním TCharonWin::SetDisplayFont(). Nastaví bázi vstupu textu tak, aby byla středem textu, který se bude zobrazovat (voláním SetTextAlign() s parametrem TACENTER), pozadí fontu je pozadní okna (volání SetBkMode() s parametrem TRANSPARENT) a barva fontu je definována v rodičově struktuře fontData.Color. Text se zapíše voláním TextOutQ.
Poslední třída TString 21 g je odvozena z třídy string a navíc zajišťuje čtení požadovaného počtu slov (tento počet je určen proměnnou TCharonWin::numFlashes) ze vstupního souboru.
Funkce v této třídě jsou:
IString Strin (Ϊ
GetAFlash
GetAppendT oken
numFashes (veřejná proměnná)
UINT numFlashes;
Obsahuje počet slov stanovený uživatelem, který se má číst ze vstupního souboru. Třída si udržuje informaci o počtu slov, které úspěšně přečetla. Tento počet bude nakonec použit při zobrazení ve spodním okně. Jde o veřejnou proměnnou a může být měněna přímo z TCharonWin.
GetAFlash (veřejná funkce) int GetAFlash(istream FAR &is, UINT &startPos, UINT &EndPos);
Funkce čte uživatelem stanovený počet slov ze souboru na disku a vrací počet skutečně přečtených slov. Nejprve vyčistí svoji API vyrovnávací »·*« Β· 4··* ·· v* t í
paměť a opakovaně zavolá GetAppendToken; ta přečte vždy slovo ze vstupního souboru istream(is), dokud nenačte požadovaný počet slov (určeno proměnnou numFiashes). Skutečně načtený počet slov může být menší nebo roven této proměnné (viz. funkci GetAppendToken() pro další podrobnosti). Pozice v souboru, kde Čtení začalo, je vrácena v startPos, a koncová pozice v endPos.
GetAppendToken (neveřejná funkce)
FLASHSTATUS GetAppendToken(istream FAR &is);
Funkce čte jedno slovo z istream (is) a připojí ho do vyrovnávací paměti API. Vrací stav UNSUCCESSFUL při neúspěšném čtení, nebo SUCCESSFUL při úspěšném čtení a ENDOFFLASH, pokud je čtení úspěšné, ale kde je poslední znak slova interpunkce nebo znak ukončení věty. ENDOFFLASH informuje volající funkci (tj GetAFlash()), že by tato funkce neměla být dále volána bez zobrazení na obrazovce a že její vyrovnávací paměť je připravena.
Je li slovo úspěšně přečteno, je připojeno na konec vyrovnávací paměti. Pokud vnitřní vyrovnávací paměť něco obsahuje (tj. slovo), před připojením slova se vloží jedna mezera (tj. ASCII 32) za konec posledního slova.
Slovo je symbol, je definováno jako znaky mezi oddělovači (whitespaces) před ním a za ním(viz read_token() z třídy string). Ve funkci IsPunctuationQ je konstanta PUNCTUATIONLIST, která definuje množinu interpunkčních znamének, které neukončují větu, a které mohou
- 55 CÍ520.DOC ' j| být i na začátku i na konci slova. Konstanta SENTENCEENDLIST ve veřejné funkci isSentenceEnd() je množina interpunkce, která znamená konec věty.
Nyní budou pojednány funkce 23, které nepatří do tříd. Jsou to
GetProfilelnt
UINT GetProfilelnt (char *keyName, UTNT defVal);
Funkce vrací hodnoty integer ze souboru CHARON.INI ze sekce [CharonReader]. EntryName je jméno položky v CHARON.INI a defVal je hodnota, která se použije, pokud položka v souboru není.
Funkce volá API GetPrivateProfileInt().
WriteProfilelnt void WriteProfilelnt (char *keyName, UINT val);
Funkce zapisuje hodnoty integer do souboru CHARON.INI do sekce [CharonReader]. EntryName je jméno položky v CHARON.INI a val je hodnota, která se zapíše.
Funkce nejprve převede integer hodnoty na řetězce a potom zavolá API WritePrivateProfileString().
C152U.DOC • *
Delay void Delay(UlNT factor);
Funkce obsahuje vnořené příkazy for a provádí cyklus, aby spotřebovala čas. Parametr faktor určuje počet cyklů, které musí funkce vykonat. Může to být libovolné číslo, ale na začátku aplikace se dělá výpočet, který pomůže určit toto Číslo tak, aby funkce pracovala v jednotkách milisekund (viz. TCharon::SetupWindow()).
Aplikace MS Windows obvykle nepoužívají zpožďovací smyčky (zvlášť bez volání TApplication::PumpWaitingMessages()), protože to může způsobit uváznutí ostatních aplikací Windows, včetně vlastní aplikace. Tato aplikace však potřebuje mít rozlišení času jemnější než 55 ms. Pokud je to potřeba, použije se tato funkce (viz. TCharonWin::DelayUnti!Time() pro podrobnosti jak jsou implementovány prodlevy).
IsPunctuation
BOOL IsPunctuation(char mark);
Funkce vrací TRUE, je-li parametr mark znak, který je definován v seznamu interpunkce, PUNCTUATIONLIST.
IsSentenceEnd
BOOL IsSentenceEnd(char mark);
Funkce vrací TRUE, je-li parametr mark znak, který je definován v seznamu znamének, které ukončují větu, SENTENCEENDLIST.
V obecném popisu tříd a jejich funkcí jsou odkazy na několik důležitých aspektů, které bude lépe ukázat na popisu skutečné činnosti počítačového programu. Nyní bude popsán program s ohledem na plochu obrazovky a z uživatelského pohledu. Bude se odkazovat na funkční schéma počítačového programu, které je na obrázku 3 a na kopie obrazovek na obrázcích 4 až 18.
Počítačový program je proveden spuštěním proveditelného souboru '.exe', je tvořen programem a dříve popsanými dynamickými knihovnami. Na začátku se volá třída funkcí TCharApp 21a a vyvolá obrazovku, která je na obrázku 4, voláním třídy TCharonWin 21b společně s třídami funkcí TBrowserPane 21e a sTFlahPane 21£ Obrazovka, jak je vidět, má vzhled obvyklý pro Windows a skládá se z pruhu 31, nabídkové řádky 33, pruhu 35 nástrojů, prohlížecího okna 37, okna 39 záběrů, stavového řádku 41, řídícího menu 43 a tlačítek 45 pro minimalizaci, maximalizaci a obnovu okna.
Vyvolání těchto počátečních funkcí je vyjádřeno kruhem 101 na obrázku
3.
• ·· · · · * • · ♦ · φφφφ φ · · · * * φφφφ φ ♦ · · · C1520.DOC· · · *· ·· * ΦΦ Φ ·
Nabídkový pruh obsahuje, jak už bylo popsáno, nabídky 'Filé’, 'Speeď, 'Reaď, Options'. Pruh 35 nástrojů obsahuje tlačítko 47 nový dokument, tlačítko 49 start, tlačítko 51 zvyš rychlost čtení, tlačítko 53 sniž rychlost čtení, a tlačítko 55 pro pozastavení.
Prohlížecí okno 37 obsahuje vertikální posuvník 57 a horizontální posuvník 59.
Na našem obrázku je prohlížecí okno nastaveno asi na 65% velikosti obrazovky a okno záběrů na 35%.
Stavový řádek 41 obsahuje vyvíjející se počet slov za minutu, které jsou Čteny programem a časový úsek po který je samostatná část textu zobrazována v milisekundách.
Kruh 102 na obr. 3 představuje výběr souboru z nabídky 'Filé'. Tato nabídka je na obr. 5 a výběrem volby 'Open' se lze dostat do dialogového okna Open', taje na obr. 6.
Je vhodné si všimnout, že v nabídce 'Filé' je také volba Exit, kterou se program ukončí, je také vidět na obr. 5.
V dialogovém okně 'Open' se vybere soubor obvyklým způsobem, v tomto případě je vybrán soubor 'readtest.txt'.
Výběr požadovaného souboru určí první, větší část textu v prohlížecím okně 37, viz obr. 7.
*· *··· ·♦ ··
- 59 • 4 · ♦ · ·
Φ CÍS20XKX? · φ
Pokud jsou nastaveny řídící parametry, může program začít se čtením.
Nastavení řídících parametrů je reprezentováno kruhem 103 na obr. 3 a dělá se z nabídky 'Options'.
Jak je vidět z obr. 8, jsou zde tři volby umožňující nastavení, jmenovitě 'Delays', 'Fonť a 'Number of flashes', každá má svoje dialogové okno a dále jsou tu dvě volby které jsou buď zapnuty a nebo vypnuty, jmenovitě 'Auto size fonť a 'Browser window'.
První volba 'Delays' vyvolá třídu funkcí 21c TDelaysDialog, ukáže se dialogové okno tak, jak je ukázáno na obr. 9, na kterém jsou řídící parametry : 'Word Display Time’, 'Blank screen between words', 'Punctuation', 'Sentence Enď, 'Paragraph Enď.
Parametr 'Word Display Time' určuje čas zobrazení nebo dobu trvání, po kterou je samostatná část textu zobrazena na stejné pozicí v okně 39 záběrů a je to stejná hodnota, která je na stavovém řádku 41 jako 'interval'. Parametr 'Blank screen between words' definuje Časovou prodlevu před zobrazením následujících slov v okně 39 záběrů. Parametr 'Punctuation' definuje mazací čas mezi koncem zobrazení jedné samostatné Části a zobrazením následující samostatné Části textu v okně 39 záběrů, když první Část textu obsahuje interpunkci jako je třeba čárka, uvozovky a podobně. Parametr 'Sentence Enď definuje mazací Čas mezi po sobě jdoucími samostatnými částmi zobrazovaného textu, když se narazí na konec věty označený tečkou, vykřičníkem, otazníkem a podobně. Poslední parametr, 'Paragraph Enď, definuje mazací čas mezi ···· ·· ···· ·· ·· * · · · · · · ♦ • · · » · · ·· • ♦ · « · · ··· · » ·..· ·..· : cuaw^··,,· zobrazením samostatné části textu na konci odstavce a zobrazením následující samostatné části textu na začátku dalšího odstavce.
Volba 'Fonť zobrazí dialogové okno 'Fonť, které je na obr. 10. Okno se získá z jedné ze standardních dynamicky linkovaných knihoven, takže font je vybrán známým způsobem.
Při zvolení volby 'Flashes' se vyvolá třída funkcí 21d TFlashesDialog a zobrazí se dialogové okno, které je na obr. 11. Umožňuje nastavit řídící parametr určující počet slov, která se mají zobrazit současně; je to počet slov, která se objeví v samostatné části textu, který má být umístěn do okna 39 záběrů.
Výběr volby 'Auto size fonť vyvolá funkci, která automaticky nastaví velikost fontu zobrazované Části textu v okně 39 záběrů, tak, jak je ukázáno na obr. 8. Na našem obrázku se font nastaví automaticky na true type font Times New Roman v normálním stylu s velikostí 24 pitch. Aby se toto nastavení změnilo, je nutné zrušit výběr volby 'Auto size fonť a nastavit nové řídící parametry pro font výše popsanou volbou pro výběr fontu.
Při zvolení volby 'Browser window' se vyvolá funkce, která způsobí, že je zobrazeno prohlížecí okno 37 i okno 39 záběrů tak, jak je to vidět na obr. 4, proporce oken byly popsány výše. Když je zrušen výběr volby, zobrazuje se pouze okno 39 záběrů a zabírá celé okno tak, jak je to na obr. 12 a 13. Tyto funkce představuje kruh 105.
Po nastavení řídících parametrů je možno vyvolat začátek Čtení textu. To lze udělat skrze nabídku, tlačítko 49 start nebo přednastavenou klávesou.
«··· ·· ···· ·· ·· • ·· · · · · · · · · · ♦ ·· ··* * · · · · · · * ’··* *·.* : ·,,·
- 61 V případě nabídky 'Reaď poskytuje roletové menu tři možnosti, jak to je vidět na obr. 14, první je 'Go', druhá je 'Restarť a třetí je 'Selecí all’. Výběrem 'Go' nebo stisknutím klávesy G se vyvolá funkce, která zahájí čtení textového souboru. Jinou možností, jak vyvolat stejnou funkci, je stisknout klávesu nebo stisknout tlačítko 49 start.
Volba 'Restarť je účinná poté, co program zahájil čtení a při zvolení vyvolá funkci, která vrátí čtecí program do jeho počátečního stavu, kde Čeká na příkaz. Tato volba může být také vyvolána stisknutím akcelerátoru nebo kláves kontrol a home na klávesnici.
Volba 'Selecí all' označí celý text v otevřeném souboru pro Čtení. Je to implicitní nastavení bloku v nově otevřeném souboru. Smysl volby je vrátit se ke Čtení celého souboru poté, co byl vybrán blok textu. Volba může být také vyvolána stisknutím akcelerátoru ’S'.
Definice bloku se provádí v třídě funkcí 21e TBrowserPane, na obr. 3 je to reprezentováno kruhem 104. Implicitně je jako blok označen celý soubor, který je otevřen, proto je funkce zavolána ihned po jeho otevření. Definice bloku však může být změněna tak, že se čte pouze odstavec nebo věta ze souboru nastavením aplikačních ukazatelů, počátečního a koncového na text v prohlížecím okně. Dělá se to pohodlně použitím tlačítek na myši, Kurzor, trámek T se nastaví na začátek textu, který má být Čten a se stisknutým tlačítkem myši se kurzor přesune na konec textu, který má být Čten. Jak se přesunuje kurzor, vybraný text se zvýrazňuje, dokud není definován celý blok, je to vidět na obr. 15. Počáteční aplikační ukazatel, který definuje blok, může být přemístěn i v průběhu čtení, tuto akci představuje kruh 109. Navíc, poté, co je zvýrazněný bloku textu *··0 ·· *·· ·· ·· ·· · · « 0 · · · • 0 00« «··· • · · 0 ·» * ·♦ · · 0 programem přečten, program volá funkci, která zvýrazní blok textu po dosažení koncového aplikačního ukazatele; představuje to kruh 116.
Vedle nastavitelných parametru poskytuje nabídka 'Speed' volby pro změnu jistých řídících parametrů, jmenovitě volby pro zvýšení a snížení rychlosti čtení, představované kruhem 111. tj. času zobrazení slova a mazacího času, dále volbu pro resetování výpočtu WPM představovanou kruhem 112. jehož výsledek je na stavovém pruhu 4L Roletové menu které se váže k nabídce 'Speed' je ukázáno na obr. 16.
Volby 'Increase' a 'Decrease', podobně jako tlačítka 51 zvyš rychlost čtení a 53 sniž rychlost čtení vyvolají odpovídající funkce Cmlncrease a CmDecrease, které volají funkci IncreaseAWord, všechny byly popsány u třídy TCharonWin. Při krátkých časech se při zvolení 'Increase' sníží 'Word Display Time' o 1 ms při každém výběru volby 'Increase' nebo při stisknutí tlačítka 51 zvyš rychlost čtení. Naopak se 'Word Display Time' zvýší o 1 ms při každém výběru volby 'Decrease' nebo při stisknutí tlačítka 53 sniž rychlost čtení. Pro dlouhé Časy se 'Word Display Time' sníží nebo zvýší o časový úsek, který odpovídá změně o 1 WPM. Tyto funkce představuje kruh 113. V této aplikaci taková změna rychlosti nezmění nastavení řídícího parametru pro mazací čas; ten zůstane na hodnotě určené dialogovým oknem 'Dialog', které je na obr. 9.
Volba 'Update WPM' zavolá funkci CmResetWPM(), představuje ji kruh 108, která resetuje proměnné týkající se výpočtu hodnoty počet slov za minutu. Při normálním běhu programu je volána funkce ShowWordsPerMinute, která volá funkci WordsPerMinute, obě jsou členy třídy TCharonWin, a která vrátí současný počet čtených slov za minutu spočítaný dříve popsaným způsobem a zobrazí ho na stavovém řádku 44. Poté, co volání funkce CmResetWPM nastaví proměnné na nulu, hodnota WPM zobrazená ve stavovém řádku významně kolísá, dokud je počet slov malý.
Roletové menu 'Speeď obsahuje také funkci 'Pause/Resume', odpovídající tlačítku 55 pro zastavení. Zvolením volby 'Pause/Resume' nebo stisknutím tlačítka pause se přepíná mezi zastavením zobrazování samostatných částí textu v době zobrazování textu nebo v době, kdy je obrazovka nechána prázdná a začátkem zobrazování nebo záběrů samostatných částí textu, oddělených mazacím časem, vyvoláním funkce CmPause, která je také členem třídy TCharonWin a je reprezentována kruhem 110. Jak je vidět, tímto způsobem jde čtení textu pozastavit nebo v něm pokračovat kdykoliv během operace čtení.
Jak už bylo zmíněno, čtení určeného bloku textu se zahájí stisknutím tlačítka 49 start, zvolením volby 'Go' z nabídky 'Reaď nebo stisknutím klávesy na klávesnici. Všechny tyto akce vyvolaní funkci CmGo, která patří do třídy TCharonWin, a která zavolá další funkce v závislosti na stavu programu. CmGo za normálních podmínek umisťuje samostatné navazující části textu na stejné místo v okně záběrů po určený čas, oddělené od sebe mazacím časem. Časy se nastavují v dříve popsaných oknech.
V případě, že uživatel požaduje zobrazení prohlížecího okna 37 současně s oknem 39 záběrů, zobrazená samostatná část textu v okně záběrů je současně zdůrazněna v prohlížecím okně, jak je to vidět na obr. 17 na slově maintaining. Funkce také zajišťuje umístění každé samostatné části textu do středu, viz kruh 107, okna 39 záběrů tak, aby střed každé samostatné části textu byl zobrazen na stejném místě. Je to vidět na obr.
v ···· φφ Φ«φ· ···* ·· φ · φ · ·· « φ • Φ ··«»4·· • · · · · φ · ·*· · φ a 13 na slovech the a developed, která jsou zobrazena ve středu okna záběrů, a také na obr. 17 na slově maintaínmg.
Pokud se zobrazuje prohlížecí okno, vyvolá se funkce, kterou představuje kruh 106 a která zajistí posunutí textu, který odpovídá zobrazované samostatné části textu v okně záběrů, do prohlížecího okna a řádek odpovídající této části umístí doprostřed, nejlépe je to vidět na obr. 18. Je však třeba dodat, že to tak funguje za předpokladu, že před řádkem, který odpovídá právě zobrazované samostatné části textu v okně záběrů, je dostatek řádků, jak to ukazuje obr. 18. Takže, když je Čtení zahájeno od začátku souboru, dříve než nastane automatické posouvání textu a jeho vystřeďování, zdůrazněná část textu bude v horním řádku a postupně se bude přemisťovat v prohlížecím okně dolů, je to vidět na obr. 17, dokud se nedostane do středu okna.
V implementaci počítačového programu pro prostředí Windows (3.1), je třeba se přizpůsobit jeho schopností multitaskingu. Aby byl umožněn multitasking, všechny programy v systému Windows musí být schopny běžet souběžně s jinými programy. Proto je nutné navrhnout program tak, aby se držel v mezích daných systémem Windows a aby umožnil tomuto systému provádět multitástking a přitom si měl vlastní řízení času.
Proto program obsahuje vlastní prostředky pro řízení času, funkci DelayUntilTime, kterou volá z hlavního cyklu FlashLoop, obě zmíněné funkce jsou z třídy TCharonWin. Funkce umožňují programu použít vlastní mechanizmus řízení času, takže 'WordDisplayTime' a čas prodlevy, po kterou se nechává okno záběrů prázdné, lze nastavovat s vysokým rozlišením až 1 ms a při tom dovoluje Windows provádět vlastní správu času u ostatních aplikací, takže se předejde jejich zatuhnutí. V souladu s
I I
- 65 - ι , ( r. ' * dMujX ' 1 tím, výše uvedené funkce monitorují čas, potřebný k dokončení akce programu a určují, zda zabere interval delší než 55 milisekund dříve, než požádají Windows, aby detekoval volání z ostatních aplikací a odpověděl jim; je znázorněno kruhem 115. Pokud akce, jako je zobrazení slova nebo slov (tj. WodrDisplayTime) nebo ponechání okna 39 záběrů prázdného, tj. blanking time interval, má trvat déle než 55 ms, program dovolí Windows zkontrolovat volání z ostatních aplikací a odpovědět jim. Po 55 ms se řízení vrátí do programu a spočítá se čas, který má akce ještě trvat. Pokud je větší než 55 ms, cyklus se zopakuje.
Pokud se určí, že akce má trvat méně než 55 ms, zavolá se funkce, která se ukončí až tento Čas uplyne, představuje ji kruh 114. Aby funkce věděla , jak dlouho má Čekat, určí se při spuštění aplikace počet cyklů, jejichž provedení trvá l ms. Podprogram se nazývá Delay a je to jedna z funkcí 23, které nejsou zařazeny do tříd a které byly popsány dříve.
Další činnost, kterou program provádí, je mazání a obnova obrazovky mezi zobrazením slov. Za normálních okolností zobrazení jednoho slova po jiném ponechá stínový obraz, který po nějaké době zmizí. Lze si toho všimnout zvláště při velké rychlosti slov za minutu. Tento obraz je způsoben jednak okem a časem které potřebuje k smazání obrazu starého slova a k přijetí obrazu nového slova a také je možná důsledek funkce obrazovky. Když se slovo vysvítí na obrazovce, nestačí ho pouze přestat zobrazovat aby se odstranilo z obrazovky, ale trvá to nějaký čas, než obraz pohasne. Čas mezi slovy musí být dostatečný k tomu, aby obraz přiměřeně vybledl, protože jinak vznikne dojem, že je rozmazaný. Proto, aby se tento problém zmírnil, nechává se obrazovka mezi zobrazením slov prázdná. S nárůstem tohoto intervalu je prodleva zřetelnější, v zobrazování je více mezer, než je třeba. To způsobí, že slova která se
···· objevují, nejsou tak výrazná, jak by měla být pro nejlepší rozlišení. Nicméně v krátkých časech se dá najít střed, při kterém je posloupnost slov zcela čitelná.
Počítačový program tedy zavolá funkci FlashLoop, která je částí třídy TCharonWin, aby překreslila celé okno záběrů stejnou barvou jakou má pozadí ihned po uplynutí 'Word Display Time', a to je pak zobrazeno po určenou dobu.
Mělo by být zdůrazněno, že rozsah předkládaného vynálezu není omezen jen na předložený popis. Do rozsahu vynálezu také spadají zamýšlené změny a rozšíření. Jedná se o tyto funkce a/nebo rysy:
i. odstranění definice výběru textu z paměti, jinak než pomocí volby 'SelectAlT;
ii. umožnění nastavení velikosti prohlížecího okna relativně k oknu záběrů;
iii. schopnost vložit cílovou rychlost čtení a nechat program docílit této rychlosti, tj poskytnout nominální rychlost čtení;
iv. výběr různých prodlev a pozastavení při konci oddílu, kapitoly nebo i pokud se dosáhne testovacího řetězce;
v. schopnost vybrat více bloků a přečíst je sekvenčně;
J1Í20.DO? * ví poskytnout zobrazení uplynulého času od začátku čtení definovaného bloku nebo od začátku celé relace na stavovém pruhu;
vii. monitorování přesné pozice samostatné části textu který je zobrazen ve vybraném bloku, jako je počítáním počtu slov, takže by šlo zobrazit přesný počet slov za minutu ihned po označení nového výběrového bloku a zahájení čtení tohoto bloku, pokud byl text už čten;
viii. výpočet a zobrazení odhadnutého času potřebného k dokončení čtení definovaného textu při současné rychlosti WPM na stavovém řádku;
ix. poskytnout prostředek pro psaní poznámek vedle textu;
x. funkce jako je 'Finď a 'Go To' pro skok na text v souboru podle zadání uživatele;
xi. Čteni po přednastavený čas, které by současně spočítalo počet čtených slov a rychlost WPM za tento Čas;
xii. Schopnost zastavit čítač hodin během doby, kdy se čtou tituly nebo přistupuje se k nabídkám opuštění bloku (drop);
xiii. pozastavení provádění záběrů při ikonizaci programu, xiv. schopnost pozastavit čtení, když okno počítačového programu není hlavním oknem zobrazeným na obrazovce;
xv. omezení určitých vstupních parametrů, aby hodnoty byly v odpovídajících rozsazích a typech;
xvi. schopnost číst soubory neomezené velikosti;
xvii. schopnost číst více formátů vstupních souborů, jako je WORDPERFECT, AMI-PRO, WORD a další;
xviii. umožnit začlenění programu jako funkce volané z větší aplikace na zpracování textu;
xix. schopnost vzít text a číst ho odkudkoliv, třeba z Windowsovského programu 'Clipboarď;
xx. schopnost zběžného čtení (skim read);
xxi. možnost vypnutí pří nečinnosti (snooze facility);
xxii. prostředky pro práci s hlasem; a xxiii.prostředky pro zpracování obrázků a uživatelské volby autodisplay, autopause a query display nebo ignore dislay.
• ♦ a a a aa • 4 • a
• a • ♦ a • · • *
• a a • * * « ··· • a
C152OJXJT a ·
a · a · a • · · « a • a

Claims (52)

  1. PATENTOVÉ NÁROKY
    1. Systém prezentace textové a/nebo grafické informace ke Čtení, obsahující:
    zobrazovací prostředek (15) pro zobrazování textové a/nebo grafické informace na zobrazovacím médiu;
    výkonný prostředek (13) pro příjem textové a/nebo grafické informace v elektronické formě a její zpracování pro prezentaci na zobrazovacím prostředku (15);
    řídící prostředek (19) pro řízení prezentace textových a/nebo grafických informací na zobrazovacím prostředku (15); a vstupní prostředek (17) pro vstup řídících signálů pro řízení výkonného prostředku (13) a řídícího prostředku (19) nebo pro měnění jejich parametrů, vyznačující se tím, že řídící prostředek (19) postupně umisťuje samostatné a po sobě jdoucí části textové a/nebo grafické informace na stejnou pozici na zobrazovacím prostředku (15), celé, v podstatě okamžitě na zmíněnou pozici po předepsaný čas.
  2. 2. Systém podle nároku 1, vyznačující se tím, že řídící prostředek (19) obsahuje prostředky pro centrování textu, které vystředí každou část na dané pozici.
    • 4 4 4 4 4« 44 4 4 • 4 4 4 • · 4 4 4 4 · 4 4 * · 4 4 4 4 • · 4 4 4 • · · 4 « 44 4 C1524EX4C 4 · 4 4 4 4
  3. 3. Systém podle nároku 1 nebo 2, vyznačující se tím, že řídící prostředek (19) obsahuje aplikační nástroje pro definování vlastností plochy zmíněného zobrazovacího média pro prezentaci textové a/nebo grafické informace a vizuálních řídících parametrů systému.
  4. 4. Systém podle nároku 3, vyznačující se tím, že aplikační nástroje přímo reagují na řídící parametry a vykonávají pro řídící prostředek řídící funkce sloužící k definování a určení vlastností prezentace textové a/nebo grafické informace v rámci dané plochy v souladu s nastavením řídících parametrů a vstup řídících signálů ze vstupního prostředku (17).
  5. 5. Systém podle nároku 3 nebo 4, vyznačující se tím, že řídící prostředek (19) obsahuje prostředky pro práci s okny a umožňuje uspořádání pracovní plochy do jednoho nebo více oken, ve kterých je prezentována textová a/nebo grafická informace.
  6. 6. Systém podle nároku 5, vyznačující se tím, že prostředky pro práci s okny obsahují okno (39) záběrů a prohlížecí okno (37), okno (39) záběrů obsahuje polohu a prohlížecí okno (37) obsahuje oblasti pro určení větší části textové a/nebo grafické informace, ze které je odvozena samostatná část.
  7. 7. Systém podle nároku 6, vyznačující se tím, že prostředky pro práci s okny jsou uspořádány pro společné zobrazení okna (39) záběrů a prohlížecího okna (37) ve stejném hlavním okně a pro umožnění současného probíhání operací v nich.
  8. 8. Systém podle nároku 6 nebo 7, vyznačující se tím, že řídící prostředek (19) obsahuje prostředky pro vystřeďování a posouvání textu, které automaticky posouvají větší část v prohlížecím okně a vystřeďují řádek větší části, který v prohlížecím okně odpovídá textové a/nebo grafické informaci samostatné části.
  9. 9. Systém podle kteréhokoliv z nároků 6 až 8, vyznačující se tím, že prostředky pro práci s okny obsahují prostředky pro zvýraznění odpovídající textové a/nebo grafické informace v prohlížecím okně.
    lO.Systém podle kteréhokoliv z nároků 6 až 9, vyznačující se tím, že řídicí prostředek (19) obsahuje prostředky pro výběr bloku textové a/nebo grafické informace zobrazené v prohlížecím okně (37) pro postupnou prezentaci jejích samostatných po sobě jdoucích částí v okně (39) záběrů.
  10. 11. Systém podle kteréhokoliv z předcházejících nároků, vyznačující se tím, že řídící prostředek (19) obsahuje prostředky pro řízení prodlev umožňující nastavení řídících parametrů pro zmíněný předepsaný zobrazovací Čas.
  11. 12.Systém podle kteréhokoliv z předcházejících nároků, vyznačující se tím, že řídící prostředek (19) obsahuje prostředky pro výběr části textu pro nastavení řídících parametrů samostatné části.
  12. 13.Systém podle kteréhokoliv z předcházejících nároků závislých na nároku 7, vyznačující se tím, že řídící prostředek (19) obsahuje prostředky pro změnu velikosti okna pro nastavení velikosti
    - 73 prohlížecího okna podle velikosti okna záběrů tak, aby bylo určitou částí hlavního okna, které obsahuje jak prohlížecí okno (37) tak okno (39) záběrů.
  13. 14. Systém podle kteréhokoliv z předcházejících nároků, vyznačující se tím, že řídicí prostředek (19) obsahuje prostředek pro zjištění rychlosti prohlížení, který počítá progresivní počet textových a/nebo grafických informací prohlížených v daném časovém intervalu a zobrazuje ho na zobrazovacím prostředku (15).
  14. 15.Systém podle nároku 14, vyznačující se tím, že prostředek pro zjištění rychlosti prohlížení počítá a zobrazuje rychlost v počtech slov za minutu pro textovou informaci zobrazovanou na dané pozici.
  15. 16.Systém podle kteréhokoliv z předcházejících nároků, vyznačující se tím, že řídicí prostředek (19) obsahuje prostředek pro změnu řídících parametrů pro změnu určitých z nastavitelných řídících parametrů současně a nezávisle na jiných řídících parametrech a funkcích řídícího prostředku (19).
  16. 17.Systém podle nároku 16, vyznačující se tím, že prostředek pro změnu parametrů spolupracuje se zmíněným prostředkem pro řízení prodlev a ten po změně zmíněného parametru pokračuje plynule s upravenou hodnotou.
  17. 18. Systém nárokovaný v předchozích bodech, vyznačující se tím, že řídicí prostředek (19) zobrazuje následující zmíněnou samostatnou část textové a/nebo grafické informace až po uplynutí mazacího času.
    <♦ <« '
  18. 19. Systém podle nároku 18, vyznačující se tím, že řídící prostředek (19) obsahuje prostředek pro řízení prodlev pro umožnění nastavení řídícího parametru pro mazací čas.
  19. 20.Systém podle nároku 18 nebo 19 jako závislých na nároku 16 nebo 17, vyznačující se tím, že prostředek pro změnu parametrů spolupracuje se zmíněným prostředkem pro řízení prodlev a ten po změně zmíněného mazacího času pokračuje plynule s upravenou hodnotou.
  20. 21. Systém podle kteréhokoliv z nároků 18 až 20 jako závislých na nároku 5 nebo jiných nároků závislých na bodu 5, vyznačující se tím, že řídicí prostředek (19) obsahuje překreslovací prostředek propřekreslení okna, na kterém je postupně umisťována textová a/nebo grafická informace stejnou barvou, jako je barva pozadí okna po celý mazací čas, ihned po uplynutí nastaveného zobrazovacího času.
  21. 22.Systém podle kteréhokoliv z předcházejících nároků, kde výkonný prostředek (13) je mikropočítač s grafickým uživatelským rozhraním, s multitáskingem a funkcemi pro práci s okny.
  22. 23.Systém podle nároku 22, vyznačující se tím, že řídicí prostředek (19) obsahuje prostředek pro řízení Času pro monitorování očekávaného a už uplynulého času jím prováděných funkcí a pro koordinaci předávání řízeni funkcím pro práci s okny a funkcím pro práci ve víceúlohovém prostředí.
  23. 24. Systém podle nároku 23, vyznačující se tím, že prostředek je uspořádán pro řízení času a pro monitorování času potřebného k • · # ·* to to··· • * ·· · «··* «40- * · · to to · · ♦·· ♦ * 75 * ·..· : ««*<·..· provedení funkcí systému a pro určení, zda funkce má plánováno trvat déle, než je interval, po kterém je nutno předat řízení zmíněné funkci zajišťující multitásking a práci s okny; pokud rozhodne, že současné funkce mají trvat déle než povolený časový interval, prostředek pro řízeni času předá řízení funkci zajišťující multitásking a práci s okny a opět získá řízení poté, co je vráceno funkcí zajišťující multitásking a práci s okny a po návratu řízení prostředek pro řízení Času spočítá čas zbývající k provedení současné funkce, a pokud je větší než povolený interval, znovu předá řízení funkci zajišťující multitásking a práci s okny; pokud určí, že funkce má plánováno trvat méně než je povolený interval, prostředek pro řízení času nepodmíněně čeká, dokud funkce není dokončena a monitoruje další funkci.
  24. 25.Systém podle kteréhokoliv z nároků 22 až 24, vyznačující se tím, že řídící prostředek (19) je počítačový program skládající se ze zdrojových souborů včetně souboru hlaviček, souboru zdrojů, a souboru hlaviček zdrojů, ze zdrojového souboru se vytvoří proveditelný soubor a ten běží současně s jednou nebo více dynamicky linkovanými knihovnami na zmíněném počítači.
  25. 26. Systém podle kteréhokoliv z předchozích nároků, vyznačující se tím, že řídící prostředek (19) je počítačový program ovládaný pomocí položek menu, z nichž každá má odpovídající klávesu - akcelerátor a vysílá zprávu, která volá funkci v určené třídě, určené třídy včetně jedné nebo více z následujících činností:
    i. vytvoření aplikace pro počítačový program a instance pro funkci vlastnící prohlížecí okno (37) a okno (39) záběrů;
    76 ClJ2póod , t ii. vlastnící zmíněné prohlížecí okno (37) a okno (39) záběrů pro zobrazení na zmíněném zobrazovacím prostředku (15);
    iii. získávající různé Časy prodlev pro obsluhu okna (39) záběrů ze vstupního prostředku (17);
    iv. získávající počet samostatných položek textové a/nebo grafické informace na záběr okna (39) záběrů ze vstupního prostředku (17);
    v. uchovávající polohu vybraného bloku textové a/nebo grafické informace a centrující ji v prohlížecím okně (37);
    vi. řídící zobrazení textové a/nebo grafické informace v okně (39) záběrů;
    vii. zobrazující nastavený počet samostatných položek textové a/nebo grafické informace, které tvoří danou část;
  26. 27. Systém podle nároku 26, vyznačující se tím, že funkce mohou vyvolat další funkce odpovídající funkcím poskytovaným řídícím prostředkem (19), jak je nárokováno v předchozích bodech, kde tyto funkce zahrnují centrovací prostředek, aplikační prostředek, prostředek pro práci s okny, prostředek pro zvýraznění části textu, prostředek pro posouvání textu, prostředek pro řízení prodlev, prostředek pro výběr části textu, prostředek pro změnu velikosti okna, prostředek pro změnu rychlosti procházení textu, prostředek pro změnu řídících parametrů, překreslovací prostředek a prostředek pro správu času.
    ··«· ·♦ ···♦ • * · « ♦ · · · * · ♦ · · · · · • · · ♦ ♦ · ♦· · · *
  27. 28. Způsob prezentování textové a/nebo grafické informace pro čtení zahrnující:
    výběr samostatných po sobě jdoucích částí textové a/nebo grafické informace;
    zobrazení těchto částí postupně na stejnou pozici na zobrazovací médium; a zobrazení celé části každé samostatné části v podstatě ihned na danou pozici po předepsaný čas.
  28. 29. Způsob podle nároku 28, vyznačující se tím, že zahrnuje centrování každé části do stran na dané pozici.
  29. 30. Způsob podle nároku 28 nebo 29, vyznačující se tím, že zahrnuje definování a určení vlastností prezentace textové a/nebo grafické informace na ploše obrazovky pro zobrazení na zobrazovacím médiu v souladu s pro ni nastavenými řídícími parametry.
  30. 31. Způsob podle nároku 30, vyznačující se tím, že umožňuje uspořádat plochu obrazovky do jednoho nebo více oken, pro které je určena textová a/nebo grafická informace.
  31. 32. Způsob podle nároku 31, vyznačující se tím, že okna obsahují okno záběrů a prohlížecí okno, okno záběrů zahrnuje pozice a prohlížecí okno zahrnuje oblasti pro výběr větší části textové a/nebo grafické informace ze které se odvozuje samostatná část textu.
    78 lt«· ·· 4444 44*· 4 4 · 4 · ·· • 4* 4 4 ♦ · ·
    4 * 4 4 4 4 ··· ·*
    ·..* *.·* : 0144.80?··
  32. 33. Způsob podle nároku 32, vyznačující se tím, že obsahuje zobrazování okna záběrů a prohlížecího okna ve stejném hlavním okně, současně obě společně v jednom okně.
  33. 34. Způsob podle nároku 32 nebo 33, vyznačující se tím, že zahrnuje automatické posouvání větší části v okně záběrů a středění řádku větší části, který odpovídá textové a/nebo grafické informace samostatné části v prohlížecím okně.
  34. 35. Způsob podle kteréhokoliv z nároků 32 až 34, vyznačující se tím, že obsahuje prostředky pro zdůraznění odpovídající textové a/nebo grafické informace v prohlížecím okně.
  35. 36. Způsob podle kteréhokoliv z nároků 32 až 35vyznačující se tím, že obsahuje výběr bloku textové a/nebo grafické informace zobrazené v prohlížecím okně a prezentující z něj samostatné a po sobě jdoucí části v okně záběrů.
  36. 37. Způsob podle kteréhokoliv z nároků 28 až 35, vyznačující se tím, že obsahuje nastavování řídících parametrů pro zobrazovací čas.
  37. 38. Způsob podle kteréhokoliv z nároků 28 až 37, vyznačující se tím, že obsahuje nastavení řídících parametrů pro samostatnou část.
  38. 39. Způsob podle kteréhokoliv z nároků 28 až 38, jako závislých na nároku 33, vyznačující se tím, že obsahuje změny velikosti prohlížecího okna tak, aby zabíralo určitou část plochy hlavního okna, vztaženou k velikosti okna záběrů.
    * · * · · ·· • · · · ♦ · ···· ·
  39. 40. Způsob podle kteréhokoliv z nároků 28 až 39, vyznačující se tím, že obsahuje počítání postupného počtu textové a/nebo grafické informace procházené za časový interval a zobrazení tohoto počtu na obrazové ploše.
  40. 41. Způsob podle kteréhokoliv z nároků 28 až 39, vyznačujíécí se tím, že obsahuje změny určitých řídících parametrů současně a nezávisle na ostatních řídících parametrech a funkcích.
  41. 42. Způsob podle nároku 41, vyznačující se tím, že obsahuje změny řídících parametrů pro zobrazovací čas, poté, co už byl nastaven, řízené a souvisle.
  42. 43. Způsob podle kteréhokoliv z nároků 28 až 42, vyznačující se tím, že obsahuje zobrazení samostatné části textové a/nebo grafické informace odděleně od předchozí části v mazacím čase.
  43. 44. Způsob podle nároku 43, vyznačující se tím, že zahrnuje změny řídících parametrů pro mazací čas.
  44. 45. Způsob podle nároku 43 nebo 44, závislých na nároku 41 nebo 42, vyznačující se tím, že zahrnuje nastavování řídících parametrů pro předepsaný mazací čas, poté co už byl nastaven, řízené a souvisle.
  45. 46. Způsob podle kteréhokoliv z nároků 28 až 45 v závislosti na nároku 31, vyznačující se tím, že obsahuje překreslení okna stejnou barvou jako má pozadí okna záběrů po celou dobu trvání mazacího času ihned poté, co uplynul zobrazovací čas.
    ···· ·· ·♦·· • · · ♦ · · · · · · • * « · « · · ·· • ♦ · · ·· · «· · · ·
    - 8θ - .:. ·..· ·..· :
  46. 47. Způsob podle kteréhokoliv z nároků 28 až 46, vyznačující se tím, že obsahuje prezentace textové a/nebo grafické informace pro čtení ve spojení s funkcemi multitásking při práci s okny.
  47. 48. Způsob podle nároku 47, vyznačující se tím, že obsahuje monitorování očekávaného a uplynulého času funkcí prováděných pří prezentaci textové a/nebo grafické informace a koordinace předávání řízení funkcím multitásking při práci s okny.
  48. 49. Způsob podle nároku 48, vyznačující se tím, že obsahuje monitorování Časů potřebných k provedení funkcí a určení, zda současná funkce má plánováno trvat déle, než je interval povolený pro takovou funkci funkcí multitásking při práci s okny, předávání řízení funkci multitásking při práci s okny a získávání řízení zpět při zjištění, že současná funkce má plánováno trvat déle než je povolený interval, spočtení zbývajícího Času potřebného k provedení současné funkce při návratu řízení z funkce multitásking při práci s okny a neomezené čekání dokud funkce není dokončena pokud se zjistí, že současná funkce má plánováno trvat méně, než povolený interval, a monitorování další funkce po čekání.
  49. 50. Způsob podle kteréhokoliv z nároků 28 až 49, vyznačující se tím, že zahrnuje obsluhu položek menu, z nichž každá má odpovídající akcelerátor a které posílají zprávu vyvolávající funkci v určené třídě, přičemž určené třídy obsahují jednu nebo více následujících funkcí:
    cy*Bo? · · *
    1. vytvoření aplikace pro zmíněný počítačový program a instance pro funkci držení prohlížení okna a okna záběrů;
    li. vytváření aplikace pro počítačový program a instance pro držení prohlížení okna a okna záběrů lii.držení prohlížení okna a okna záběrů pro zobrazení na zobrazovacím prostředku;
    liii.získávání různých časů prodlev pro obsluhu okna záběrů ze vstupního prostředku;
    liv.získávání soustavy samostatných položek textové a/nebo grafické informace najeden záběr okna záběrů ze vstupního prostředku;
    lv.uchovávání polohy identifikující vybraný blok textové a/nebo grafické informace a její centrování v prohlížecím okně;
    lvi.řízení zobrazení textové a/nebo grafické informace v zmíněném okně záběrů;
    lvii.zobrazení nastaveného počtu samostatných položek textové a/nebo grafické informace které tvoří danou Část;
  50. 51.Způsob podle nároku 50, vyznačující se tím, že daná funkce může vyvolat další funkce odpovídající funkcím nárokovaným v kterémkoliv z nároků 28 až 49.
  51. 52.Systém prezentování textové a/nebo grafické informace pro Čtení v podstatě tak, jak je zde popsán s odkazy na doprovodné obrázky.
    • ···· ·· ··♦· ·· ·· • 9 • · · • · · · 82 - • · · • ♦ · • · ♦ · · cral*’ · • · · · · • · « • · *
  52. 53.Způsob prezentování textové a/nebo grafické informace pro čtení v podstatě tak, jak je zde popsána s odkazy na doprovodné obrázky.
    *♦·· .-..-.1 v 620-W
    1/18 lín ] • · · · • ·
    3/18
    4/18
    4 · • a ·
    Speed Read Options
    Exit Alt+F4 Γ® i------------------------------1
    5/18
    99 ··
    9 9 a 99
    Charon Reader - Untitled
    7*·*
    I... ASuperClip 2.0
    Shareware Edition • · « · * ·
    Φ ·
    6/18
    Filé Name:
    F^l αππ
    Djrectonet: e:\
    readlext.txt 3 fc> e:\ E ψ List Filé* oí Tjipe: Drive*: [Text (ile* (*.txl) i £3 e: \\*tation09\reade íl
    11^B—B^MM^BM Shareware Editinn
    I · /.'Zs^ai: ’! :1,:(=:,-7.1 <;(l|j | • · * ·
    Filé Speed Read Options
    READING ENHANCEMENT PROGRAM
    For many people, the time they require (ar reading is in excess of the time they either háve available or wish to spend on it.
    This invention relates tn improvements in the process of increasing reading speed and maintaining comprehension and retention of the reading matter.
    The present invention provides a systém that enables the process of reading to be undertaken in a manner that presents a single word onto a computer screen, and then replaces it with the following word in exactly the same position, elíminating motion of the eye between consecutive words.
CZ98620A 1995-09-04 1996-09-04 Pomůcka pro čtení CZ62098A3 (cs)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AUPN5204A AUPN520495A0 (en) 1995-09-04 1995-09-04 Reading aid

Publications (1)

Publication Number Publication Date
CZ62098A3 true CZ62098A3 (cs) 1998-10-14

Family

ID=3789533

Family Applications (1)

Application Number Title Priority Date Filing Date
CZ98620A CZ62098A3 (cs) 1995-09-04 1996-09-04 Pomůcka pro čtení

Country Status (20)

Country Link
US (2) US6113394A (cs)
EP (1) EP0852047B1 (cs)
JP (1) JP2000500243A (cs)
KR (1) KR19990044503A (cs)
CN (1) CN1148712C (cs)
AT (1) ATE245300T1 (cs)
AU (2) AUPN520495A0 (cs)
BG (1) BG102371A (cs)
BR (1) BR9610363A (cs)
CA (1) CA2231242A1 (cs)
CZ (1) CZ62098A3 (cs)
DE (1) DE69629120T2 (cs)
HU (1) HUP9900340A3 (cs)
IL (1) IL123555A0 (cs)
MX (1) MX9801739A (cs)
NO (1) NO980941L (cs)
NZ (1) NZ315986A (cs)
PL (1) PL325528A1 (cs)
TR (1) TR199800384T1 (cs)
WO (1) WO1997009704A1 (cs)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPN520495A0 (en) * 1995-09-04 1995-09-28 Charon Holdings Pty Ltd Reading aid
DE19714443A1 (de) * 1997-04-08 1998-10-22 Eberhard Frost Automatische visuelle Textausgabe
US6931587B1 (en) * 1998-01-29 2005-08-16 Philip R. Krause Teleprompter device
US6457031B1 (en) * 1998-09-02 2002-09-24 International Business Machines Corp. Method of marking previously dictated text for deferred correction in a speech recognition proofreader
JP2000099441A (ja) * 1998-09-25 2000-04-07 Fujitsu Ltd 情報を調整して提示する情報提示装置および方法
US6324511B1 (en) * 1998-10-01 2001-11-27 Mindmaker, Inc. Method of and apparatus for multi-modal information presentation to computer users with dyslexia, reading disabilities or visual impairment
US7320105B1 (en) * 1998-12-01 2008-01-15 Intel Corporation Data display using multicolumn scrolling
SE515805C2 (sv) * 1998-12-23 2001-10-08 Tomas Dalstroem Anordning för att understödja läsning av en text från ett visningsorgan
RU2153196C1 (ru) * 1999-05-25 2000-07-20 Гаталов Олег Николаевич Способ управления предъявлением информации
EP1580961A3 (en) * 2000-02-21 2011-12-28 NTT DoCoMo, Inc. Information distributing method, information distributing system, information distributing server, mobile communication network system, and communication service providing method
US6515690B1 (en) * 2000-02-25 2003-02-04 Xerox Corporation Systems and methods providing an interface for navigating dynamic text
SE522895C2 (sv) 2000-03-29 2004-03-16 Tomas Dalstroem Arrangemang och förfarande i ett kommunikationsnät för att medhjälp av en registreringsenhet kontrollera hur mycket av en webbsida som en användare har läst
CN1230731C (zh) * 2000-08-04 2005-12-07 朴奎珍 使用显示器的阅读装置及其方法
SE524403C2 (sv) * 2000-11-06 2004-08-03 Ericsson Telefon Ab L M System och metod för anpassningsbar RSVP-baserad textvisning
JP4308555B2 (ja) * 2003-03-10 2009-08-05 パナソニック株式会社 受信装置および情報閲覧方法
US20040253568A1 (en) * 2003-06-16 2004-12-16 Shaver-Troup Bonnie S. Method of improving reading of a text
US7882434B2 (en) * 2003-06-27 2011-02-01 Benjamin Slotznick User prompting when potentially mistaken actions occur during user interaction with content on a display screen
US7664770B2 (en) * 2003-10-06 2010-02-16 Lycos, Inc. Smart browser panes
CN100371889C (zh) * 2004-07-08 2008-02-27 腾讯科技(深圳)有限公司 一种在即时通讯工具软件中使用表情符号的方法
WO2006042292A2 (en) * 2004-10-12 2006-04-20 Freedom Scientific, Inc. Reading alerts and skim-reading system
US20060088805A1 (en) * 2004-10-27 2006-04-27 Narda Pitkethly Reading instruction system and method
US20060212789A1 (en) * 2005-01-13 2006-09-21 Cucoco Ltd Method to improve reading and skimming speed
US9275052B2 (en) 2005-01-19 2016-03-01 Amazon Technologies, Inc. Providing annotations of a digital work
US7527498B2 (en) * 2005-03-22 2009-05-05 Read Naturally Method and apparatus for timing reading
JP2006301978A (ja) * 2005-04-20 2006-11-02 Matsushita Electric Ind Co Ltd ウィンドウ枠構成情報を利用したインターネット端末装置、枠サーバ、情報システム及びブラウザの実行方法
US8418057B2 (en) * 2005-06-01 2013-04-09 Cambridge Reading Project, Llc System and method for displaying text
US8977636B2 (en) * 2005-08-19 2015-03-10 International Business Machines Corporation Synthesizing aggregate data of disparate data types into data of a uniform data type
US8271865B1 (en) * 2005-09-19 2012-09-18 Google Inc. Detection and utilization of document reading speed
US8082516B2 (en) * 2005-11-01 2011-12-20 Lycos, Inc. Preview panel
US8756057B2 (en) * 2005-11-02 2014-06-17 Nuance Communications, Inc. System and method using feedback speech analysis for improving speaking ability
US8694319B2 (en) * 2005-11-03 2014-04-08 International Business Machines Corporation Dynamic prosody adjustment for voice-rendering synthesized data
CN100440115C (zh) * 2006-01-26 2008-12-03 致伸科技股份有限公司 手持式电子装置
US9135339B2 (en) 2006-02-13 2015-09-15 International Business Machines Corporation Invoking an audio hyperlink
US20070238077A1 (en) * 2006-04-11 2007-10-11 Edward Strachar Interactive Reading Teaching Tool System
US20070294637A1 (en) * 2006-06-20 2007-12-20 Martin Renaud Grouped cascading user interface
US8725565B1 (en) 2006-09-29 2014-05-13 Amazon Technologies, Inc. Expedited acquisition of a digital item following a sample presentation of the item
US9672533B1 (en) 2006-09-29 2017-06-06 Amazon Technologies, Inc. Acquisition of an item based on a catalog presentation of items
WO2008051510A2 (en) * 2006-10-20 2008-05-02 Vubotics, Inc. System and method for analyzing and delivering information
US7865817B2 (en) 2006-12-29 2011-01-04 Amazon Technologies, Inc. Invariant referencing in digital works
US9318100B2 (en) 2007-01-03 2016-04-19 International Business Machines Corporation Supplementing audio recorded in a media file
US20110055209A1 (en) * 2007-02-23 2011-03-03 Anthony Novac System and method for delivering content and advertisments
US9665529B1 (en) 2007-03-29 2017-05-30 Amazon Technologies, Inc. Relative progress and event indicators
US7716224B2 (en) 2007-03-29 2010-05-11 Amazon Technologies, Inc. Search and indexing on a user device
US20080301032A1 (en) * 2007-04-03 2008-12-04 Musier Reiner F H Derivatives of environmentally relevant items
US7921309B1 (en) 2007-05-21 2011-04-05 Amazon Technologies Systems and methods for determining and managing the power remaining in a handheld electronic device
CN101344844B (zh) * 2007-07-12 2011-06-29 英业达股份有限公司 调整讯息停留时间的系统及其方法
CN101889260B (zh) * 2007-11-20 2012-11-14 日本电气株式会社 电子文本阅览装置、方法以及移动电话
US9087032B1 (en) 2009-01-26 2015-07-21 Amazon Technologies, Inc. Aggregation of highlights
US8832584B1 (en) 2009-03-31 2014-09-09 Amazon Technologies, Inc. Questions on highlighted passages
US8692763B1 (en) 2009-09-28 2014-04-08 John T. Kim Last screen rendering for electronic book reader
US8379801B2 (en) 2009-11-24 2013-02-19 Sorenson Communications, Inc. Methods and systems related to text caption error correction
US20120054672A1 (en) * 2010-09-01 2012-03-01 Acta Consulting Speed Reading and Reading Comprehension Systems for Electronic Devices
US9495322B1 (en) 2010-09-21 2016-11-15 Amazon Technologies, Inc. Cover display
US9028255B2 (en) 2010-10-06 2015-05-12 Dominic William Massaro Method and system for acquisition of literacy
US10019995B1 (en) 2011-03-01 2018-07-10 Alice J. Stiebel Methods and systems for language learning based on a series of pitch patterns
US11062615B1 (en) 2011-03-01 2021-07-13 Intelligibility Training LLC Methods and systems for remote language learning in a pandemic-aware world
US9158741B1 (en) 2011-10-28 2015-10-13 Amazon Technologies, Inc. Indicators for navigating digital works
US8918718B2 (en) * 2012-02-27 2014-12-23 John Burgess Reading Performance System Reading performance system
US9552596B2 (en) 2012-07-12 2017-01-24 Spritz Technology, Inc. Tracking content through serial presentation
US9483109B2 (en) 2012-07-12 2016-11-01 Spritz Technology, Inc. Methods and systems for displaying text using RSVP
US8903174B2 (en) 2012-07-12 2014-12-02 Spritz Technology, Inc. Serial text display for optimal recognition apparatus and method
US20140189586A1 (en) 2012-12-28 2014-07-03 Spritz Technology Llc Methods and systems for displaying text using rsvp
US9275017B2 (en) * 2013-05-06 2016-03-01 The Speed Reading Group, Chamber Of Commerce Number: 60482605 Methods, systems, and media for guiding user reading on a screen
US10453353B2 (en) 2014-12-09 2019-10-22 Full Tilt Ahead, LLC Reading comprehension apparatus
US20170061935A1 (en) * 2015-08-31 2017-03-02 Sap Se Adaptive message display duration
US10146758B1 (en) * 2016-09-30 2018-12-04 Amazon Technologies, Inc. Distributed moderation and dynamic display of content annotations
US20200311194A1 (en) * 2019-03-27 2020-10-01 Hexagon Technology Center Gmbh Structured data jump mechanism
US12086532B2 (en) 2020-04-07 2024-09-10 Cascade Reading, Inc. Generating cascaded text formatting for electronic documents and displays
CN112000905B (zh) * 2020-08-26 2023-12-08 连尚(北京)网络科技有限公司 信息的显示方法和装置
US11170154B1 (en) 2021-04-09 2021-11-09 Cascade Reading, Inc. Linguistically-driven automated text formatting
WO2023059818A1 (en) 2021-10-06 2023-04-13 Cascade Reading, Inc. Acoustic-based linguistically-driven automated text formatting

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3878327A (en) * 1973-10-17 1975-04-15 Westinghouse Electric Corp Television system for improving reading skills
US3906644A (en) * 1974-10-21 1975-09-23 Harold N Levinson Method of presenting reading material to dysmetric dyslexic-identified children
US3938139A (en) * 1974-12-30 1976-02-10 Young Communications Corporation Miniature display communicator
GB1476133A (en) * 1975-02-24 1977-06-10 Atkinson E Teaching aids
US4160242A (en) * 1977-06-28 1979-07-03 Fowler Gerald C Reading machine
US4636173A (en) * 1985-12-12 1987-01-13 Robert Mossman Method for teaching reading
FR2611961A1 (fr) * 1987-03-04 1988-09-09 Jollivet Lucien Enregistrement video, avec des textes enregistres a l'int ention de malvoyants
US5147205A (en) * 1988-01-29 1992-09-15 Gross Theodore D Tachistoscope and method of use thereof for teaching, particularly of reading and spelling
US5145375A (en) * 1990-02-20 1992-09-08 Rubio Rafael R Moving message learning system and method
US5233333A (en) * 1990-05-21 1993-08-03 Borsuk Sherwin M Portable hand held reading unit with reading aid feature
US5169342A (en) * 1990-05-30 1992-12-08 Steele Richard D Method of communicating with a language deficient patient
US5442742A (en) * 1990-12-21 1995-08-15 Apple Computer, Inc. Method and apparatus for the manipulation of text on a computer display screen
JP2525546B2 (ja) * 1992-09-08 1996-08-21 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックリソ―ス・エディタ
US5385475A (en) * 1993-04-01 1995-01-31 Rauland-Borg Apparatus and method for generating and presenting an audio visual lesson plan
US5741136A (en) * 1993-09-24 1998-04-21 Readspeak, Inc. Audio-visual work with a series of visual word symbols coordinated with oral word utterances
US5392386A (en) * 1994-02-03 1995-02-21 Inter Hi-Tec Ag Method and apparatus for adding functionality to computer programs executing under graphical user interfaces
GB2287386A (en) * 1994-03-10 1995-09-13 Ibm Method of displaying text having improved useability
US5542088A (en) * 1994-04-29 1996-07-30 Intergraph Corporation Method and apparatus for enabling control of task execution
AUPN520495A0 (en) * 1995-09-04 1995-09-28 Charon Holdings Pty Ltd Reading aid

Also Published As

Publication number Publication date
ATE245300T1 (de) 2003-08-15
HUP9900340A3 (en) 1999-11-29
BR9610363A (pt) 1999-12-21
TR199800384T1 (xx) 1998-05-21
EP0852047A4 (en) 1998-12-02
MX9801739A (es) 1998-11-29
AUPN520495A0 (en) 1995-09-28
HUP9900340A2 (hu) 1999-05-28
US6113394A (en) 2000-09-05
AU6782096A (en) 1997-03-27
IL123555A0 (en) 1998-10-30
US6568939B1 (en) 2003-05-27
BG102371A (en) 1998-12-30
PL325528A1 (en) 1998-08-03
NO980941L (no) 1998-04-30
CA2231242A1 (en) 1997-03-13
WO1997009704A1 (en) 1997-03-13
DE69629120T2 (de) 2004-04-22
CN1148712C (zh) 2004-05-05
CN1200826A (zh) 1998-12-02
JP2000500243A (ja) 2000-01-11
NZ315986A (en) 2000-02-28
KR19990044503A (ko) 1999-06-25
EP0852047B1 (en) 2003-07-16
DE69629120D1 (de) 2003-08-21
EP0852047A1 (en) 1998-07-08
NO980941D0 (no) 1998-03-04

Similar Documents

Publication Publication Date Title
CZ62098A3 (cs) Pomůcka pro čtení
CA2093839C (en) Method and system for demonstrating a computer program
US6802055B2 (en) Capturing graphics primitives associated with any display object rendered to a graphical user interface
US5583761A (en) Method for automatic displaying program presentations in different languages
US6020886A (en) Method and apparatus for generating animated help demonstrations
EP0690426B1 (en) A computer based training system
US6377928B1 (en) Voice recognition for animated agent-based navigation
US5493658A (en) Interactive online tutorial system with monitoring function for software products
US5754178A (en) Method and apparatus for improved feedback during manipulation of data on a computer controlled display system
US5598524A (en) Method and apparatus for improved manipulation of data between an application program and the files system on a computer-controlled display system
US5621878A (en) Method and apparatus or manipulating data from a suspended application program on a computer-controlled display system
US6061058A (en) Method and apparatus for transferring data by type according to data types available
Myers State of the art in user interface software tools
US20040056900A1 (en) System and method for window priority rendering
EP1491989A2 (en) Menus whose geometry is bounded by two radii and an arc
US20070216712A1 (en) Image transformation based on underlying data
US5816820A (en) Simulation generation system
Cunningham et al. A diagram for object-oriented programs
US6266056B1 (en) Display widget interaction in embedded systems using child graphics contexts
US5802531A (en) Method and system for embedding parts of documents and synchronizing multiple views thereof
EP1011042B1 (en) Applet and application display in embedded systems using bufferless child graphics contexts
CA2357160A1 (en) Wizard user interface providing interim system product generation and reversion during wizard traversal
US6351272B1 (en) Applet and application display in embedded systems using child and orphan graphics contexts
King -Screenreaders, Magnifiers, and Other Ways of Using Computers
Wang Eye-tracking with Python and Pylink

Legal Events

Date Code Title Description
PD00 Pending as of 2000-06-30 in czech republic