
TSEXEC("T","SELECT CODIGO,CODTIPO FROM TSLC003 ","TSLC003")

SELECT TSCOMP2
SELECT TSCOMP2.*,TSLC003.CODTIPO FROM TSCOMP2 INNER JOIN TSLC003 ON TSCOMP2.CODPROD = TSLC003.CODIGO INTO CURSOR TMP_IMPRIMIR
SELECT TMP_IMPRIMIR
BROW
RETURN .F.
GO TOP IN TSCOMP2
DO WHILE ! EOF("TSCOMP2")
   
   IF TSCOMP2.EXCLUI = 'S'
      SKIP IN TSCOMP2
      LOOP
   ENDIF

   for x = 1 TO TSCOMP2.QTD
      
      SET PRINTER TO NAME 'TSTISAT'

      ??? chr(29) + chr(33) + chr(1) && altura da fonte
      ??? chr(29) + chr(33) + chr(16)
      ??? SPACE(3) + "FREE HOUSE BAR" + CHR(13) + CHR(10)
      ??? chr(29) + chr(33) + chr(0) && altura da fonte
*      ??? chr(29) + chr(20) + chr(16)
      ??? CHR(13) + CHR(10)
      ??? DTOC(DATE()) + SPACE(30) + TIME() + CHR(13) + CHR(10)
      ??? chr(29) + chr(33) + chr(2) && altura da fonte
      ??? chr(29) + chr(33) + chr(48)
      ??? CHR(13) + CHR(10)
      ??? CHR(13) + CHR(10)
      ??? ALLTRIM(TSCOMP2.DESCRICAO) + CHR(13) + CHR(10)
      ??? CHR(13) + CHR(10)
      ??? CHR(13) + CHR(10)
      ??? chr(29) + chr(33) + chr(0) && altura da fonte

      
          cQrCode = ALLTRIM(TSCOMP2.DESCRICAO) + " - " + "TSTI - Tecnologia da Informacao"

          *int[] escAn = { 27,97,0}; 

          ??? CHR(27) + CHR(97) + CHR(1)
          
           * //<Function GS L> Set left margin
            *int[] fGsl = {29,76,0,0};

            ??? CHR(29) + CHR(76) + CHR(0) + CHR(0)
            
            *//<Function 165> GS ( k p L p H cn fn n (cn = 49,fn = 65)  QR Code: Select the model
            *int[] f165 = {29,40,107,4,0,49,65,50,0};
            
            ??? CHR(29) + CHR(40) + CHR(107) + CHR(4) + CHR(0) + CHR(49) + CHR(65) + CHR(50) + CHR(0)
          

            *//<Function 167> GS ( k pL pH cn fn n (cn = 49, fn = 67) QR Code: Set the size of module
            *int[] f167 = { 29, 40, 107, 3, 0, 49, 67,4}; //  size of qrcode:  1-16
            
            
            ??? CHR(29) + CHR(40) + CHR(107) + CHR(3) + CHR(0) + CHR(49) + CHR(67) + CHR(4)         
           

            **//<Function 169> GS ( k pL pH cn fn n (cn = 49, fn = 69) QR Code: Select the error correction level
            **int[] f169 = { 29, 40, 107, 3, 0, 49, 69, 48 };
            
            ??? CHR(29) + CHR(40) + CHR(107) + CHR(4) + CHR(0) + CHR(49) + CHR(50) + CHR(0)
           
             
*            //<Function 180> GS ( k pL pH cn fn m d1dk (cn = 49, fn = 80) QR Code: Store the data in the symbol storage area
*            //pL and pH are the low- and high-order bytes of a 16-bit integer value that specifies the length in bytes of the following data  
             
*             int[] f180 = { 29, 40, 107, length_low_byte, length_high_byte, 49, 80, 48 };
 *            RawPrinterHelper.SendBytesToPrinter(szPrinterName, intTobyte(f180));
         
            cTexto = cQrCode
            tamanho1 = MOD((LEN(cTexto) +3),256)
            tamanho2 = (LEN(cTexto)+3)/256
            
            ??? CHR(29) + CHR(40) + CHR(107) + CHR(tamanho1) + CHR(tamanho2) + CHR(49) + CHR(80) + CHR(48)
           
          
          
           *//send string/url to printer
           * //RawPrinterHelper.SendASCiiToPrinter(szPrinterName, Strdata);
           *RawPrinterHelper.SendStringToPrinter(szPrinterName, Strdata);
           
           ??? cTexto 
           
           *//<Function 181> GS ( k pL pH cn fn m (cn = 49, fn = 81) QR Code: Print the symbol data in the symbol storage area
           *int[] f181={29,40,107,3,0,49,81,48};
            
           ??? CHR(29) + CHR(40) + CHR(107) + CHR(3) + CHR(0) + CHR(49) + CHR(81) + CHR(48) 

      ??? CHR(13) + CHR(10)
      ??? "TSTI - Tecnologia da Informacao" + chr(13) + chr(10)
      ??? CHR(13) + CHR(10)
      ??? CHR(13) + CHR(10)
      ??? CHR(13) + CHR(10)
      ??? chr(27) + chr(109)

      
      SET PRINTER TO NAME "TSTISAT"

    NEXT

   SKIP IN TSCOMP2
   LOOP

ENDDO