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 EscDescriereDOSWINWIS
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-xx
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
-xx
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
-xx
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.
-xx
Esc,f,...,00 nume font, implicit:Courier New-xx
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-xla început
Esc,i cursiv început/sfârșit-xx
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.
-xx
Esc,m,... Tnnn-margine sus în sutimi de inch, implicit: 000
Lnnn-margine stângă în sutimi de inch, implicit: 000
-xla început
Esc,o,... orientare: P-portret (implicit), L-peisaj-xx
Esc,p,...,00 nume imprimantă,
dacă este absent se consideră imprimanta implicită din Windows
-xx
Esc,r,...,00 tip hârtie: A4, A3, LETTER, etc., implicit:hârtia setată în driver-xx
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
-xx
Esc,t,... pitch:F-fix, V-variabil, D-default (implicit)-xx
Esc,u subliniere început/sfârșit-xx
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-xla început
Esc,x,C se imprimă un șablon numerotat în linii și coloane.-xx
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-xx

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 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 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 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 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 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.