Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Zebra-label printer and epl2
Message
From
21/10/2003 06:08:57
 
General information
Forum:
Visual FoxPro
Category:
Reports & Report designer
Miscellaneous
Thread ID:
00840567
Message ID:
00840580
Views:
18
Hi Thomas,

I use the following code in a program that prints labels for an inventory of parts:
 nPrtHandle = fOpen ("LPT1", 11) &&  Opens LPT1 port, Write only, Unbuffered
 
 If nPrtHandle = -1
    MessageBox ("Could not access label printer on port LPT1 !", (0+16+0), cCaption)
    Return
 endif

 ZebraPrtEtiqueta (nPrtHandle  ,  ;   &&  Print Handle
                   wEQ_CodItem ,  ;   &&  Item Code
                   wEQ_Descr   ,  ;   &&  Item Description
                   wEQ_Area    ,  ;   &&  Area
                   wEQ_Local   ,  ;   &&  Location
                   wEQ_NumEtiq)       &&  Label Number

 fClose (nPrtHandle)


 Procedure ZebraPrtEtiqueta
*--------- ----------------
 LParameters pHandle, pCodItem, pDescr, pArea, pLocal, pNumEtiq

 Local cNumEtiq, cNumEtiqCD1, cNumEtiqCD2, cNumEtiqCD3, cNumEtiqCD4, cHeaderEdiqueta, ;
       cDateTimePrinted

 cHeaderEdiqueta = "Inventario Geral " + Transform (Year  (Date ()), "@L 9999") + "/" + ;
                                         Transform (Month (Date ()), "@L 99"  )

 cDateTimePrinted = "Impressa em " + DtoC (Date ()) + " - " + Left (Time (), 5) + " por " + gUserName

* -----------------------------------------------------------------------------------------------
*                       Edits Label Number, Countings & Control Digits
* -----------------------------------------------------------------------------------------------

 cNumEtiq       = Transform (pNumEtiq, "@L 999999")

 cNumEtiqCD1    = Transform (pNumEtiq, "@L 999999") + "1"  + Transform (DigCntrl ((pNumEtiq * 10) + 1), "9")
 cNumEtiqCD2    = Transform (pNumEtiq, "@L 999999") + "2"  + Transform (DigCntrl ((pNumEtiq * 10) + 2), "9")
 cNumEtiqCD3    = Transform (pNumEtiq, "@L 999999") + "3"  + Transform (DigCntrl ((pNumEtiq * 10) + 3), "9")
 cNumEtiqCD4    = Transform (pNumEtiq, "@L 999999") + "4"  + Transform (DigCntrl ((pNumEtiq * 10) + 4), "9")

* -----------------------------------------------------------------------------------------------
*                                   Fixed Part of The Label
* -----------------------------------------------------------------------------------------------

 cPrtString = "^XA"                                                   + Chr (13) + Chr (10) + ;
              "^LL800"                                                + Chr (13) + Chr (10) + ;
              "^PW800"                                                + Chr (13) + Chr (10) + ;
              "^PQ1"                                                  + Chr (13) + Chr (10) + ;
              "^FO 80,110^A0,N,70,20^FD"  + cHeaderEdiqueta   + "^FS" + Chr (13) + Chr (10) + ;
              "^FO 80,170^GB700,0,5,B,0"                      + "^FS" + Chr (13) + Chr (10) + ;
              "^FO580,235^A0,N,100,40^FD" + "ACME"            + "^FS" + Chr (13) + Chr (10) + ;
              "^FO 20,260^A0,N,70,20^FD"  + pCodItem          + "^FS" + Chr (13) + Chr (10) + ;
              "^FO 20,360^A0,N,40,10^FD"  + pDescr            + "^FS" + Chr (13) + Chr (10) + ;
              "^FO 20,460^A0,N,60,20^FD"  + "Area:  "         + "^FS" + Chr (13) + Chr (10) + ;
              "^FO170,460^A0,N,60,20^FD"  + pArea             + "^FS" + Chr (13) + Chr (10) + ;
              "^FO 20,530^A0,N,40,20^FD"  + "Local: "         + "^FS" + Chr (13) + Chr (10) + ;
              "^FO170,530^A0,N,40,20^FD"  + pLocal            + "^FS" + Chr (13) + Chr (10) + ;
              "^FO580,445^GB220,75,3,B,0"                     + "^FS" + Chr (13) + Chr (10) + ;
              "^FO600,460^A0,N,60,20^FD"  + cNumEtiq          + "^FS" + Chr (13) + Chr (10) + ;
              "^FO230,650^A0,N,20, 7^FD"  + cDateTimePrinted  + "^FS" + Chr (13) + Chr (10)

 fWrite (pHandle, cPrtString)

* -----------------------------------------------------------------------------------------------
*                                   4th Counting Part of Label
* -----------------------------------------------------------------------------------------------

 cPrtString = cPrtString + "^FO 20, 700^A0,N,40,10^FD"          + cHeaderEdiqueta                                       + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO520, 700^A0,N,40,10^FD"          + "ACME"                                                + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO725, 700^A0,N,70,20^FD"          + "C4"                                                  + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20, 770^A0,N,35,10^FD"          + "Dt: _____/______    Qt: _________  Eqp.: _________"  + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20, 820^A0,N,35, 8^FD"          + pCodItem                                              + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20, 860^A0,N,25, 8^FD"          + pDescr                                                + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO430, 855^A0,N,30,10^FD"          + "Area: " + pArea                                      + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO620, 820^GB180,60,3,B,0"                                                                 + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO640, 830^A0,N,50,15^FD"          + cNumEtiq                                              + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO250, 900^BY2,,,^B3N,N,70,Y,N^FD" + cNumEtiqCD4                                           + "^FS" + Chr (13) + Chr (10)
 
* -----------------------------------------------------------------------------------------------
*                                   3rd Counting Part of Label
* -----------------------------------------------------------------------------------------------

 cPrtString = cPrtString + "^FO 20,1020^A0,N,40,10^FD"          + cHeaderEdiqueta                                       + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO520,1020^A0,N,40,10^FD"          + "ACME"                                                + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO725,1020^A0,N,70,20^FD"          + "C3"                                                  + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20,1090^A0,N,35,10^FD"          + "Dt: _____/______    Qt: _________  Eqp.: _________"  + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20,1140^A0,N,35, 8^FD"          + pCodItem                                              + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20,1180^A0,N,25, 8^FD"          + pDescr                                                + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO430,1175^A0,N,30,10^FD"          + "Area: " + pArea                                      + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO620,1140^GB180,60,3,B,0"                                                                 + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO640,1150^A0,N,50,15^FD"          + cNumEtiq                                              + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO250,1220^BY2,,,^B3N,N,70,Y,N^FD" + cNumEtiqCD3                                           + "^FS" + Chr (13) + Chr (10)

* -----------------------------------------------------------------------------------------------
*                                   2nd Counting Part of Label
* -----------------------------------------------------------------------------------------------

 cPrtString = cPrtString + "^FO 20,1340^A0,N,40,10^FD"          + cHeaderEdiqueta                                       + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO520,1340^A0,N,40,10^FD"          + "ACME"                                                + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO725,1340^A0,N,70,20^FD"          + "C2"                                                  + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20,1410^A0,N,35,10^FD"          + "Dt: _____/______    Qt: _________  Eqp.: _________"  + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20,1460^A0,N,35, 8^FD"          + pCodItem                                              + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20,1500^A0,N,25, 8^FD"          + pDescr                                                + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO430,1495^A0,N,30,10^FD"          + "Area: " + pArea                                      + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO620,1460^GB180,60,3,B,0"                                                                 + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO640,1470^A0,N,50,15^FD"          + cNumEtiq                                              + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO250,1540^BY2,,,^B3N,N,70,Y,N^FD" + cNumEtiqCD2                                           + "^FS" + Chr (13) + Chr (10)

* -----------------------------------------------------------------------------------------------
*                                   1th Counting Part of Label
* -----------------------------------------------------------------------------------------------

 cPrtString = cPrtString + "^FO 20,1660^A0,N,40,10^FD"          + cHeaderEdiqueta                                       + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO520,1660^A0,N,40,10^FD"          + "ACME"                                                + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO725,1660^A0,N,70,20^FD"          + "C1"                                                  + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20,1730^A0,N,35,10^FD"          + "Dt: _____/______    Qt: _________  Eqp.: _________"  + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20,1780^A0,N,35, 8^FD"          + pCodItem                                              + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO 20,1820^A0,N,25, 8^FD"          + pDescr                                                + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO430,1815^A0,N,30,10^FD"          + "Area: " + pArea                                      + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO620,1780^GB180,60,3,B,0"                                                                 + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO640,1790^A0,N,50,15^FD"          + cNumEtiq                                              + "^FS" + Chr (13) + Chr (10) + ;
                           "^FO250,1850^BY2,,,^B3N,N,70,Y,N^FD" + cNumEtiqCD1                                           + "^FS" + Chr (13) + Chr (10)

* -----------------------------------------------------------------------------------------------
*                                       Prints the Label
* -----------------------------------------------------------------------------------------------

 cPrtString = cPrtString + "^XZ"

 fWrite (pHandle, cPrtString)
 
 EndProc                         &&  of ZebraPrtEtiqueta

*=================================================================================================
Hope it helps.

Regards,

Fernando

PS. Pardom me for the long code.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform