A symbiont program a VMS alatt működő symbiont-ot módosítja.
A működésének lényege, hogy a nyomtatás megkezdése előtt egy definiált file-ból olvassa fel a szükséges karakter cserék leírását, majd nyomtatás közben folyamatosan cseréli a megfelelő karaktereket. Ezt a file-t minden queue névhez definiálni kell a SYSTEM táblában, amelyiken ez a symbiont fut. Mindig azt a queue nevet használja, amelyikbe a nyomtatás küldve lett!
A keresett queue-hoz tartozó logikai név az alábbiak szerint áll össze:"DFY$TR_" + queue_név
Példa:
queue neve: TESZT_PRINTER
logikai név: DFY$TR_TESZT_PRINTERfile definíció:
DEFINE/SYSTEM "DFY$TR_TESZT_PRINTER" -
"SYS$LIBRARY:A_KIVANT_KARAKTER_CSERE_SETUP_FILE.TXT"
A symbiont működése az igazgatóságon használt VIDEOTON.EXE, KYOCERA.EXE, EPSON.EXE programokhoz hasonló, azzal az eltéréssel, hogy nincs a programban "bedrótozva" a cserélendő karakterek listája, hanem azt a fenn említett paraméter file-ból olvassa ki.
Az alábbi példa a SYS$PRINT nyomtató definícióját mutatja be:
(EPSON - ANSI karakterek, PCEPSON - ASCII karakterek)$ DEFINE/SYSTEM "dfy$tr_sys$print" "sys$library:A_KIVANT_KARAKTER_CSERE_SETUP_FILE.TXT" $ SET TERMINAL LTA106: - /PERMANENT /NOECHO /NOBROADCAST /NOTYPE_AHEAD - /NOWRAP /DEVICE=LA120 /PASTHRU $ INITIALIZE SYS$PRINT - /QUEUE /NORECORD_BLOCKING /PROC=DFY$SMB3 /START - /DEFAULT=(FORM=0,NOFLAG,NOFEED) /NOSEPARATE - /SCHED=NOSIZE /DESC="ANSI nyomtató" - /ON=(A12002::LTA106:)
A csomaggal a következő fájlok járnak:
DFY$SMB3_A.EXE - VMS 6.2 Alpha verzió
DFY$SMB3_V.EXE - VMS 6.2 VAX verzió
DFY$SMB3_SETUP_EXAMPLE.TXT - ANSI karakterkészlet cseréje PC437 kódlapraKicsomagolás után az exe file-okat a SYS$SYSTEM könyvtárba kell másolni.
(VAX: copy dfy$smb3_v.exe sys$system:dfy$smb3.exe
ALPHA: copy dfy$smb3_a.exe sys$system:dfy$smb3.exe)
A txt file-t javaslom a SYS$LIBRARY könyvtárba másolni és szükség szerint módosítani.
A mellékelt DFY$SMB3_SETUP_EXAMPLE.TXT egy példa arra, hogyan kell megadni a konvertálandó karaktereket.
Az "INSTR =ÁÉÍÓÖOÚÜUáéíóöoúüű sor a cserélendõ karakterek listája.
Az "OUTSTR=CÉíóÖôúÜláéíóöôúül" sor az új karakterek adja meg.
A csere a megfelelõ karakterpozíciók alapján történik, vagyis az INSTR-ben megadott első karakter az OUTSTR-ben megadott elsõ karakterre, az INSTR-ben megadott második karakter az OUTSTR-ben megadott második karakterre lesz cserélve, és így tovább.Az "=" jel utáni elsõ karakter már mint cserélendő karakter szerepel, ezért szünetet nem szabad hagyni, mert az is cserélendõ karakter lesz.
A sorok végét CR-LF kóddal kell lezárni, ezért javaslom a file szerkesztését DOS alatt végezni.
Dósa István (A12003::DOFFY, doffy@mail.nograd.apeh.hu)
Salgótarján, 1997.05.28.