Katica V1.0

"Katica" hangkazetta lista nyilvántartó program
(Megjelent a CHIP Magazin 25. CD-jén, 1998 márciusában.)

A nyilvántartás valaha úgy kezdődött, hogy egy 102x130 mm-es papírlapra írógéppel 30 sor x 40 betű szerkezetű listák készültek. Egy sor tartalmazta az előadót és a zeneszám címét. Az "A" oldal zenéi után következett egy vízszintes választóvonal, majd a "B" oldal listája. Végül a papírlap a 15. és a 16. sor között kettéhajtva pontosan becsúsztatható volt a kazettatokba. Amikor már volt egy Commodore 64-es gépem és MPS 801-es nyomtatóm, nyilvántartó programot készítettem. Az adott képernyő miatt a szerkesztés csak 25 sorban zajlott (ez általában elegendő volt), de a lista kinyomtatva "30 soros" volt. Az MPS 801 10cpi-s írássűrűségével 80 karakter fért ki egy sorban az A4-es lapra, ami pontosan kétszer olyan széles volt, mint a korábbi formátum. Egymás mellé tehát két lista volt készíthető, középen kettévágandó. A kazetták sorszámozva voltak, az első az 1-essel, a második a 2-essel, stb. A listákat lehetett szerkeszteni, törölni, módosítani, nyomtatni. Nyomtatásnál a 25. sor után természetesen üres sorok következtek, de csak 29-ig. A 30. sorban egy rövidke szöveg és a kazetta sorszáma volt olvasható. A 25x40=1000 bájt hosszú blokkokból 160 db (~156KB) fért egy lemezoldalra, relatív fájlban tárolva. Természetesen egy foglaltsági lista is volt, hogy lehessen tudni a mindenkori állapotot.

Hasonló a mostani programom is, immár PC-re. A különbség:
Természetesen itt is sorszámmal lehet elérni a listákat, 1-től 1000-ig. Egy lap 48x28=1344 bájt méretű, ebből 1001 db van egyetlen fájlban (1 345 344 bájt). A nulladik blokk a foglaltsági tábla és a konfiguráció, a többi ezer pedig a tényleges adat. Az adattárolás csak a 32..255-ös ASCII karakterekkel történik, CR és LF kódok nélkül.

A KATICA program három fájlból áll:

KATICA.EXE - a nyilvántartó program
KATICA.DAT - az adatállomány
KATICA.TXT - ez a leírás

Indítás után a program megvizsgálja, hogy VGA monitort használunk-e. Erre azért van szükség, hogy átállíthassa majd azt 34 soros és 16 háttérszínű üzemmódba. Ezután, ha nem volt bekapcsolva az írás utáni visszaellenőrzés, ideiglenesen átállítja azt (Verify on). Ez nem fog ártani. Majd ellenőrzi, hogy létezik-e az adatfájl. Ha nem, akkor felkínálja egy új fájl létrehozását. Ha minden rendben történt, megjelenik a főmenü:



VIEW LIST

A listák megtekintése. Ha van már beírt lista, a foglaltsági tábla alapján fel is kínálja az utoljára beírtat, pontosabban a folyamatosan egymást követő listák közül az utolsót. Azért azt, mert valószínűleg nem a hónapokkal-évekkel korábbiakra vagyunk kíváncsiak, hanem az újakra. A le/fel kurzorbillentyűkkel egyesével, a PgUp/PgDn-al pedig tízesével lépkedhetünk. Enter-t ütve konkrét sorszámmal bárhová ugorhatunk (1-1000).

EDIT LIST

Lista szerkesztése. Ha van még szabad hely, a program a soron következőt kínálja fel. Ha nincs, akkor is szerkeszthetünk, de figyelmeztetést kapunk róla, valamint a sorszám helyett "????" fog megjelenni. Az Ins billentyűvel választhatunk a beszúrásos vagy a felülírásos szerkesztési mód között, ezt a kurzor mérete is jelzi (kis kurzor-nagy kurzor). Előző munkánkat Alt+L (Load) behívhatjuk, az aktuálist Alt+S (Save) elmenthetjük vagy Alt+N (New) újat kérhetünk, ha még van üres hely. Az elmentett lista természetesen a foglaltsági táblán is bejegyzésre kerül egy "+" jellel, ha csak nem üres (Space) sorokat mentünk el. Ez utóbbi esetében szabad "-" lesz a bejegyzett pozíció. Sortörlés-sorbeszúrás a Alt+I (Ins) illetve Alt+D (Del) megnyomásakor fog bekövetkezni.

PRINT LIST

Nyomtatás. Választhatunk az Epson (kompatibilis?) nyomtatók három alapvető karakteres üzemmódja közül:

DRAFT (Draft Sans Serif)
ROMAN (NLQ Roman)
SERIF (NLQ Sans Serif)

A lapozás a VIEW LIST menühöz hasonlóan történik (Crsrs, PgUp, PgDn, Enter). A képernyő alján a két nyomtatandó listát láthatjuk, pontosabban csak annyit, amennyi kifér oda belőlük. Meghatározhatjuk viszont azt, hogy a kiválasztás mindkét (Twin) vagy csak az egyik oldalra legyen érvényes (Left, Right). Eltérő sorszámú oldalak kiválasztása esetén, egy újabb iker kiválasztáskor, a program a baloldalhoz igazítja a jobboldal sorszámát. Nyomtatni Alt+P (Print) megnyomásával tudunk. A listák elé és után egy-egy olyan sor kerül, amelynek jelzéseinél majd könnyedén méretre vághatjuk a papírt vonalzó és penge (kés) segítségével. Kikapcsolt nyomtató, kifogyott papír, stb. esetén a program nem fog molesztálni a megjegyzéseivel, hanem csendben a semmibe nyomtat. Ezt észre fogjuk venni és majd akkor intézkedhetünk.

TABLE EDIT

A foglaltsági táblát (a KATICA.DAT fájl nulladik blokk, 1..1000 bájt) mutatja, karbantartást is végezhetünk rajta. A "+" jel foglalt, a "-" jel szabad listát jelent. Mozoghatunk a táblán a Crsrs-, Home-, End-, PgUp-, PgDn- billentyűkkel. Azt, hogy sorszám szerint hol járunk, az ablak felső részéről leolvashatjuk. Adott listát a "V" billentyűvel részlegesen meg is tekinthetünk. Alt+C (Copy) lista másolása (a pufferbe), Alt+U (Cut) ugyanez, csak kivágással (az eredeti helyén megszűnik), Alt+P (Paste) lista beillesztése az új helyre. Akkor hasznos ez a menü, ha a táblára pillantva a temérdek üres lista között egy foglaltat fedezünk föl (vajon ki menthette el oda?). Megtekintve intézkedhetünk sorsáról, törölhetjük, áthelyezhetjük.

CONFIG

A program beállításai.

A 16 háttérszín/16 írásszín üzemmódban:

F1/F2 csökken/nő a háttér háttérszíne
F3/F4 csökken/nő a háttér írásszíne
F5/F6 csökken/nő az ablakok háttérszíne
F7/F8 csökken/nő az ablakok írásszíne

Átírhatjuk a 42 karakter hosszú kommentár szöveget "C".

Magyarázat a kommentár alapbeállításához:

SOURCE:[          ] - zene forrása (CD, MC, LP, DAT, LIVE)
    NR:[          ] - zajcsökkentő (DOLBY B, DOLBY C, OFF)
   No.:             - sorszám elnevezése (Nomero), mert az lesz a kommentár után kinyomtatva!
A "[ ]" zárójelek közé, a megfelelő helyre utólag majd szöveget írhatunk.

Visszatölthetjük az alapbeállításokat Alt+D (Default), elmenthetjük az aktuálist Alt+S (Save).

Haladó felhasználóknak

Ha nyomtatásnál gondunk lenne az írássűrűség, betűtípus, stb. valamelyikével, akkor módosíthatjuk a nyomtatókonfiguráló sztringeket. Nem valószínű, hogy erre szükségünk lesz, de ha mégis, akkor kell majd a nyomtató kézikönyve és egy hexa editor. A nyomtató inicializálás és a betűtípus beállítások is az első 1344 bájtos blokkban kaptak helyet. Négy sztringről van szó, az első a nyomtatás megkezdése pillanatában inicializál, a másik három pedig a DRAFT-ROMAN-SERIF beállításokért felelős. A sztringek beállítása viszont nem egyszerű, ezért nem szerepelnek a CONFIG menüben. Egy alapfokú felhasználó úgysem tudná azt, hogy milyen parancskaraktereket kel írni az adott helyre...

A KATICA.DAT adatfájl első 1344 bájtos blokkja

A "$" jel természetesen a hexadecimális formátumot jelenti.

$000-$3E7 : 1000 bájt foglaltsági tábla ("+": foglalt, "-": szabad)
$3E8-$411 : 42 bájt, kommentár szöveg ASCII kódjai \ $412-$413 : 2 bájt, - háttérszín attribútuma - CONFIG menüből! - ablakszín attribútuma / A Nyomtatóvezérlő sztringek: $414-$41F : 12 bájt, (1+11 bájt) inicializáló sztring hossza + a sztring Alapbeállítás: $02 - a következő 2 bájt a sztring $1B - ESC parancskarakter $40 - nyomtató inicializáló kód $420-$43F : 32 bájt, (1+31 bájt) DRAFT beállító sztring hossza + a sztring Alapbeállítás: $06 - a következő 6 bájt a sztring $1B - ESC parancskarakter $21 - MASTER SELECT kód következik $01 - 12cpi sűrűség $1B - ESC parancskarakter $78 - NLQ vagy DRAFT kód következik $00 - DRAFT legyen $440-$45F : 32 bájt, (1+31 bájt) ROMAN beállító sztring hossza + a sztring Alapbeállítás: $09 - a következő 9 bájt a sztring $1B - ESC parancskarakter $21 - MASTER SELECT kód következik $01 - 12cpi sűrűség $1B - ESC parancskarakter $78 - NLQ vagy DRAFT kód következik $01 - NLQ legyen $1B - ESC parancskarakter $6B - betűtípus kód következik $00 - ROMAN legyen $460-$47F : 32 bájt, (1+31 bájt) SERIF beállító sztring hossza + a sztring Alapbeállítás: $09 - a következő 9 bájt a sztring $1B - ESC parancskarakter $21 - MASTER SELECT kód következik $01 - 12cpi sűrűség $1B - ESC parancskarakter $78 - NLQ vagy DRAFT kód következik $01 - NLQ legyen $1B - ESC parancskarakter $6B - betűtípus kód következik $01 - SERIF legyen
(A vezérlőkódok EPSON "FX-850/1050 Felhasználói kézikönyv" alapján.)

A programot bárki szabadon használhatja, remélem lesz olyan, aki fogja is. Az esetleges okozott károkért semmilyen felelősséget nem vállalok. A program és a dokumentáció is nagy körültekintéssel készült, de természetesen lehetnek benne hiß Ák. Elnézést kérek azoktól, akiknek az esetleges használat során gondjai merülnének fel, de sajnos csak szűk PC-s körben tudtam tesztelni a programot.

A KATICA.DAT tartalmazza az én saját listáimat (mintaként), hogy meg lehessen tekinteni, miről is van szó. Ha nincs rá szükség, nyugodtan letörölhető, a program következő indításakor újat, ürest hozhatunk létre.

katica.rar (Tartalmazza a Turbo Pascal forráskódot is.)