Unelte utilizator

Unelte site


Bara de navigare

DOCUMENTAŢIE PDF
Reguli de licenţiere

hutil:hutil_06

6. Utilitarul hWTools

6.1. Prezentare generală

6.1.1. Mod de utilizare

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

6.1.2. 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 înseamnă 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.

6.1.3. Implementare

În continuare prezentăm modalităţi de implementare ale utilitarului. Pentru detalii şi pentru situaţii mai complexe studiaţi capitolul 6.3.

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

În cap. 6.3 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ă din cap.6.3.

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.

În cap.6.3 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

6.2. Descrierea limbajului de programare hWTools

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

a) Varianta DOS

Esc,D,O,S    - identificare mod imprimare
Esc,d,...,00 - destinaţie imprimare
Esc,p,...,00 - nume imprimantă 
  • După aceste secvenţe urmează secvenţele specifice imprimantei (Esc/P, PCL etc.);
  • Dacă lipseşte atât secvenţa Esc,d,…,00, cât şi secvenţa Esc,p,…,00
    se consideră imprimanta LPT1:;
  • Dacă secvenţa Esc,d,…,00 este prezentă, trebuie să fie precedată obligatoriu de Esc,D,O,S
  • Dacă secvenţa Esc,p,…,00 este prezentă, atunci se vor trimite secvenţele
    direct către imprimantă ( chiar dacă este imprimantă Windows ), similar
    ca la imprimarea pe portul LPT1.
  • Dacă există atât secvenţa Esc,p,…,00, cât şi secvenţa Esc,d,…,00,
    atunci rezultatul va fi imprevizibil.

Destinaţia imprimării poate fi:

pentru imprimante locale:   LPT1:, LPT2:, ... (terminat cu :), sau
pentru imprimante de reţea: ''\\''server\printer (adica UNC), sau 
orice tip de imprimantă care suportă secvenţe specifice (vezi Esc,p,...,00)

La imprimante de reţea nu trebuie setat Capture Printer Port.

Începând cu 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.

b) 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 mai frecvente există cod simbolic, cod hWTools, recunoscut de hWTools.Tipurile de hârtie din Windows pot fi identificate printr-un număr. Ex. hârtiei A4 îi corespunde numărul 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 numărul prin care este identificat tipul de hârtie în Windows (cod numeric). Are efect numai dacă se află înaintea primului caracter imprimabil, adică înainte să înceapă jobul de imprimare.

Coduri tipuri de hârtie

Esc,m,T,nnn  - margine sus = "nnn" sutimi de inch.
      Valoarea implicită este punctul cel mai de sus unde imprimanta poate
      tipări. Această valoare diferă de la o imprimantă la alta.
      După fiecare secvenţă Esc,p,...,00 aceasta va fi setată automat pe 
      valoarea implicită a imprimantei alese. Valoarea (dacă este dată) 
      trebuie dată de la marginea fizică sus a hârtiei.
      Pentru compatibilitate cu listele DOS, de obicei pe matriciale trebuie
      utilizat 033 iar pe deskjet/laser 020, dar nu este obligatoriu.
      Atenţie! De ex. ptr secvenţa Esc,m,T,000 foarte probabil o parte din 
      partea de sus a textului, graficii sau unei figuri geometrice să fie 
      invizibil(ă), dacă aceasta se află în extrema sus a hârtiei.
Esc,m,L,nnn  - margine stângă = "nnn"  sutimi de inch.
      Valoarea implicită este punctul cel mai din stânga unde imprimanta
      poate tipări. Această valoare diferă de la o imprimantă la alta.
      După fiecare secvenţă Esc,p,...,00 aceasta va fi setată automat pe 
      valoarea implicită a imprimantei alese. Valoarea (dacă este dată) 
      trebuie dată de la marginea fizică stânga a hârtiei.
      Atenţie! De ex. ptr secvenţa Esc,m,L,000 foarte posibil ca o parte
      din partea stângă a textului, graficii sau unei figuri geometrice să
      fie invizibil(ă), dacă aceasta se află în extrema stângă a hârtiei.

Despre margini...

Esc,o,P      - orientare: portret (implicit)
      L      - orientare: peisaj
  
Esc,t,F      - pitch:fix  (caractere neproporţionale)
                     utilizaţi la listare tabele (liste)
      V      - pitch:variabil (caractere proporţionale)
                     utilizaţi la documente hMISS care nu conţin tabele
      D      - pitch: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ă)
      W      -         alb (White)  
      B      -         albastru (Blue)
      R      -         roşu (Red)
      G      -         verde (Green)
      Y      -         galben (Yellow)
      M      -         maro (Maroon)
      V      -         Navy
      O      -         Olive
      L      -         Lime
      P      -         Purple
      A      -         Aqua
      F      -         Fuchsia
      0..9   -         nuanţe de gri
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 
desenare 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.

Dacă 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_FilePathesfil_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 (dacă 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 şi W=inch
EscgFimagine.bmp          - lipseşte 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 resolution: 400 dpi ( pixeli per inch )

Dat fiind 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ă că 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 orizontală. 
      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 orizontală.
      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 orizontală.
      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 orizontală. 
      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 orizontală. 
      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 orizontală. 
      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 <margine_sus> + 12 linii la LPI curent,
      iar pe orizontală la punctul <poziţia_curenta> + 2.00 inch.

Esc,a,L,nnnn - numărul liniilor de text care se imprimă pe o pagină, 
      exprimat în zecimi de linii. Valoarea nnnn trebuie să fie reprezentată 
      cu patru cifre.
      Textul se imprimă cu un lpi adecvat, 
      astfel încât să se imprime nnnn linii pe pagină.
      Este utilizabil în modul WIS.            
               
Esc,a,C,nnnn - numărul maxim al caracterelor de text care se imprimă pe un rând, 
      exprimat în zecimi de coloane. Valoarea nnnn trebuie să fie reprezentată 
      patru cifre.
      Textul se imprimă cu un cpi adecvat, astfel încât să se imprime nnnn 
      caractere pe rând. Este utilizabil în modul WIS.            
                   
Esc,k,...    - semnificaţia/traducerea caracterelor cu cod peste 127:

Esc,k,D,8,5,2- DOS codepage 852 (Central European) 
      Caracterele cu cod peste 127 se imprimă astfel:
      - 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)
Caracterele cu cod peste 127 se imprimă astfel:
* 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,Rnnnn,B… - dreptunghi cu colţurile eventual rotunjite.
    Colţul dreapta-jos este la distanţa relativă C,L zecimi de caractere faţă de
    punctul de start. Rnnnn este raza în 1/100 inch a cercului cu care
    va fi rotunjit dreptunghiul.
    Setaţi 0000 pentru dreptunghi nerotunjit.

Interiorul dreptunghiului va fi colorat cu culoarea dată de parametrul B care poate avea următoarele valori:

  • R roşu (Red)
  • G verde (Green)
  • B albastru (Blue)
  • Y galben (Yellow)
  • M maro (Maroon)
  • N negru
  • W alb (White)
  • V Navy
  • O Olive
  • L Lime
  • P Purple
  • A Aqua
  • F Fuchsia
  • T transparent (fără culoare, valoare implicită
  • 0..9 nuanţe de gri
R,Wnnnn,Hnnnn,Rnnnn,B... - dreptunghi cu colţurile eventual rotunjite. 
    Colţul dreapta-jos este la distanţa relativă W,H 1/100 inch 
    faţă de punctul de start. 
    Rnnnn şi B... au valorile descrise la secvenţa Esc,d,R,Cnnnn,Lnnnn,B...

E,Cnnnn,Lnnnn,B... - elipsă.
    Colţul dreapta-jos este la distanţa relativă C,L zecimi de 
    caractere faţă de punctul de start.
    Interiorul elipsei va fi colorat cu culoarea dată de parametrul B, 
    care poate avea una din valorile descrise la secvenţa Esc,d,R,Cnnnn,
    Lnnnn,B...

E,Wnnnn,Hnnnn,B... - elipsă.
    Colţul dreapta-jos este la distanţa relativă W,H 1/100 inch faţă de 
    punctul de start. 
    Interiorul elipei va fi colorat cu culoarea dată de parametrul B, 
    care poate avea una din valorile descrise la secvenţa  
    Esc,d,R,Cnnnn,Lnnnn,B...
    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 R0010
    va imprima un dreptunghi rotunjit din poziţia curentă a capului imprimantei
    cu o lăţime de 1.00 inch şi o înălţime de 3.25 inch.
    Raza cercului cu care se rotunjesc colţurile dreptunghiului este de 0.1 inch.
  • Esc d E 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 E 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 în metodele WIN şi WIS.
  • C - Se imprimă un şablon numerotat în linii şi coloane, cu densitatea CPI şi LPI.
    Disponibil î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.
Esc,e,...    - Tipărire cod de bare
  • T,xxx - Standardul codului de bare.
    Parametrul este reprezentat pe trei caractere.
    Dacă valoarea este mai mică de trei caractere,
    atunci va fi completat cu spaţii la dreapta.

Valori acceptate:

E30 -> EAN13  ( implicit )
E32 -> EAN13 cu cod suplimental 2
E35 -> EAN13 cu cod suplimental 5
E80 -> EAN8
3S  -> Code39 fără cifră de control
3SC -> Code39 cu cifră de control
3E  -> Code39 Extended fără cifră de control
3EC -> Code39 Extended cu cifră de control
9   -> Code93
1A  -> 128A
1B  -> 128B
1C  -> 128C
E1A -> EAN128A
E1B -> EAN128B
E1C -> EAN128C
K   -> CodeBar
UA0 -> UPC_A
UA2 -> UPC_A cu cod suplimental 2
UA5 -> UPC_A cu cod suplimental 5
UE0 -> UPC_E
11  -> Code11 
M0  -> MSI cu o cifra de control Modulo10
M00 -> MSI cu două cifre de control Modulo10 şi Modulo10
M10 -> MSI cu două cifre de control Modulo11 şi Modulo10
2S  -> 2 of 5 Standard fără cifră de control
2SC -> 2 of 5 Standard cu cifră de control 
2IC -> 2 of 5 Interleaved cu cifră de control
2I  -> 2 of 5 Interleaved fără cifră de control

Exemplu: EsceT9 K… Este un cod de bare la standardul Code93. Observaţi că după şirul T9 se află două spaţii, pentru că tipul trebuie să fie reprezentat cu 3 caractere.

  • Snnn - Grosimea unei singure bare.
    Parametrul este exprimat în miimi de inch şi este opţional. Valoarea implicită: 015.
    De ex: EsceS022 înseamnă că grosimea unei bare va fi de 0,022 inch.
  • Hnnn - Înălţimea totală a codului de bare.
    Parametrul este exprimat în sutimi de inch şi este opţional.
    Valoarea implicită: 060.
    Înălţimea totală este împărţită în trei regiuni:
    • marginea sus, care este egală cu 10% din valoarea acestui parametru
    • barele propriu-zise
    • zona caracterelor lizibile, chiar dacă acestea nu vor fi imprimate
  • Lnnn - Înălţimea totală a codului de bare.
    Parametrul este exprimat în zecimi de linii la LPI curent şi este opţional.
    Valoarea implicită: 0,6 inch (vezi parametrul H).
    Detalii despre înălţimea totală la parametrul H.
  • Rn - Lizibilitatea codului de bare.
    Parametrul este opţional şi poate avea următoarele valori:
    • 0 caracterele codului de bare nu sunt tipărite
    • 1 caracterele codului de bare sunt tipărite (implicit)
  • On - Orientarea codului de bare.
    Parametrul este opţional şi poate avea următoarele valori:
    • 0 codul de bare este tipărit normal ( implicit )
    • 1 codul de bare este tipărit cu o rotaţie de 90 grade
    • 2 codul de bare este tipărit cu o rotaţie de 180 grade
    • 3 codul de bare este tipărit cu o rotaţie de 270 grade
  • B,… - culoare fundal, valori posibile:
R    roşu (Red)
G    verde (Green)
B    albastru (Blue)
Y    galben (Yellow)
M    maro (Maroon)
W    alb (White) implicit
0..9 nuanţe de gri
  • Dn - dreptunghi în jurul codului de bare, valori posibile:
0    codul de bare nu are dreptunghi în jurul său
1    codul de bare are un dreptunghi în jurul său
  • K…,00 - Codul codului de bare.

Acest parametru este obligatoriu, se termină cu caracterul 00 sau următoarea secvenţă Esc şi trebuie să fie ultimul parametru. Defineşte un şir de caractere cu lungime variabilă, dar în unele cazuri, lungimea şi conţinutul trebuie să corespundă cu standardul dat. Caracterul de control (dacă este cazul) nu trebuie dat în nici un caz.

De exemplu, pentru un cod EAN13, lungimea şirului trebuie să fie strict de 12 cifre, pentru că acest standard conţine 12 cifre + o cifră de control. Cifra de control este calculată de program. În cazul standardelor care pot conţine şi cod suplimental 2 sau 5, codul suplimental se va adăuga după codul de bare, separat de un spaţiu. De exemplu codul EAN13 „123456789012“ cu codul suplimental 2 „12“ va fi definit astfel: EsceTE30K123456789012 1200.

În cazul altor standarde, de exemplu în codul 128B nu există restricţii la lungimea şirului, aceasta practic poate conţine oricâte caractere, chiar şi unele alfanumerice. Pentru descrierea standardelor, există numeroase articole şi descrieri, atât în manualele de specialitate, cât şi pe Internet, care pot fi consultate. În cazul în care acest şir de caractere este eronat, atunci în locul codului de bare va fi imprimat semnul „?“.

Exemple de erori:

  • EsceTE30K123456789012300.
    Pentru acest cod EAN13 s-au definit 13 caractere şi nu 12.
    Varianta corectă ar putea fi:
    • EsceTE30K12345678901200
    • EsceTE80K594A25400
      Pentru acest cod EAN8 s-au definit 7 cifre (dealtfel corect),
      dar în cod se regăseşte şi un caracter alfanumeric (A), care nu este permis,
      conform standardului EAN8. Un exemplu corect ar putea fi:
      • EsceTE80K594625400

Culoarea codului de bare şi a codului lizibil poate fi şi el schimbat prin secvenţa Esc,c,… Pentru a tipări mai multe coduri de bare cu aceleaşi caracteristici (standard, culoare, grosimea unei bare, înălţime, lizibilitate, orientare) este suficient ca acestea să fie date o singură dată la primul cod de bare, pentru că aceste setări se vor aplica la toate celelalte coduri de bare, până la prima schimbare.

Codul de bare este imprimat în locul unde se află capul imprimantei. La poziţionare trebuie luat în considerare, că aceasta are câte o margine în stânga şi o margine dreapta, egală cu câte 15 grosimi de bară. Aceste margini sunt necesare, pentru ca ulterior să se poată citi corect de către un cititor. Deasemenea mai trebuie luat în considerare faptul, că şi în partea de sus a barelor propriu-zise există o margine, aceasta fiind documentată la descrierea parametrului H.

  • Esc,z, Annn, …, 00 - Tipărire text sub un unghi dat.

Textul va fi tipărit începând din poziţia curentă sub unghiul dat de parametrul Annn care este specificat în grade (000..359) şi este reprezentat pe trei caractere. Textul se află după parametrul A şi se termină cu un caracter NUL. Setările fontului (culoare, mărime, bold ş.a.m.d.) cu care se va scrie sunt identice cu cele ale fontului de dinaintea acestei secvenţe. După imprimarea textului, imprimanta revine la scrierea care a fost setată înainte de această secvenţă (cu unghiul 0). Totodată, după terminarea secvenţei trebuie ţinut cont de faptul, că capul imprimantei va reveni în locul unde s-a aflat în momentul începerii execuţiei acestei secvenţe.

De exemplu, secvenţa:

  • Esc,zA090Text sub 90 de grade,00
    va afişa textul „Text sub 90 de grade“ (00 este terminatorul de şir)
    scris din poziţia curentă înspre partea de sus a hârtiei.
    După această operaţiune capul imprimantei va reveni
    în poziţia primei litere (T) din text.
    Tot ce va fi scris după această secvenţă,
    va fi tipărit cu aceleaşi proprietăţi ale
    setului de caractere ca şi înainte de secvenţă.

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 niciun 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:
...                        - nicio 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 completa 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.

Rezumatul secvenţelor esc

6.2.2. 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 comentarii. Liniile de comentarii î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]

6.3. Moduri de utilizare

hWTools este utilizat într-unul 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:

figw1.jpg

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

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

figw2.jpg

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
             NrImprimanta.PR - pagină peisaj,  riglă

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.

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

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.

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

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

6.3.5. Utilizarea ca spooler

a) 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, o icoană 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ăcuta î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 comanda 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 click sau click dreapta pe iconul hWTools şi selectând Informatii, apar parametrii cu care a fost lansat utilitarul:

figw4.jpg

Programul hWTools se poate termina şi manual făcând dublu click sau click dreapta pe icoana hWTools şi alegând Iesire.

b) 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 secvenţ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

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.

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

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

e) 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:

  • scripturile comenzilor generale,
  • formulele de validare din hMARFA,
  • listele pe baza tipurilor 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ă aibă 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 serverul 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.

O 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

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

6.3.7. Utilizare în cazul remote desktop

Iniţierea unor acţiuni de la distanţă prin internet la modul de lucru prin remote desktop. Exemple:

  1. baza de date la distanţă şi listare pe calculatorul local,
  2. baza de date la distanţă şi casa de marcat pe calculatorul local,
  3. 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.

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

6.4. Exploatarea programului hWTools

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

6.4.2. 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.
hutil/hutil_06.txt · Ultima modificare: 2022/05/09 04:18 (editare externă)