A. INTRODUCERE
hWTools este un utilitar destinat pentru lansarea și executarea unor
funcții Windows din programe HAMOR Soft.
Situații în care hWTools se folosește cu succes în combinație cu
programele HAMOR Soft:
-tipărire în mod unitar pe imprimate Windows și
DOS (Esc/P, PCL etc.)
-lansare în execuție programe de tipărire documente (hPRINT-facturi, avize,
hOP-ordine de plata),
-transmitere liste, documente prin e-mail (cu hMail),
-lansare în execuție diverse programe Windows,
-lansare documente htm, doc, xls,
-redenumire fișier cu nume scurt în fișiere cu nume lung.
hWTools este un program Windows, poate fi utilizat sub sistemele de
operare Windows desktop: '98, ME, 2000, XP, Vista și server: 2003, 2008.
Utilitarul asigură un canal centralizat pentru executarea unor funcții
Windows și se poate folosi avantajos în rețele de sisteme de operare hibride.
hWTools V3 este versiunea extinsă a programului hWPrint V2, include
toate funcțiile hWPrint V2 si în plus poate lansa diverse programe Windows.
Cu hWTools V4 se pot tipări imagini și se pot tipări caractere semigrafice
pe imprimante windows.
hWTools acceptă la intrare două tipuri de fișiere:
- fișier de comenzi care conține informațiile necesare pentru lansarea,
executarea unei acțiuni în Windows inițiat de un program HAMOR,
- listă creată de programe HAMOR Soft. hWTools este un program Win32
care imprimă fișiere text într-un mediu Windows, care la rândul lor pot fi:
- liste text destinate imprimantelor Esc/P, PCL care conțin
secvențele Esc, precedate eventual de specificarea imprimantei fizice
pe care urmează să fie tipărite,
- liste text destinate imprimantelor Windows care conțin secvențe
Esc specifice lui hWTools (vezi Descriere limbaj de comandă hWTools).
Ambele categorii de liste enumerate mai sus sunt suportate de subsistemul
de listare din programele HAMOR Soft și astfel, cu toate executabilele
existente puteți tipări pe imprimante Windows, acest lucru fiind transparent
pentru utilizator.
Destinația imprimării poate fi o imprimantă care tipărește în mod Esc/P, PCL
sau o imprimantă Windows. Imprimanta poate fi locală sau de rețea.
hWTools poate fi rulat în mod comandă sau în regim de spooler
(vezi Moduri de utilizare).
Configurația minimă recomandată: Pentium cu 32 Mb cu sistemul de operare
Windows instalat ('95,'98,ME,NT,2000,XP,Vista).
Licență, drepturi de utilizare
hWTools este un utilitar, care extinde funcționalitățile programelor
HAMOR Soft, prin urmare autorul acordă dreptul de utilizare numai împreună
cu pachetele de programe HAMOR Soft, utilizatorul trebuie să fie în posesia unei
licențe de utilizare validă a programului HAMOR Soft, împreună cu care este
utilizat hWTools.
Începând cu versiunea V4, hWtools se poate utiliza numai în posesia licenței
pentru hMENU V2 sau mai mare.
Conținutul pachetului hWTools
hWTools este furnizat fie ca utilitar inclus în pachetele HAMOR Soft, fie
ca upgrade de utilitare HAMOR Soft, împreună cu hMENU V2.
După instalare, mediul HAMOR Soft necesar pentru hWtools arată astfel:
INS\UTIL_W_1.00A\EXE - executabile,
\citeste.txt - instrucțiuni pentru instalare și
implementare,
hMAIL - utilitar pentru transmitere e-mail,
hOP - utilitar pentru tiparire formulare model
"Ordin de Plata Trezorerie" sau
"Foaie de Varsamant",
DOC\Hwtools - documentație electronica,
hWTools.htm
PDF - catalog pentru liste pdf,
SPOOL - catalog spooler,
TMP\TMP_CAT\ - pachet upgrade a bazelor de date,
prts.dbf,.dbt - tipuri de imprimante,
hWTools.exe - programul executabil al utilitarului,
hWToolsS.bat - bat pentru activare hWtools în regim
spooler,
hMET2UP - utilitar upgrade,
print.bat - batch pentru imprimare paralelă
În prts.dbf,.dbt furnizăm "tipuri de imprimante" generice pentru Windows:
WIS-P - listare pe imprimantă Windows pe pagină portret, scalat
WIS-P-A4 - similar pe A4, dar indiferent de lățimea imprimabilă tipărește
80/96/133/160 caractere pe rând.
WIS-L - listare pe imprimantă Windows pe pagină peisaj, scalat
WIS-L-A4 - similar pe A4, dar indiferent de lățimea imprimabilă tipărește
110/132/183/220 caractere pe rând.
WIS-L-L1/1- listarea unei pagini de Listing 1/1 pe imprimantă Windows
pe hârtie A4 peisaj în mod scalat. Indiferent de lățimea
imprimabilă tipărește 136/163/226/272 caractere pe rând.
WIN-P - listare pe imprimantă Windows pe pagină portret, nescalat
WIN-P-78 - similar, dacă imprimanta poate imprima doar 78 caractere/linie
WIN-L - listare pe imprimantă Windows pe pagină peisaj, nescalat
Observații:
- la tipurile de imprimante WIS se utilizeaza modul de imprimare "scalat"
care îseamnă că, pentru o vizibilitate mai bună, în plan vertical
fonturile sunt "întinse", păstrând distanța dintre linii de 6lpi sau 8lpi.
- în plus, la imprimanta WIS-P-A4, pentru ca listele de lățime standard
să încapă pe orizontală, indiferent de lățimea imriprimabilă a hârtiei
(de ex. și pe A4 noWide), lățimea caracterelor (pasul orizontal) este
ajustată în funcție de lățimea imprimabilă a hârtiei. Astfel nu se mai
respectă pasurile standard de 10, 12, 17, 20 cpi, ci se listează 80, 133,
183, 220 caractere.
- la tip imprimantă WIS-L-A4 se listează 110, 132, 183, 220 caractere.
- la tip imprimantă WIS-L-L1/1 se listează 136, 163, 226, 272 caractere.
După instalarea pachetului fișierele prts.dbf,.dbt se găsesc în catalogul
TMP\TMP_CAT
Descrierile nu conțin numele imprimantei și vor lista pe imprimanta
implicită.
Fiecare tip de imprimantă are cel puțin două fonturi instalate:
1. Courier New, font fix (neproporțional) pentru liste, tabele.
2. Times New Roman, font variabil (proporțional) pentru alte texte.
Implementare
În continuare prezentăm modalități de implementare ale utilitarului.
Pentru detalii și pentru situații mai complexe studiați capitolul C.
Imprimare în regim spooler din programele HAMOR Soft
Pentru imprimare în regim spooler sunt necesare următoarele:
1. Existența unui catalog spooler, de regula SPOOL
2. Fișierul "prn" direcționat în acest catalog: SPOOL\hamor.lst
3. Lansarea automată a programului hWTools în regim de spooler care de regulă
este asigurat în hMENU.bat
4. În Tipuri de imprimante: imprimante generice actualizate: WIN..., WIS...
5. Alegerea, definirea, verificarea imprimantelor:
5.1. Stabilirea imprimantelor pe care se va tipări.
5.2. Modul de tipărire pentru fiecare imprimantă:
- DOS: ESC/P, PCL sau
- Windows: WIN, WIS.
De regulă pe imprimantele care suportă ESC/P sau PCL se poate tipări și
în mod Windows.
5.3. Identificarea imprimantei:
- DOS: port: LPT1:,..., UNC: \\computer\printer
- WIN, WIS: imprimanta implicită din Windows sau nume imprimantă
5.4. În cazul imprimării în mod Windows, setarea corespunzătoare a diverului:
hârtie A4, calitatea imprimării, față/dos (duplex), culoare.
Pentru o imprimantă se pot instala mai multe drivere, cu diverse
denumiri. Aceste drivere se pot seta în diverse moduri astfel încât
să existe un driver pentru fiecare mod de imprimare.
5.5. Definirea unor imprimante fizice:
Tipurile de imprimante furnizate sunt descrieri de imprimante generice.
Acestea se pot utiliza tipărirea pe imprimate implicite:
- în cazul DOS pentru imprimanta de pe portul LPT1, iar
- în cazul Windows pentru imprimanta implicită (default).
În celelalte cazuri trebuie definită o imprimantă fizică prin copierea
descrierilor generice și trebuie completată cel puțin cu informații de
identificare a imprimantei. Pentru modul de tipărire portret și peisaj
sunt necesare descrieri distincte.
5.6. Studierea capacității imprimantelor:
Lansați > hWTools /F TMP
Programul afișează imprimantele accesibile.
Selectați imprimanta pe care veți tipări.
Programul crează în TMP patru fișiere de test.
Listați cel putin fișierul :
> hWTools TMP\NrImprimanta.PF
Verificați dacă:
- lista este bine așezată pe pagină,
- există fontul Courier New,
- pe A4 poate imprima 80 caractere/linie la 10 cpi.
5.7. Testarea funcționării întregului sistem: hUTIL/Utilitare/Test lista...
În cazul în care ați instalat un pachet nou trebuie executat doar pct.5.
Dacă ați instalat un mediu HAMOR Soft, copiați bazele de date în noul mediu și
executați upgraderea lor pentru noul mediu. În acest caz verificați și punctele
1-4.
Vezi și:
Utilizare ca spooler local pentru tipărirea listelor
Utilizare ca spooler local și tipărire alternativ pe mai multe imprimante
Utilizare ca spooler de rețea pentru tipărirea listelor
Imprimare paralelă
Pentru imprimare paralelă sunt necesare următoarele:
1. Existența unui catalog spooler, de regula SPOOL
2. Definirea catalogului spooler "scat" către acest catalog
3. Procedura "gcmd" PRINTA
4. Pentru programele mai vechi: PRINT.BAT
5. Lansarea automată a programului hWTools în regim de spooler care de regulă
este asigurat în hMENU.bat
Vezi și:
Utilizare hWTools la imprimare paralelă
Lansarea unor programe cu hWTools
Pentru executarea unor programe cu hWTools sunt necesare următoarele:
1. Existența unui catalog spooler, de regula SPOOL
2. Definirea catalogului spooler "scat" către acest catalog
3. Definirea catalogului de programe "spro" în care sunt programele care sunt
lansate prin hWTools. Definirea acestui catalog este necesară atunci când
programele nu sunt în rădăcină sau în %path%.
4. Procedura de generare a comenzii hWTools
5. Lansarea automată a programului hWTools în regim de spooler care de regulă
este asigurat în hMENU.bat
Observație: "scat" și "spro" sunt recunoscute numai de executabilele create
începând cu 2009. Pentru programe mai vechi utilizați cataloage dedicate.
Vezi și:
Utilizare ca spooler local pentru executarea unor acțiuni
Utilizare ca spooler de rețea pentru executarea unor acțiuni
Lansare hPRINT în cazul LINUX_TS
Utilizare în cazul remote desktop
Folosirea unei case de marcat de la două calculatoare
B. DESCRIERE LIMBAJ DE COMANDĂ hWTools
Secvențele Esc specifice hWTools
Secvențele Esc determină modul de tipărire pe imprimantă.
Aceste secvențe trebuie introduse în Tipuri de imprimante, comenzi
care la tipărire vor fi inserate în fișierul text creat, în continuare transmis
ca parametru utilitarului sau depus în catalogul spooler. La tiparirea efectivă
secvențele vor fi interpretate de către hWTools și se execută comenzile
corespunzătoare.
1.Varianta DOS:
Esc,D,O,S - identificare mod imprimare
Esc,d,...,00 - destinație imprimare
-După aceste secvențe urmează secvențele specifice imprimantei
(Esc/P, PCL etc.);
-Dacă secvența Esc,d,...,00 lipsește, se consideră imprimanta LPT1:;
-Dacă secvența Esc,d,...,00 este prezentă, trebuie să fie precedată
obligatoriu de Esc,D,O,S
-destinația imprimării poate fi:
pentru imprimante locale: LPT1:, LPT2:, ... (terminat cu :) sau
pentru imprimante de rețea: \\server\printer (adica UNC).
-la imprimante de rețea nu trebuie setat Capture Printer Port.
Începând hUTIL V 2.05 secvențele Esc,D,O,S și Esc,d,... sunt interpretate
de hUTIL. Tipul imprimantei (DOS în cazul de față) se indică în câmpul impr.
și portul sau numele UNC în câmpul Port/UNC, caracterele Esc și Esc,d din
cele două secvențe sunt gestionate automat de hUTIL. Aceste câmpuri sunt
prezente pe fereastra de editare din Tipuri de imprimante.
2.Varianta WINDOWS:
Esc,W,I,N - mod imprimare WIndows Nescalat (fără scalare)
Esc,W,I,S - mod imprimare WIndows cu Scalare pe verticală
Esc,p,...,00 - nume imprimantă
Esc,r,...,00 - tip hârtie: A4, A3, LETTER, etc.
Pentru tipurile de hârtie există nume simbolice.
De obicei numele simbolic este recunoscut de HWTools.
Tipurile de hârtie din Windows sunt identificate printr-un
numar. Ex. pentru hârtia A4 corespunde numarul 9.
Dacă există tipuri speciale de hârtie, a căror nume nu este
recunoscut de hWTools, în secvența Esc,r poate fi trecut
numarul prin care este identificat tipul de hârtie în
Windows. Are efect numai dacă se află înaintea primului
caracter imprimabil, adică înainte să înceapă jobul de
imprimare.
Esc,m,T,nnn - margine sus = "nnn" sutimi de inch.
Valoarea implicită este 0.
Pentru compatibilitate cu listele DOS de obicei trebuie
utilizat pe matriciale 033, pe deskjet/laser 020.
Esc,m,L,nnn - margine stângă = "nnn" sutimi de inch.
Valoare implicită este 0.
Despre margini...
Esc,o,P - orientare: portret (implicit)
L - peisaj
Esc,t,F - pitch:fix (caractere neproporționale)
utilizați la listare tabele (liste)
V - variabil (caractere proporționale)
utilizați la documente hMISS care nu conțin tabele
D - default
Esc,f,...,00 - nume font (implicit:Courier New)
Esc,h,nnn - densitate pe verticală: nnn zecimi de linii pe inch
De ex: 6 lpi=060, 8lpi=080
Esc,w,nnn - densitate pe orizontală: nnn zecimi de caractere pe inch
De ex: 10 cpi=100, 12 cpi=120, 17 cpi=170, 20 cpi= 200
Esc,c,N - culoare:negru (culoarea implicită)
R - roșu (Red)
G - verde (Green)
B - albastru (Blue)
Y - galben (Yellow)
M - maro (Maron)
Esc,b - aldine început/sfârșit
Esc,i - cursiv început/sfârșit
Esc,u - subliniere început/sfârșit
Esc, g, Cnnnn, Lnnnn, FfileName, 00
Esc, g, Wnnnn, Hnnnn, Ffilename, 00
- inserare imagine grafică, de tipul .bmp, .jpg sau .jpeg.
Cnnnn - lățimea imaginii în zecimi de coloane la cpi curent.
Dacă este absent sau zero și L este definit, lățimea
imaginii va fi proporțională cu înălțimea dată.
Se poate folosi și în combinație cu H.
Dacă cpi curent încă nu este definit, se va folosi cpi
implicit din program (de regulă 12cpi).
Ex: C0120 inseamnă că, imaginea se va imprima pe o lătime
de 12 caractere la cpi curent.
Lnnnn - înălțimea imaginii în zecimi de linii la lpi curent.
Dacă este absent sau zero și C este definit, înălțimea
imaginii va fi proportională cu lățimea dată.
Se poate folosi și în combinație cu W.
Dacă lpi curent încă nu este definit, se va folosi lpi
implicit din program (de regulă 6lpi).
Ex: L0060 inseamnă că imaginea se va imprima pe o înălțime
de 6 linii la lpi curent.
Dacă atât C cât și L sunt absente sau au valoarea zero,
secvența va fi ignorată și nu se va tipări imaginea.
Dacă atât C cât și L sunt prezente, atunci imaginea se
dimensionează neproporțional, în așa fel încât să umple
dreptunghiul C x L.
Wnnnn - lățimea imaginii în sutimi de inch.
Dacă este absent sau zero și înălțimea H este definită, lățimea
imaginii va fi proporțională cu înălțimea dată.
Se poate folosi și în combinație cu L.
Ex: W0120 înseamnă că imaginea se va imprima pe o lățime de
1.20 inch.
Hnnnn - înălțimea imaginii în sutimi de inch.
Dacă este absent sau zero si lățimea W este definită, înălțimea
imaginii va fi proporțională cu lățimea dată.
Se poate folosi și în combinație cu C.
Ex: H0051 înseamnă că imaginea se va imprima pe o înălțime de
0.51 inch.
Daca atât W cât și H sunt absente sau au valoarea zero,
secvența va fi ignorată și nu se va tipări imaginea.
Dacă atât W cât și H sunt prezente, atunci imaginea se
dimensionează neproporțional, în asa fel încît să umple
dreptunghiul W x H.
F...,00- numele fișierului care conține imaginea.
Se indică cu cale absolută sau
relativă la catalogul curent din care a fost lansat hWTools.
Secvența se termină cu 00 sau cu următoarea secvență Esc.
Trebuie să fie ultimul parametru, altfel ceilalți parametri
vor fi ignorați.
De regulă imaginile vor fi în subcatalogul IMG din baza de
date. de exemplu, dintr-o aplicație hMET, calea absolută la
fișierul de imagine se construiește astfel:
dacă aplicația are catalog img definit:
CHR(27)+"gL0040F"+
h_TruePath(h_AddPath("logo.bmp",h_FilePathes[fil_img]))+
CHR(00)
dacă aplicația nu are catalog img definit:
CHR(27)+"gL0040F"+
h_TruePath(h_AddPath("IMG\logo.bmp",h_FilePathes[fil_file]))+
CHR(00)
- Colțul stânga sus al imaginii este dat de poziția
caracterului curent.
Dacă fișierul nu există, nu se poate deschide sau nu este un
fișier de imagine corespunzător, se ignoră imprimarea imaginii.
Parametrii trebuie folosiți astfel:
C împreună L sau H împreună cu W,
iar lungimea lor (daca există) va trebui sa aibă 4 cifre,
altfel se citește integral secvența Esc,
dar se ignoră imprimarea imaginii.
- Exemple:
Secvența: EscgW0124H0000Fc:\poza.bmp00 va produce imprimarea
imaginii c:\poza.bmp, cu lățimea de 1,24 inch,
înălțimea fiind proporțională cu originalul.
Secvența: EscgL0050C0160Fpoza.bmp00 va produce imprimarea
imaginii poza.bmp (care se află în același catalog cu hWTools)
iar imaginea se dimensionează neproporțional, în așa fel încât
să încapă într-un dreptunghi cu lățimea de 16 caractere și
înălțimea de 5 linii.
Secvența: EscgW0050H200FF:\imagine.bmp00 va produce imprimarea
imaginii F:\imagine.bmp, neproporțional într-un dreptunghi cu
dimensiunile: lățime=0,5 inch și înălțime=2 inch.
- Exemple de secvențe eronate:
Secvența: nu va produce
imprimarea imaginii F:\imagine.bmp, pentru că parametrii care
se află după numele fișierului sunt ignorați,
în acest caz aceștia având valorile implicite 0.
Atenție! Textul care se află după caracterul nul de la
sfârșitul fișierului ("W0050H200") va fi imprimat !
EscgL001C0110Fpoza.bmp00 - L este compus din 3 cifre
EscgLa001C0016Fpoza.bmp00 - L este nu este compus din cifre
EscgL0013C0012Fpoza.bmp - lipsește caracterul nul de la
sfârșit
EscgL0001W0012Fpoza.bmp00 - parametri incompatibili,
L=linii si W=inch
EscgFimagine.bmp - lipseste atât lățimea cât și
înălțimea imaginii
EscL0000C0000Fpoza.bmp00 - atât lățimea cât și înălțimea
au valoarea 0
EscgFpoza.bmp00W0050H0020 - dimesiunile nu sunt în poziția
corectă
Cum putem măsura dimensiunile unei imagini sub Windows XP ?
Pe imaginea dată, click dreapta, Properties, click pe tab-ul
"Summary". Aici vom găsi o serie de date despre imagine, cum ar fi:
- Width: lățimea in pixeli
- Height: înălțimea în pixeli
- Horizontal resolution: rezoluție pe orizontală
- Vertical resolution: rezoluție pe verticală
Să calculăm de exemplu înălțimea și lățimea unei imagini care
are următoarele caracteristici:
- width: 100 pixeli
- height: 200 pixeli
- horizontal resolution: 400 dpi ( pixeli per inch )
- vertical rezolution: 400 dpi ( pixeli per inch )
Fiind dat că într-un inch avem 400 pixeli atât pe orizontală cât
și pe verticală, calculul va fi foarte simplu:
lățimea în pixeli
L = -----------------------, adică: 100 / 400
rezoluția pe orizontală
rezultă ca lățimea imaginii este 0.25 inch.
Cunoscând raportul mm/inch = 25.4, putem calcula dimensiunea
și în mm:
L = 0,25[inch] * 25.4[mm/inch]
rezultă că lățimea imaginii este 6.35 mm
Analog calculăm înălțimea imaginii:
H = 400 / 200 => 0.5 inch, adică
H = 0.5 * 25.4 => 12.7 mm
Bineînțeles programul hWTools poate "întinde" sau "comprima"
imaginea, atât pe orizontală cât și pe verticală așa cum este
descris mai sus.
Esc,s,S,nnn - grosimea liniei simple a caracterelor semigrafice în miimi de
inch. Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Valoarea implicită: 001.
De ex: S015 înseamnă că grosimea liniei simple a caracterelor
semigrafice va fi de 0,015 inch.
Dacă parametrul nnn este 0, atunci grosimea liniei simple va fi
egală cu 1 pixel, deci întotdeauna există o valoare minimă.
Esc,s,D,nnn - grosimea liniei duble a caracterelor semigrafice în miimi de
inch. Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Valoarea implicită: 015.
De ex: D030 înseamnă că grosimea liniei duble a caracterelor
semigrafice va fi de 0,030 inch.
Dacă parametrul nnn este 0, atunci grosimea liniei duble va fi
egală cu 1 pixel, deci întotdeauna există o valoare minimă.
Esc,s,L,nnn - grosimea liniei figurilor geometrice în miimi de inch.
Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Valoarea implicită: 001.
Dacă parametrul nnn este 0, atunci grosimea liniei va fi
egală cu 1 pixel, deci întotdeauna există o valoare minimă.
Esc,v,C,+nnn - mutarea capului imprimantei pe orizontala.
Acesta va fi mutat relativ înspre dreapta cu nnn zecimi de
caractere, față de poziția curentă.
Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Esc,v,C,-nnn - mutarea capului imprimantei pe orizontala.
Acesta va fi mutat relativ înspre stânga cu nnn zecimi de
caractere, față de poziția curentă.
Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Esc,v,C,nnnn - mutarea capului imprimantei pe orizontala.
Acesta va fi mutat la valoarea absolută nnnn zecimi de
caractere, față de marginea stângă.
Valoarea nnnn trebuie să fie reprezentată pe patru cifre.
Lățimea unui caracter este dat de cpi curent. Dacă cpi curent
încă nu este definit, se va folosi cpi implicit din program
(de regulă 12cpi).
Esc,v,L,+nnn - mutarea capului imprimantei pe verticală.
Acesta va fi mutat relativ în jos cu nnn zecimi de caractere,
față de poziția curentă.
Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Esc,v,L,-nnn - mutarea capului imprimantei pe verticală.
Acesta va fi mutat relativ în sus cu nnn zecimi de caractere,
față de poziția curentă.
Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Esc,v,L,nnnn - mutarea capului imprimantei pe verticală.
Acesta va fi mutat absolut la nnnn zecimi de caractere, față
de marginea sus.
Valoarea nnnn trebuie să fie reprezentată pe patru cifre.
Înălțimea unui caracter este dat de lpi curent. Dacă lpi
curent încă nu este definit, se va folosi lpi implicit din
program (de regulă 6lpi).
Esc,v,W,+nnn - mutarea capului imprimantei pe orizontala.
Acesta va fi mutat relativ înspre dreapta cu nnn sutimi de
inch, față de poziția curentă.
Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Esc,v,W,-nnn - mutarea capului imprimantei pe orizontala.
Acesta va fi mutat relativ înspre stânga cu nnn sutimi de
inch, față de poziția curentă.
Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Esc,v,W,nnnn - mutarea capului imprimantei pe orizontala.
Acesta va fi mutat absolut la nnnn sutimi de inch, față de
marginea stângă.
Valoarea nnnn trebuie să fie reprezentată pe patru cifre.
Esc,v,H,+nnn - mutarea capului imprimantei pe verticală.
Acesta va fi mutat relativ în jos cu nnn sutimi de inch, față
de poziția curentă.
Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Esc,v,H,-nnn - mutarea capului imprimantei pe verticală.
Acesta va fi mutat relativ în sus cu nnn sutimi de inch, față
de poziția curentă.
Valoarea nnn trebuie să fie reprezentată pe trei cifre.
Esc,v,H,nnnn - mutarea capului imprimantei pe verticală.
Acesta va fi mutat absolut la nnnn sutimi de inch, față de
marginea sus.
Valoarea nnnn trebuie să fie reprezentată pe patru cifre.
Se pot face și combinații între parametrii W, H, C, L.
De exemplu: Esc,v,W+200,L0120 înseamnă că cursorul va fi mutat
pe verticală în punctul + 12 linii la LPI curent,
iar pe orizontală la punctul + 2.00 inch.
Esc,a,L,nnnn - numărul liniilor de text care se imprimă, exprimat în zecimi
de linii. Valoarea nnnn trebuie să fie reprezentată cu patru
cifre.
Textul imprimat va fi aliniat pe hârtie astfel:
- dacă sunt mai multe rânduri decât pot încăpea pe hârtie,
atunci textul va fi imprimat cu un lpi mai mare (comprimare),
- dacă sunt mai puține rânduri, atunci textul va fi imprimat
cu un lpi mai mic (expandare).
Esc,a,C,nnnn - numărul coloanelor ( lungimea maximă a unui rând )
de text care se imprimă, exprimat în yecimi de coloane.
Valoarea nnnn trebuie să fie reprezentată cu patru cifre.
Textul imprimat va fi aliniat pe hârtie astfel:
- dacă sunt mai multe caractere într-o linie decât pot încăpea
pe hârtie, atunci textul va fi imprimat cu un cpi mai mare
(comprimare),
- dacă sunt mai puține, atunci textul va fi imprimat cu un
cpi mai mic (expandare).
Esc,k,... - semnificația/traducerea caracterelor cu cod peste 127:
Esc,k,D,8,5,2- DOS codepage 852 (Central European),
dintre caracterele cu cod peste 127 se imprimă:
caracterele semigrafice cu linii simple și duble,
caracterele cu diacritice din limba română,
caracterele diacritice din limba maghiară,
în locul celorlalate caractere se imprimă spațiu.
Caractere semigrafice și naționale
Esc,k,D,4,3,7- DOS codepage 437 (USA),
dintre caracterele cu cod peste 127 se imprimă:
caracterele semigrafice cu linii simple, duble, simple-duble,
în locul celorlalate caractere se imprimă spațiu.
Nu se imprimă caractere naționale.
Este varianta implicită.
Caractere semigrafice
Esc,k,N - imprimă fără conversie, conform fontului curent.
Desigur cu oricare din variantele menționate mai sus,
caracterele sub 127, adică cele englezești, cifrele, etc.
se tipăresc la fel, în modul obișnuit.
Esc,d,... - imprimă o figură geometrică cu linie de grosime Esc,s,L.
L,Cnnnn,Lnnnn - linie; punctul final este la distanța relativă
C, L zecimi de caractere față de punctul de start
L,Wnnnn,Hnnnn - linie; punctul final este la distanța relativă
W, H în 1/100 inch față de punctul de start
R,Cnnnn,Lnnnn - dreptunghi; colțul dreapta-jos este la distanța
relativă C,L zecimi de caractere față de punctul de start
R,Wnnnn,Hnnnn - dreptunghi; colțul dreapta-jos este la distanța
relativă W,H 1/100 inch față de punctul de start
E,Cnnnn,Lnnnn - elipsă; colțul dreapta-jos este la distanța
relativă C,L zecimi de caractere față de punctul de start
E,Wnnnn,Hnnnn - elipsă; colțul dreapta-jos este la distanța
relativă W,H 1/100 inch față de punctul de start
Punctul de start este punctul în care se află capul imprimantei.
Grosimea liniei se poate defini cu secvența Esc,s,L...
Se pot combina parametrii C,L,W și H.
exemple:
- Esc d L C0150 L0000
va imprima o linie orizontală de la poziția curentă a capului
imprimantei cu o lungime de 15 caractere la CPI curent.
- Esc d L C0200 L0040
punctul de start al liniei va fi poziția capului imprimantei,
iar punctul final va fi:
Xfinal = Xstart + 20caractere (la CPI curent)
Yfinal = Ystart + 4caractere (la LPI curent)
- Esc d R W0100 H0325
va imprima un dreptunghi din poziția curentă a capului
imprimantei cu o lățime de 1.00 inch și o înălțime de 3.25 inch.
- Esc d R W0100 H0325
va imprima o elipsă în dreptunghiul situat între poziția
curentă a capului imprimantei (acesta fiind colțul stânga-sus)
cu lățimea de 1.00 inch și înălțimea de 3.25 inch.
- Esc d R C0160 H0122
va imprima o elipsă în dreptunghiul situat între poziția
curentă a capului imprimantei (acesta fiind colțul stânga-sus)
cu lățimea de 16 caractere și înălțimea de 1.22 inch.
Esc,x,... - tipărire șablon pe document
R - Se imprimă câte un dreptunghi pe locul fiecărui caracter, cu
densitatea CPI și LPI. Disponibil numai în metodele WIN și WIS.
C - Se imprimă un șablon numerotat în linii și coloane, cu densitatea
CPI și LPI. Disponibil numai în metodele WIN și WIS.
I - Se imprimă un șablon cu densitatea de 1 inch, atât pe verticală
cât și pe orizontală. Disponibil numai în metoda WIN.
-este de preferat ca ordinea secvențelelor să fie cea de mai sus
-00 reprezintă 00 în hexa și înseamnă terminator de șir cu lungime
variabilă
-Dacă anumite secvențe lipsesc, atunci se consideră valoarea implicită a
acestora.
De exemplu: imprimantă implicită, fontul implicit, orientare implicită,
caracterele aldine, cursive, subliniate se scriu simplu etc.
-începând cu hUTIL V 2.05 secvențele Esc,W,I,N, Esc,W,I,S, și Esc,d,... sunt
interpretate de hUTIL. Tipul imprimantei (WIN sau WIS în cazul de față) se
indică în câmpul impr. și numele în câmpul Nume, caracterele
Esc și Esc,d din cele două secvențe sunt gestionate automat de hUTIL.
Aceste câmpuri sunt prezente pe fereastra de editare din Tipuri de
imprimante.
-nume imprimantă este numele afișat în Settings/Printers sau
este afișat și la lansarea programului cu opțiunea /F.
Se poate utiliza un nume mai scurt, cu condiția ca identificarea exactă
să fie posibilă.
Ex: în loc de "HP Deskjet 640C Series Printer"
puteți utiliza "HP" dacă nu există alte imprimante a căror nume
conține "HP".
Dacă există mai multe imprimante HP:
- fie utilizați un nume mai lung:"HP DeskJet 640C"
- fie redenumiți imprimanta (Click dreapta și Rename).
Este de preferat ca aceeași imprimantă fizică să aibă același
nume pe fiecare stație și chiar Share name să fie același.
-dacă utilizați doar o singură imprimantă nu specificați nici
un nume de imprimantă (oricum este cea implicită)
-la modul de imprimare WIS, caracterele sunt scalate pe verticală.
La 17 și 20 cpi se poate observa că înălțimea caracterelor este mai
mare ca la metoda WIN. La metoda WIS setarea culorii, precum și
schimbarea densității de imprimare (lpi,cpi) și a marginilor în
interiorul textului, imprimarea de imagini sunt operații inefective.
-de obicei, lățimea caracterelor din fontul ales (chiar la TrueType)
va fi puțin mai mică decât cea indicată ca densitate pe orizontală.
De exemplu: o pagină A4 are lățimea de 2400 pixeli la 8 inch.
Atunci la 10 cpi lățimea unui caracter ar trebui să fie
2400/8/10=30 pixeli. Dar după alegerea unei dimensiuni potrivite a
fontului, găsim că lățimea caracterelor este de 29 pixeli.
Dacă la fonturile fixe utilizați pitch:F, pasul de imprimare va fi
cel rezultat din dimensiunea pe orizontală (adică 30), iar dacă
indicați pitch:D, pasul va fi lățimea caracterului (adică 29) și
astfel lățimea listei va fi puțin mai mică, decât cu pitch:F.
-dacă la 10 cpi pe o pagină A4/portret imprimanta poate tipări doar 78
caractere și dorim să tipărim 80 de caractere, acesta se poate rezolva
tipărind la 10.2 cpi. Astfel în Tipuri de imprimante vom înscrie:
10 cpi: Esc w 102 adică 80/78*10 = 10.26
12 cpi: Esc w 123 adică 80/78*12 = 12.31
17 cpi: Esc w 174 adică 80/78*17 = 17.44
20 cpi: Esc w 205 adică 80/78*20 = 20.52
Utilizați tipul de imprimantă: WIS-P-78 sau WIN-P-78
-dacă pe pagina A4/peisaj dorim să tipărim o listă destinată pentru
pagină de listing (adică 136, 163, 226, 272 caractere pe 11" și
72, 96 de linii pe 8"):
10 cpi: Esc w 124 adică 136/11" = 12.36 ~ 12.4
12 cpi: Esc w 149 adică 163/11" = 14.81 ~ 14.9
17 cpi: Esc w 206 adică 226/11" = 20.54 ~ 20.6
20 cpi: Esc w 248 adică 272/11" = 24.72 ~ 24.8
06 lpi: Esc h 090 adică 72/ 8" = 9.00
08 lpi: Esc h 120 adică 96/ 8" = 12.00
Utilizați tipul de imprimantă: WIS-L-L1/1
În funcție de antetul textului de tipărit, există următoarele variante de
alegere a modului de tipărire și a imprimantei:
Esc,W,I,N,Esc,p,...,00,... - Windows nescalat pe imprimantă specificată
Esc,W,I,N,... - Windows nescalat pe imprimantă implicită
Esc,W,I,S,Esc,p,...,00,... - Windows scalat pe imprimantă specificată
Esc,W,I,S,... - Windows scalat pe imprimantă implicită
Esc,D,O,S,Esc,d,...,00,... - imprimare DOS pe imprimantă specificată
Esc,D,O,S,... - imprimare DOS pe imprimantă LPT1:
... - nici o secvență specifică hWTools,
imprimare DOS pe imprimantă LPT1:
Dacă utilizați o singură imprimantă și este de tip Windows, atunci această
imprimantă este și cea implicită. Deci nu specificați imprimanta, doar
puneți WIN-P ca implicit (UI) în Tipuri de imprimante.
Dacă utilizați mai multe imprimante, atunci în Tipuri de imprimante
trebuie să aveți 1-2 descrieri (una de portret și eventual una de peisaj)
pentru fiecare imprimantă astfel:
-La imprimanta care este implicită în Windows (Set as Default este bifat)
nu trebuie să specificați numele, dar aveți grijă ca acesta să fie
implicită și în Tipuri de imprimante.
-La celelalte, dacă sunt imprimante DOS, cu hUTIL Tipuri de imprimante
/Identificare imprimanta în câmpul impr. înscrieți DOS,
iar în câmpul Port/UNC protul la care este legată imprimanta
(ex.PRN, LPT1, LPT2) sau numele prin care poate fi accesat
(ex. \\Server-C\Epson).
La salvarea ecranului și la listare, conținutul celor două câmpuri vor fi
înscrise în secvența de inițializare a imprimantei
(ex. Esc,D,O,S,Esc,d,L,P,T,1,00 ....).
-La celelalte, dacă sunt imprimante Windows, copiați tipurile generice
WIN-P și WIN-L și completați-le cu numele imprimantei.
-Pentru a completara tip,nume/port imprimanta utilizați:
Modificare/Identificare imprimanta
-Pentru adăugarea sau modificarea secvențelor utilizați
Modificare/Secvente afisate in mod mixt sau
Modificare/Secvente afisate in mod hexa
Tabelul de conversie din descrierea tipurilor de imprimantă asigură conversia
caracterelor ASCII/OEM (folosit în DOS) în ANSI (folosit în Windows).
Codul ASCII și ANSI diferă la caracterele care au codul mai mare de 127.
Deci caracterele naționale (caractere cu diacritice din limba română) și
caracterele semigrafice utilizate la capul de tabel trebuie convertite.
În codul ANSI nu sunt caractere semigrafice și de aceea le convertim în semne
ca |,-,+,*.
Tabelul de conversie nu este necesar, dacă fontul utilizat este de tip OEM sau
se utilizează Esc,k,D,852 sau Esc,k,D,4,3,7.
Rezumat secvențe Esc
Secvența Esc | Descriere | DOS | WIN | WIS |
Esc,D,O,S | identificare mod imprimare, mod DOS,
dacă absent se consideră LPT1. | x | - | - |
Esc,d,...,00 | destinație imprimare
pentru imprimante locale: LPT1:, LPT2:, ... (terminat cu :),
pentru imprimante de rețea: //server/printer (adică UNC)
Implicit: LPT1: | x | - | - |
Esc,W,I,N | mod imprimare WIndows Nescalat (fără scalare) | - | x | - |
Esc,W,I,S | mod imprimare WIndows cu Scalare pe verticală | - | - | x |
Esc,a,... | Cnnnn-numărul coloanelor/caracterelor pe rand în zecimi de caractere,
Lnnnn-numărul liniilor pe pagină în zecimi de linii | - | - | la început |
Esc,b | aldine început/sfârșit | - | x | x |
Esc,c,... | culoare: N-negru (culoarea implicită), alte valori:R,G,B,Y,M | - | x | - |
Esc,d,L,... | desenare linie de grosime Esc,sL:
Cnnnn,Lnnnn - punctul final este la distanța relativă C,L zecimi de caractere față de punctul de start
Wnnnn,Hnnnn - punctul final este la distanța relativă W,H sutimi de inchi față de punctul de start | - | x | x |
Esc,d,R,... | desenare dreptunghi cu linie de grosime Esc,sL:
Cnnnn,Lnnnn - colțul dreapta-jos este la distanța relativă C,L zecimi de caractere față de punctul de start
Wnnnn,Hnnnn - colțul dreapta-jos este la distanța relativă W,H sutimi de inchi față de punctul de start | - | x | x |
Esc,d,E,... | desenare elipsă cu linie de grosime Esc,sL:
Cnnnn,Lnnnn -colțul dreapta-jos este la distanța relativă C,L zecimi de caractere față de punctul de start. Dacă C=L, se desenează cerc.
Wnnnn,Hnnnn -colțul dreapta-jos este la distanța relativă W,H sutimi de inchi față de punctul de start. Dacă W=H, se desenează cerc. | - | x | x |
Esc,f,...,00 | nume font, implicit:Courier New | - | x | x |
Esc,g,...,00 | tipărire imagine, începând din poziția curentă.
Cnnnn,Lnnnn,Ffilename
- Cnnnn -lățime imagine în zecimi de caractere la cpi curent,
- Lnnnn -înălțime imagine în zecimi de linii la lpi curent,
Wnnnn,Hnnnn,Ffilename
- Wnnnn -lățime imagine în sutimi de inchi,
- Hnnnn -înălțime imagine în sutimi de inchi | - | x | - |
Esc,h,nnn | densitate pe verticală: nnn zecimi de linii pe inch, implicit: 060 | - | x | la început |
Esc,i | cursiv început/sfârșit | - | x | x |
Esc,k,... | modul de interpretare/traducere a caracterelor cu cod 127-255:
D,8,5,2 -DOS code page 852, imprimă semigrafice fără cele simple-duble și caractere naționale RO și HU,
D,4,3,7 -DOS code page 437, imprimă semigrafice inclusiv cele simple-duble (este valoarea implicită),
N-imprimă fără conversie, conform fontului curent. | - | x | x |
Esc,m,... | Tnnn-margine sus în sutimi de inch, implicit: 000
Lnnn-margine stângă în sutimi de inch, implicit: 000 | - | x | la început |
Esc,o,... | orientare: P-portret (implicit), L-peisaj | - | x | x |
Esc,p,...,00 | nume imprimantă,
dacă este absent se consideră imprimanta implicită din Windows | - | x | x |
Esc,r,...,00 | tip hârtie: A4, A3, LETTER, etc., implicit:hârtia setată în driver | - | x | x |
Esc,s,... | Lnnn-grosimea liniei figurilor geometrice în miimi de inch, implicit: 001,
Snnn-grosime linie simplă la semigrafice în miimi de inch, implicit: 001,
Dnnn-grosime linie dublă la semigrafice în miimi de inch, implicit: 015 | - | x | x |
Esc,t,... | pitch:F-fix, V-variabil, D-default (implicit) | - | x | x |
Esc,u | subliniere început/sfârșit | - | x | x |
Esc,v,... | Cnnnn, C+nnn, C-nnn -poziționare pe orizontală în zecimi de caractere,
Lnnnn, L+nnn, L-nnn -poziționare pe verticală în zecimi de linii,
nnnn-poziționare absolută față de margine,
+nnn,-nnn-poziționare relativă față de poziția curentă | - | x | - |
Esc,w,nnn | densitate pe orizontală: nnn zecimi de caractere pe inch, implicit 120 | - | x | la început |
Esc,x,C | se imprimă un șablon numerotat în linii și coloane. | - | x | x |
Esc,x,I | se imprimă un șablon cu densitatea de 1 inch, atât pe verticală, cât și pe orizontală. | - | x | - |
Esc,x,R | se imprimă un șablon, constând din câte un dreptunghi pe locul fiecărui caracter | - | x | x |
Comenzi hWTools
Comenzile hWTools servesc la crearea fișierelor de comenzi, care au ca scop
lansarea unor acțiuni Windows prin intermediul utilitarului.
Sintaxa generală a fișierului de comenzi creat pentru hWTools este:
[RUN]
MODE= /MIN - lansare minimizată (task bar, sys tray) sau
/MAX - lansare în fereastră
DIRECTORY= indică catalogul curent la lansare
EXE= exe sau fișier cu o extensie care în Windows este atașată
la un program (doc, xls, htm, txt)
PARAMETERS= daca exe, atunci parametri exe
SLEEP= reprezintă un număr de secunde de așteptare după
lansarea comenzii.
Singura comandă obligatorie dintr-o secvență [RUN] este EXE=.
Ordinea comenzilor poate fi oarecare. Mai întâi se citesc toate comenzile
din secvența [RUN], după care se lansează acțiunea descrisă de comenzile
transmise.
Secvențele de comenzi pot să contină și linii de comentar. Liniile de
comentar încep cu "//".
De asemenea între liniile de comandă pot exista și linii vide.
Un fișier de comandă poate să conțină un număr oarecare de segmente [RUN], fiecare
reprezentând o acțiune de executat.
Segmentul [EXIT] termină rularea programului. [EXIT] poate fi precedat de un număr
oarecare de segmente [RUN].
Exemple:
Lansare hOP:
[RUN]
// Lanseaza utilitarul hOP
MODE=/MIN
DIRECTORY=C:\HAMOR
EXE=hOP.exe
PARAMETERS=TMP\op.txt
Lansare hMail:
[RUN]
// Lanseaza utilitarul hMail
MODE=/MIN
DIRECTORY=C:\HAMOR
EXE=hMail.exe
PARAMETERS=TMP\mail.txt
Lansare htm:
[RUN]
// Lansarea unui fisier .htm
MODE=/MAX
DIRECTORY=C:\HAMOR\DOC
EXE=hsalar.htm
PARAMETERS=
Lansare document word:
[RUN]
// Lansarea document word
MODE=/MAX
DIRECTORY=C:\HAMOR\TMP
EXE=abc.doc
PARAMETERS=
Lansare document excel:
[RUN]
// Lansare document excel
MODE=/MAX
DIRECTORY=C:\HAMOR\TMP
EXE=abc.xls
PARAMETERS=
Lansare txt:
[RUN]
// Lansare txt
MODE=/MAX
DIRECTORY=C:\HAMOR\TMP
EXE=abc.txt
PARAMETERS=
Lansare PDF:
[RUN]
// Lansare PDF
MODE=/MAX
DIRECTORY=C:\HAMOR\TMP
EXE=abc.pdf
PARAMETERS=
Lansare bat (ex. hRename.bat)
[RUN]
// Redenumire fisiere
MODE=/MAX
DIRECTORY=C:\HAMOR\TMP
EXE=C:\HAMOR\hRename.bat
PARAMETERS=abc.txt abc_123456.txt abc_123456.txt
Lansare program DOS:
[RUN]
// Lansare hUTIL pentru baza de date U1_COP
DIRECTORY=C:\HAMOR
EXE=hUTIL.exe
PARAMETERS=U1_COP
Lansare comanda si asteptare:
[RUN]
// Exemplu lansare fisier .PDF si asteplate 5 secunde
// pentru lansare Acrobat reader.
MODE=/MAX
DIRECTORY=C:\HAMOR\TMP
EXE=abc.pdf
PARAMETERS=
SLEEP=5
Ieșire prin comandă din hWTools
// Iesire comandata din hWTools
[EXIT]
Lansare program DOS și ieșire din utilitar:
// Lansarea unui program extern si
// iesire din utilitar
[RUN]
DIRECTORY=C:\HAMOR
EXE=hUTIL.exe
PARAMETERS=U1_COP
[EXIT]
C. MODURI DE UTILIZARE
hWTools este utilizat într-una din modurile de mai jos:
- listarea imprimantelor și a fonturilor, tipărirea paginilor de test pe una
dintre imprimantele disponibile în vederea citirii capabilității imprimantei,
- mod linie de comandă pentru tipărirea a unui fișier pe imprimantă,
- mod spooler local sau de rețea pentru:
- tipărirea pe imprimantă a unei liste lansată dintr-un program HAMOR Soft,
- executarea unei acțiuni în Windows, inițiată de un program HAMOR Soft,
La apelarea fără parametru a utilitarului
> hWTools
utilitarul afișează o ferestră de ajutor pe care sunt înșirate modurile în care
poate fi lansat:
Fig. 1.
În mod prestabilit hWTools poate fi lansat într-o singură instanță pe un
calculator. Dacă din anumite motive se dorește lansarea mai multor instanțe
ale utilitarului pe același calculator (de exemplu se dorește urmărirea mai
multor cataloage spooler), acest lucru trebuie specificat explicit prin
transmiterea parametrului /M în linia de comandă. După ce a fost lansat
utilitarul în regim de "singură instanță", cu parametrul /M se admite lansarea
unei instanțe noi. Este recomandabil ca cele doua instanțe lansate să fie
direcționate către cataloage spooler diferite.
Listarea imprimantelor și a fonturilor
Pentru a seta corect secvențele Esc din Tipuri de imprimante este necesară
crearea și eventual imprimarea unor pagini de test. Lansați:
c:\HAMOR\> hWTools /F TMP
Selectați dintre imprimantele vizibile (accesibile) imprimanta pentru care
doriți să creați fișiere conținând pagina(pagini) de test:
Fig. 2.
Se vor crea fișierele:
c:\HAMOR\TMP\NrImprimanta.PF - pagină portret, fonturi fixe
NrImprimanta.PV - pagină portret, fonturi variabile
NrImprimanta.LF - pagină peisaj, fonturi fixe
NrImprimanta.LV - pagină peisaj, fonturi variabile
Listați fișierul/fișierele care prezintă interes cu >hWTools nume_fisier
Analizați rezultatul și îmbunătățiți descrierea din Tipuri de imprimante
pentru imprimanta respectivă. La ce să fiți atenți ?
- margine sus: comparați marginea de sus a acestei liste cu marginea
unei liste DOS (de obicei este mai mare) și vedeți cât este diferența
în sutimi de inchi. Înscrieți această diferență la Esc,m,T,nnn
- margine stângă: comparați marginea stângă a acestei liste cu marginea
unei liste DOS și vedeți cât este diferența în sutimi de inch.
Înscrieți această diferență la Esc,m,L,nnn
- fonturi: alegeți un font care se vede bine și la 20 cpi
În general, fonturile la 20 cpi nu sunt suficient de înalte.
Dacă doriți caractere mai înalte, utilizați modul de imprimare WIS.
Modul linie de comandă
În acest mod puteți lansa programul pentru a imprima un singur fișier, sau
pentru a executa comenzile dintr-un fișier de comandă.
> hWTools d:\catalog\fisier.ext
Pentru a șterge fișierul după imprimare utilizați /D:
> hWTools /D d:\catalog\fisier.ext
Pentru a declanșa imprimarea unei liste dedicate cu cheie rapidă procedați
astfel:
- În hUTIL/Catalogul fișierelor modificați calea la "prn" din LPT1 în
c:\HAMOR\TMP\hamor.lst
- Creați un shortcut pentru imprimarea listei cu opțiunea ștergere și
cu cheia rapidă: Ctrl+Alt+P
Fig. 3.
- Lansați listare pe IMPRIMANTA din programul HAMOR și după ce se termină,
tastați Ctrl+Alt+P pentru a declanșa imprimarea și pe urmă ștergerea
listei.
- Lansați următoarea listare numai după ce imprimarea precedentei liste s-a
terminat.
Utilizare hWTools la imprimare paralelă
Dacă listați pe DISC, ulterior cu <F8> / Utilitare / Lansare imprimare
puteți lansa imprimarea fișierul selectat.
Dacă hWtools este lansat în regim de spooler (cazul general), imprimarea este
realizată prin spooler astfel:
- în programele care suportă catalogul spooler "scat" și care suportă și "gcmd",
se definește "scat" și procedura gcmd: PRINTA.
Procedura PRINTA
În acest caz procedura PRINTA copiază fișierul în catalogul "scat" și lista
va fi imprimată de hWTools.
- în programele mai vechi care nu suportă catalogul spooler "scat",
dar care suportă "gcmd", se definește procedura gcmd: PRINTA.
În acest caz procedura PRINTA lansează procedura print.bat care copiază
fișierul în catalogul spooler și lista va fi imprimantă de hWTools.
În acest scop veți avea în catalogul implicit un PRINT.BAT de forma:
Procedura PRINT.BAT
Dacă este necesar, catalogul SPOOL în care se face copia se poate modifica.
- în programele foarte vechi care nu suportă catalogul spooler "scat" și
nici "gcmd", programul lansează print.bat ca mai sus. Secvențele Anulare și
Lista sunt pentru compatibilitate cu programul PRINT din DOS.
Dacă hWtools nu este lansat în regim de spooler, "scat" nu trebuie definit și
în acest caz se lansează print.bat în care trebuie activat rândul:
hWTools %1
Crearea fișierelor pdf din programele HAMOR Soft
Din aplicațiile HAMOR Soft se pot crea liste în format pdf prin intermediul
imprimantelor (driverelor) PDF.
Imprimantele PDF practic sunt imprimante virtuale, care apar în lista
imprimantelor Windows, iar la ieșire produc fișiere în format pdf.
Exemple de imprimante PDF pentru Windows: PDFCreator, PDF995. Pachetele de
instalare există pe Internet.
Instalați imprimanta PDF aleasă. Documentația de instalare, licențele de
utilizare sunt specifice pentru fiecare pachet.
Instalare PDFCreator
Din programul HAMOR Soft listați pe imprimanta PDF în mod WIN sau WIS, iar la
ieșire veți obține un fișier în format pdf.
Utilizare ca spooler local pentru tipărirea listelor
Creați catalogul pentru listele de tipărit: C:\HAMOR\SPOOL
Direcționați listarea pe IMPRIMANTA în loc de LPT1 în spooler.
În hUTIL/Catalogul fișierelor modificați calea la "prn" în SPOOL\hamor.lst sau
c:\HAMOR\SPOOL\hamor.lst.
Lansați: > hWTools.exe /S c:\HAMOR\SPOOL\*.*
După lansarea hWTools, un icon verde apare pe bara de taskuri în zona de
notificare (în partea dreaptă-jos, zona system tray).
Cum funcționează listarea în acest caz ?
Faza 1:
- listați pe IMPRIMANTA,
- programul HAMOR Soft creează lista în spoolerul aplicației (c:\HAMOR\SPOOL),
Faza 2:
- fișierul creat este observat de hWTools care rulează în background,
- fișierul este redenumit în xxxx.tmp,
- după care se crează fișierul de listă în spoolerul imprimantei și
fișierul xxxx.tmp este șters,
- pe timpul prelucrării listei de hWTools iconul de pe TaskBar devine roșu,
Faza 3:
- driverul tipărește lista din spoolerul imprimantei pe imprimantă.
Observații:
- hWTools rulează în spate (background), iar programul HAMOR Soft în față
(foreground). Dacă observați că hWTools rulează prea încet, lansați-l cu
prioritate ridicată:
> hWTools.exe /S c:\HAMOR\SPOOL\*.* /P:HIGH
Prioritatea implicită este /P:NORMAL.
- la lansarea listei alegeți: Tip imprimanta, Tip hartie
- nu lansați o nouă listare decât după ce a început tipărirea precedentei
- în momentul tipăririi din programul HAMOR Soft, utilitarul hWTools trebuie
să fie deja lansat. Lansarea utilitarului poate fi făcut în mai multe moduri:
- la începutul lui hmenu.bat cu
del c:\HAMOR\SPOOL\exit.cmd >NUL
start hWTools.exe /S c:\HAMOR\SPOOL\*.*
În acest caz la ieșirea din hmenu.bat se poate comande terminarea
utilitarului prin:
echo [EXIT] > c:\HAMOR\SPOOL\exit.cmd
Această comandă generează fișierul c:\HAMOR\SPOOL\exit.lst, care conține
o singură linie: [EXIT]
Fișierul este depistat și interpretat de utilitar, care astfel își termină
rularea.
Nu este însă obligatorie forțarea ieșirii din hWTools. hWTools poate
să rămână lansat și după ieșirea din hMENU. Dacă se relanseză
hMENU, hWTools va sesiza că există deja o instanță lansată a
utilitarului și nu se mai lansează încă o dată, acest lucru fiind
afișat pe o fereastră, care după 3 secunde dispare automat.
- în StartUp menu
- puteți crea un shortcut cu care să-l lansați manual de pe desktop
- făcând dublu clic sau clic dreapta pe iconul hWTools și selectând Informatii,
apar parametrii cu care a fost lansat utilitarul:
Fig. 4.
- programul hWTools se poate termina și manual făcând dublu clic sau clic
dreapta pe iconul hWTools și alegând Iesire
Utilizare ca spooler local și tipărire alternativ pe mai multe
imprimante
Acest mod permite tipărirea alternativ pe toate imprimantele accesibile
din Windows.
Se lansează hUTIL V 2.05, Fisiere sistem/ Tipuri de imprimante
și pentru fiecare imprimantă pe care urmează să se tipărească se creează o
descriere:
-pentru imprimantele compatibile DOS, se creează o descriere cu secvențe
de comandă specifică imprimantei (PCL, Esc/P etc.)
-pentru imprimantele Windows se creează o descriere cu secvețe specifice
hWTools, pe baza tipurilor de imprimante WIS și WIN existente.
Folosiți opțiunea Adaugare/ Copiere pentru crearea definiției pe
baza unei imprimante existente, după care executați modificările necesare
pentru imprimanta nou definită.
Noutatea în hUTIL V 2.05 este că la definirea imrimantei se poate specifica
tipul imprimantei, care poate fi DOS, WIS, WIN. Dacă nu se completează tipul,
implicit se consideră DOS.
Pentru imprimantele DOS se specifică Port/UNC.
Exemplu port: PRN, LPT1, LPT2,
Exemplu UNC: \\Server-C\Epson
Pentru imprimantele Windows se specifică numele imprimantei, așa cum este
disponibil în Windows.
Exemple: PDFCreator
\\Server-C\HP1320
Fig. 5.
hWTools trebuie să fie lansat în regim spooler, conform celor prezentate în
aliniatul precedent.
La tipărire se alege imprimanta dorită. Fișierul generat va conține
secvența pentru identificarea imprimantei și hWTools va putea tipării pe
imprimanta corespunzătoare. La nivel de utilizare procedura va decurge total
transparent, asigurându-se o interfață omogenă pentru toate imprimantele.
Utilizare ca spooler local pentru executarea unor acțiuni
Această modalitate de rulare se folosește pentru executrea unor acțiuni
care nu ar putea fi făcute direct de programele HAMOR Soft. Astfel de acțiuni
pot fi: deschiderea fișierelor de tip Word, Excel, PDF, HTM, etc., lansarea
unor programe Windows, care prelucrează date generate de programele HAMOR Soft
(ex. programe de transfer, de transmitere e-mail, etc.).
Pentru executarea unor programe cu hWTools sunt necesare următoarele:
1. Existența unui catalog spooler, de regula SPOOL
2. Definirea catalogului spooler "scat" către acest catalog
3. Definirea catalogului de programe "spro" în care sunt programele care sunt
lansate prin hWTools. Definirea acestui catalog este necesară atunci când
programele nu sunt în rădăcină sau în %path%.
4. Procedura de generare a comenzii hWTools
5. Lansarea automată a programului hWTools în regim de spooler care de regulă
este asigurat în hMENU.bat
În acest caz se generează un fișier de comandă în catalogul spooler, care
este depistată, interpretată și executată de utilitar. Modul de generare a
fișierului de comandă este specific de la caz la caz. hWTools trebuie lansat
în mod spooler, asemânător ca la spooler local de tipărire.
Asemenea exemple sunt vizualizarea listelor și transmiterea listelor prin e-mail:
- PRINTB - Vizualizare lista
- PRINTC - Transmite lst prin e-mail
- PRINTD - Transmite pdf prin e-mail
Pentru implementare PRINTC - Transmite lst prin e-mail:
- definiți "scat", "spro" și copiați hMail.exe în catalogul "spro"
- corectați adresa destinatarului:
Editați scriptul, căutați linia:
"ADDRESSTO="...
și înscrieți adresa dorită, exemplu:
"ADDRESSTO=adresamea@domeniul.meu"+x_crlf+;
Pentru implementare PRINTD - Transmite pdf prin e-mail:
- definiți "scat", "spro" și copiați hMail.exe în catalogul "spro"
- corectați adresa destinatarului:
Editați scriptul, căutați linia:
"ADDRESSTO="...
și înscrieți adresa dorită, exemplu:
"ADDRESSTO=adresamea@domeniul.meu"+x_crlf+;
- pentru imprimanta PDF selectați opțiunea Auto Save,
setați ca numele fișierului pdf generat să fie numele fișierului original
cu extensia .PDF și
fișierul să fie generat în catalogul PDF care se află la același nivel cu
catalogul DBF:
c:\HAMOR\DBF
PDF
sau modificați în script localizarea fișierului pdf.
Utilizare ca spooler de rețea pentru tipărirea listelor
Diferența față de spoolerul local este că în acest caz hWTools rulează pe
serverul la care sunt legate imprimantele (nu local) și tipărește listele
provenite de la mai multe stații (nu de la un singur utilizator).
Creați cataloagele:
F:\HAMOR\SPOOL_01 - listele stației 01
SPOOL_02 - listele stației 02
...
Pe fiecare stație faceți o mapare:
L: <- F:\HAMOR\SPOOL_nn, unde nn este identificatorul stației
În hUTIL/Catalogul fișierelor modificați catalogul pentru poziția "prn" în:
L:\hamor.lst
Creați un fișier script pentru hWTools cu numele:F:\HAMOR\hwtools.scr
și având conținutul:
F:\HAMOR\SPOOL_01\*.lst
F:\HAMOR\SPOOL_02\*.lst
...
Lansați hWTools:
> hWTools /S @F:\HAMOR\hwtools.scr /P:HIGH
În acest mod, chiar dacă baza de date este aceeași, listele de pe stații
diferite se vor crea în cataloage distincte. Utilitarul va căuta listele pe
rând în fiecare catalog specificat în fișierul script.
Utilizare ca spooler de rețea pentru executarea unor acțiuni
În acest caz acțiunea este inițiată pe un calculator (ex.pe stația de lucru),
iar executarea efectivă a acțiunii are loc pe un alt calculator (ex. pe server)
sau invers.
Utilizarea ca spooler de rețea este util în cazul sistemelor hibride, cu
mai multe tipuri de sisteme de operare (ex. server Linux, stații de lucru
Windows), sau în cazul sistemelor dispersate teritorial (ex.remote desktop) când
acțiunea inițiată pe un calculator trebuie să se execute pe un alt calculator
care rulează Windows și eventual se afla la distanță.
Utilitarul trebuie să fie lansat pe calculatorul unde se dorește să se
execute efectiv acțiunea inițiată.
Catalogul spooler trebuie să fie accesibil de pe ambele calculatoare.
Pentru accesarea catalogului spooler se pot folosii soluții diverse:
- indicarea unei căi de acces absolute,
- maparea catalogului spooler,
- VPN (virtual private network),
Acțiunile sunt inițiate în cadrul programelor HAMOR Soft. Acestea vor genera
un fișier de comenzi pentru hWTools și depun în catalogul spooler. Utilitarul va
depista existența fișierului de comandă și execută acțiunea specificată.
Generarea fișierului de comandă hWTools în programele HAMOR Soft poate fi în:
- în scripturile comenzilor generale,
- în formulele de validare din hMARFA,
- în listele pe baza tpurilor de documente
Un exemplu de spooler de rețea pentru executarea unei acțiuni în Windows, este
operația de Listare OPT/FVT din hSALAR, cazul când baza de date se află pe un
server Linux, iar rularea utilitarului hOP.exe pentru listarea OPT/FVT trebuie
să aibe loc pe o stație de lucru cu Windows.
În acest caz se creează un catalog spooler, accesibil și de pe stația de lucru
și de pe server. Se lansează hWTools pe stația de lucru cu Windows instalat
pentru catalogul spooler creat anterior.
Pe server unde se rulează hSALAR trebuie să fie definit fișierul "scat" și
trebuie să indice catalogul spooler.
Exemplu: Secvența de Editare/Listare din T6_OPT - Listare OPT/FVT.
Dacă catalogul "scat" există, la executarea opțiunii Listare OPT/FVT din
hSALAR, se generează fișierul de comandă de tip hWTools pentru lansarea
utilitarului hOP pe stația de lucru. hWTools va depista fișierul de comandă
depus și va lansa hOP pe stația de lucru.
Un altă utilizare este lansarea de pe o stație a unei proceduri de
copie/salvare care se va executa pe server. În acest caz pe server trebuie să
fie catalog spooler și să fie lansat hWTools.
Exemplu: Procedura de lansare copie.
Lansare hPRINT în cazul LINUX_TS
Lansare hPRINT pe o stație de lucru cu Windows instalat, baza de date
fiind pe un server Linux.
hPRINT fiind un program Windows, nu va putea fi executat în Linux, deci
se va rula pe stația de lucru cu Windows instalat.
Scriptul DOC_PR din hMARFA trebuie modificat, astfel ca după generarea
fișierului de tip hPRINT cu conținutul facturii, să mai genereze un fișier de
comandă pentru hWTools în catalogul spooler.
Implementare
Utilizare în cazul remote desktop
Inițierea unor acțiuni de la distanță prin internet la modul de lucru prin
remote desktop.
Exemple:
-baza de date la distanță și listare pe calculatorul local,
-baza de date la distanță și casa de marcat pe calculatorul local,
-lansarea unui fișier Excel, Word pe calculatorul local, etc.
Se definește un catalog spooler și se lansează hWTools în mod spooler pe
calculatorul local. Catalogul spooler poate fi pe calculatorul local sau
server, important este că ambele calculatoare trebuie să aibe acces la acest
catalog. Catalogul spooler în funcție de sistemul folosit fie se poate mapa
fie se poate accesa prin VPN (virtual private network).
Asigurați ca catalogul spooler să fie în locația unde se scrie în acest catalog,
iar locația de la distanță să citească și eventual să șteargă fișierele.
La accesul prin internet probabilitatea erorilor este mai mare și este mai
simplă observarea și reluarea erorilor la citire decât la scriere.
Dacă totuși este necesară scriere la distanță, includeți în script verificarea
fiecărei operații de scriere.
Folosirea unei case de marcat de la două calculatoare
Calculatoarele trebuie să fie legate în rețea.
Casa de marcat este legată la una dintre cele două calculatoare.
hWTools se lansează în regim spooler pe calculatorul la care este legată
casa de marcat.
Catalogul spooler trebuie să fie accesibil de pe ambele calculatoare.
Se generează fișierul care conține bonul și se generează un fișier de comandă
pentru hWTools cu care utilitarul va putea lansa programul de transmisie spre
casa de marcat.
D. EXPLOATAREA PROGRAMULUI hWTools
Despre viteza de imprimare
Efectuați obligatoriu teste și parametrizări de viteză la calculatoare cu
performanțe reduse.
Imprimarea are trei faze:
1. Listarea din programul HAMOR Soft într-un fișier text.
2. Execuția programului hWTools care citește fișierul text,
îl transformă și îl depune în spoolerul imprimantei.
3. Tipărirea efectivă din spooler pe imprimantă.
La pct.3 viteza depinde de calitățile imprimantei și de modul de imprimare
ales. Modul fără scalare (WIN) este mult mai rapid, dacă utilizați un
font de imprimantă, decât modul WIS. Tipărirea cu fonturile proprii imprimantei
este mai rapidă decât dacă fonturile se transmit.
Viteza de la pct.2 depinde de performanțele calculatorului și de modul de
tipărire ales. Daca calculatorul este sub Pentium 400 MHz cu memorie 64Mb,
alegeți metoda WIN și pitch:D.
Viteza poate să depindă și de locul fișierului text de tipărit.
Dacă fișierul este local, viteza este mai bună, decât dacă fișierul este undeva
în rețea.
În mod spooler hWTools rulează în spate (background) și programul DOS din care
a fost lansată listarea rulează în față (foreground). Dacă din acest motiv
hWTools nu primește suficiente resurse și rulează mai încet, măriți prioritatea
lui lansând:
> hWTools.exe /S c:\HAMOR\SPOOL\*.* /P:HIGH
Dacă programul DOS ruleză în mod caracter (ecran), atunci hTools și
imprimarea se execută mai încet decât dacă programul DOS ruleză în mod grafic
(în mod fereastră). Dacă rulați programul DOS în mod fereastră, dimensionați
fereastra în mod convenabil:
Properties
Font
Alegeți Lucida Console sau Raster Fonts
Alegeți Size convenabil
Save properties for future windows ...
Erori care pot apare
Dacă apar erori de execuție în hWTools și este lansat din shortcut,
pentru a putea vizualiza exact mesajul de eroare:
-sub Win'95,98,ME lansați hWTools dintr-un prompt DOS,
-sub Win'NT, 2000, XP, Vista studiați Administrativ Tools/Event
Viewers/Application Log.
1. Divide by zero.
Raportul densitatea (rezoluția) imprimantei și nr.caractere pe inch(cpi)
sau nr.linii pe inch(lpi) este mai mic decât unu.
Deci, fie rezoluția este mică, fie cpi sau lpi prea mare.
2. Printer selected is not valid.
Lansați hTools /F ... și indicați pe rând fiecare imprimantă.
Stergeți imprimanta pentru care apare eroarea și instalați-o din nou,
sau setati-o ca imprimantă implicită.
3. La listare în mod DOS, pe imprimantă locală sub WIN'95,98,ME,
lista nu se depune în spooler, ci este tipărit direct pe imprimantă.
Astfel erorile tipice de imprimare (lipsă hârtie etc.) apar în
hWTools. Sub WIN'NT, 2000, XP, Vista și pe imprimante de rețea lista apare
în spooler.
4. La listare în mod DOS, nu este tipărit nimic.
Ați listat pe LPTx:, dar acesta nu există (eventual l-ați
capturat pentru un \\server\printer).
La imprimante de rețea utilizați destinația: \\server\printer.
5. Dacă pagina test pentru A4 portret listează numai 62 linii și
A4 peisaj listează numai 104 linii
la 10 cpi, înseamnă că tipul de hârtie este setat pe LETTER și nu pe A4.
6. Codurile I/O ERROR
Nb. Name Description
100 Disk read error Reported by Read on a typed file if you
attempt to read past the end of the file.
101 Disk write error Reported by CloseFile, Write, WriteIn, or
Flush if the disk becomes full.
102 File not assigned Reported by Reset, Rewrite, Append, Rename,
or Erase if the file variable has not been
assigned a name through a call to Assign or
AssignFile.
103 File not open Reported by CloseFile, Read Write, Seek, Eof,
FilePos, FileSize, Flush, BlockRead, or
BlockWrite if the file is not open.
104 File not open for input Reported by Read, Readln, Eof, Eoln, SeekEof,
or SeekEoln on a text file if the file is not
open for input.
105 File not open for output Reported by Write or Writeln on a text file
if you do not generate a Console application.
106 Invalid numeric format Reported by Read or Readln if a numeric value
read from a text file does not conform to the
proper numeric format.