FUNCTION I_PRODUTO2(vQtde)
cdbar001->(dbgotop())
cARGOXfile := "MERCADOR.DAT"
cCrLf := chr(13)+chr(10)
errhandle := fcreate(cARGOXfile)
FOR x = 1 TO vqtde
lin_01 := usuario
lin_02 := alltrim(strzero(val(cdbar001->barean),13,0))
lin_03 := alltrim(strzero(val(cdbar001->barean),13,0))
lin_04 := cdbar001->bardsc
lin_05 := "R$"+ Tran(cdbar001->barvnd,"@ZE 9,999.99")
cARGOXcmd := "c0000" + cCRLF
//cARGOXcmd += "f0100" + cCRLF
cARGOXcmd += "L" + cCRLF
cARGOXcmd += "C0000" + cCRLF
cARGOXcmd += "H14" + cCRLF
cARGOXcmd += "D11" + cCRLF
cARGOXcmd += "SC" + cCRLF
cARGOXcmd += "PD" + cCRLF
cARGOXcmd += "R0000" + cCRLF
cARGOXcmd += "z" + cCRLF
cARGOXcmd += "W" + cCRLF
cARGOXcmd += "131101000800010"+lin_01 + cCRLF
IF x+1 <= vqtde
cARGOXcmd += "131101000800210"+lin_01 + cCRLF
ENDIF
cARGOXcmd += "1F5203000400010"+lin_02 + cCRLF
cARGOXcmd += "131201000400115"+lin_05 + cCRLF
IF x+1 <= vqtde
cdbar001->(dbskip())
lin_02 := alltrim(strzero(val(cdbar001->barean),13,0))
lin_05 := "R$"+ Tran(cdbar001->barvnd,"@ZE 9,999.99")
cARGOXcmd += "1F5203000400210"+lin_02 + cCRLF
cARGOXcmd += "131201000400315"+lin_05 + cCRLF
cdbar001->(dbskip(-1))
ENDIF
//cARGOXcmd += "121100000300010"+lin_03 + cCRLF
cARGOXcmd += "121100000200010"+lin_04 + cCRLF
IF x+1 <= vqtde
cdbar001->(dbskip())
lin_03 := alltrim(strzero(val(cdbar001->barean),13,0))
lin_04 := cdbar001->bardsc
//cARGOXcmd += "121100000300210"+lin_03 + cCRLF
cARGOXcmd += "121100000200210"+lin_04 + cCRLF
cdbar001->(dbskip(-1))
x += 1
ENDIF
cARGOXcmd += "Q0001" + cCRLF
cARGOXcmd += "E" + cCRLF
cARGOXcmd += "Q" + cCRLF
fwrite(errhandle, cARGOXcmd )
if x+1 <= vqtde
cdbar001->(dbskip(+2))
endif
NEXT
fClose(errhandle)
! COPY &cARGOXfile LPT1 > NUL
return
Esse código imprime naquelas etiquetas que vêm em rolo contÃnuo, duas colunas, colantes.
Uma descrição completa do que significa cada comando, está no manual da mesma.