ALIS

Software pro veřejnou správu

Vzdálená pomoc

PC FAND 4.2

Od srpna 1999 je na trhu dosud nejlépe připravená verze PC FANDu na rok 2000 (programátor může zajistit plnou nezávislost aplikace na datumu operačního systému a aplikaci tak lze provozovat i na PC, které rok 2000 nezvládnou). Další podstatnou novinkou je podpora Tiskového manažeru a externího tisku obecně. Ta je určena pro potřeby tisku FANDovských sestav na GDI tiskárnách, které již nepodporují tisk z DOSových aplikací. Dále je vyřešen tisk přes logický port.

Přehled novinek verze 4.2

  • Úpravy k roku 2000
  • Úprava měření času
  • Tisk přes "logický" port
  • Podpora tiskového manažeru
  • Příkaz RESTORE
  • Příkaz MENU(loop/bar)

Úpravy k roku 2000

  • Pro aplikaci lze přiřazením  today:=číselnýVýraz; změnit interní implicitní datum, které se zohledňuje ve všech interních i explicitních použitích funkce today.  Tímto přiřazením lze pro aplikaci PC FANDu "totálně" vyřešit případný problém s chybnými výsledky systémové funkce today na daném PC.  Přiřazením today:=0;  se aplikace vrátí k načítání systémové hodnoty today.
  • Dále jde vesměs o výskyty datumu v "krátkém" formátu DD.MM.YY v některých výpisech, kde je autor aplikace nemůže (jednoduše        nebo vůbec) ovlivnit. Jelikož by datumy v roce 2000 (DD.MM.00) působily na obsluhu podivně, byly prodlouženy na plný formát DD.MM.YYYY i za cenu možných problémů z prodloužení informace. Jde o tyto výskyty:          
    • Příkaz EDIT, parametr HEAD, povoluje masku pro datum __.__.____
    • Implicitní HEAD-line editoru nyní obsahuje datum v plném formátu
    • V autoreportu se do hlavičky také nasazuje datum v plném tvaru.
    • V příkazu headline se dosadí datum v plném tvaru.
    • Údaj TimeStamp souboru JOURNALOF má nyní masku DD.MM.YYYY hh:mm:ss

Úprava měření času

Dříve se provádělo podle trvání instrukcí - což je např. pod Windows již naprosto nepřesné (přidělování času). Nyní se měří podle interních hodin. Důsledek - minimálni měřená jednotka je CPU (0.0182 sec).  

Tisk přes "logický" port

Zatím PC FAND tisknul přes přerušení BIOSu 17H. Což má sice výhodu v lepší komunikaci s tiskárnou ale v některých situacích, například pod Windows to zřejmě přináší možnost problémů z důvodů kolizí na paralelních portech. Proto byla do PC FANDu zabudována možnost tisku přes tzv. "logický" port, což znamená, že PC FAND zasílá výstup do souboru se jménem LPTx, jehož přesměrování na tiskárnu je již realizováno operačním systémem (DOS,Windows,síťový klient).

Kromě předpokládaného odstranění některých kolizí při tisku pod Windows to přinese i možnost tisku na porty LPT5 - LPT9, které jsou dostupné právě pod Windows 95/98.

Tisk na logický port se realizuje při nastavení timeout=254 pro danou tiskárnu ve FANDINST. Zároveň byla odstraněna blokace na zadání portu LPT5 a výše. Tečkové příkazy .ff,.nm ztrácí částečně svůj význam.

 

Podpora tiskového manažeru

Tiskový manažer pro Win.. Zkušenosti z praxe jsou velmi dobré. Výhrady jsou jen k uživatelské snadnosti ovládání. Buďto musí uživatel spustit nějakou dávku mimo okno FAND-aplikace, nebo musí být v aplikaci upraveny všechny reporty.

Ve verzi FANDu 4.2 bude možno zaslání tiskového souboru pro manažer jakož i samotné volání manažeru instalovat jako speciální typ tiskárny. Takže tisk přes manažer se bude provádět standardně přes F6 jako na jakoukoliv jinou tiskárnu bez zásahu do úlohy. Konečné použití mechanismu podpory bude zřejmě širší než jen tento konkrétní tiskový manažer.

Podpora pro manažer se nastavuje ve FANDINST - tiskárny - nastavením timeout = 253. Pro další nastavení jsou použity sekvence reset,délka strany a ukonč.řetězec, které jsou ovšem při zadání timeout=253 přejmenovány:

  • Název kopie(reset) = NázevSouboru Po stisku F6 z text.editoru FANDu dojde ke zkopirovani souboru (PRINTER.TXT) do souboru NázevSouboru. Uvádí se včetně cesty. Jméno souboru může obsahovat speciální znak '#', který bude nahrazen pořadovým číslem 0,...,99 (cyklicky).
  • Název programu(délka strany) Pokud je tento parametr uveden, provede se po předchozí akci (zkopirování tisk. souboru) ke spuštění daného programu. Jde o podporu jednorázového spuštení tisk. manažeru.
  • Parametry programu(ukonč.řetězec) Parametry pro spuštěný program. Pokud je zde použit speciální znak '#', je nahrazen cílovým názvem tisk. souboru po zkopírování.

!!! Struktura souboru FAND.CFG zůstava stále stejná. Nová verze FANDINSTu při zadání timeout=253 jiz nenabízí standardní ESC sekvence ale jen uvedené tři parametry.  

Příkaz RESTORE

Při obnovování souborů nyní zruší ty soubory, které se obnovily s délkou = 0. To vadilo při přechodu z nesiťové na síťovou verzi aplikace.  

Příkaz MENU(loop/bar)

Byla odstraněna kontrola kompilátoru na počet položek v menu < 24. Nyní vyvolá případné chybové hlášení až při běhu podle aktuálních podmínek vyhodnocení voleb menu.  

Další změny a nekompatibility

Oprava nedostatečné syntaktické kontroly zápisu exit procedury v uživatelském pohledu. Parametrem procedury již nemůže být údaj souboru (je přístupný přes rekord). Použití tohoto zápisu mohlo vést k zabloudění programu při překladu, nyní je hlášena syntaktická chyba.

V důsledku opravy některých (i starých) chyb očekáváme zvýšení stability aplikací.  

Dodatečné úpravy verze 4.2

Aktuální distribuce FANDu 4.2 je aktualizována o tyto opravy:
  • Pokud se ve FANDINST, Tiskárny, pro danou tiskárnu nastaví parametr Zaver.sekvence=6666, nebude se po ukončení tisku automaticky odstránkovávat (jako při použití .ff). Poznámka: 6666 je hexadecimální zápis sekvence "ff". Řeší se tak stavy, kdy tiskárna sama po tisku stránkuje a nelze to vypnout (nebo se neví jak). Použití .ff by vyžadovalo zásah do úlohy.
  • Příkaz BACKUPM díky internímu omezení a několika chybám mohl při větším počtu souborů (nad 5.000) havarovat. Více viz. Příkaz BACKUPM - problémy.
  • Oprava vnitřní struktury u indexových souborů .X00 nad 32MB.  V určitých případech byly chybné i nově vygenerované indexy.

Pro stávající majitele verze 4.2 - původní distribuce z roku 1999 jsou nelicencované varianty runtime (uživatelský mono-runtime) k dispozici v sekci "ke ztažení". Upravené licencované runtime zašleme přes internet zdarma, běžnou poštou za distribuční poplatky. Při objednávce uveďte licenční číslo původní 4.2.

Další opravy verze 4.2

Následující opravy nejsou ověřeny, proto zatím nebyly zahrnuty do distribuce verze 4.2. Uživatelské moduly MONO jsou dostupné v sekci ke ztažení - část "Ověřování oprav 4.2". Uživatelské sítové moduly k ověření oprav zašleme na požádání majitelům licence verze 4.2.

  • Oprava indexu při mnohonásobné duplicitě, nalezeno při revizi zdrojáku, chyba nebyla hlášena.
  • Chyba při použití hodnot null pro údaje typu F.
  • !!!  Úpravy náhradniho tisku (tisk. manažer) Snížení paměťových nároků při kopírováni tisk. souboru do kopie pro tisk. manazer. Úpravy volání programu pro náhradní tisk, podobně jako FREEMEM pro přikaz EXEC. Měly by se takto odstranit hlášky  "nestačí pamět" při tisku přes tisk. manažer.