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.