Logre imprimir codigo de barra...(Cerrado)

Logre imprimir codigo de barra...(Cerrado)

Postby ACC69 » Sun Jun 01, 2014 2:41 am

Hola buenas noches, amigos, esperando que se encuentren bien, les envio cordial saludos.

Mis estimados, en vista que ya logre imprimir mi codigo de barras, gracias a la persona que me ayudo con su ejemplo que me envio.!
Ahora como puedo imprimir consecutivamente todas o todos los codigos de barras,por ahora solo puedo imprimir una por una, ya que ahi otro detalle que como imprimir consecutivamente, y por otro lado, es muy necesario crear el llamado del get para leer las credenciales por medio de lector o como seria!, un ejemplo:

DEFINE GET oGet VAR cCodigo PICT "@!" o hay otra manera que en el dialogo, no haya que tener el get y leer solo lector o escaner, espero ejemplos y sugerencias, por el momento, expongo el codigo, de la manera como se imprime uno por uno, o sea por cada empleado, y quiero que se me imprima consecutivamente.

Code: Select all  Expand view
// Personal.Prg

#include "FiveWin.ch"
#include "Barlib.ch"

STATIC S04
STATIC nReg,nNumUsua,cCveUsua

//------------------------------------------------------------------------------
FUNCTION R_CREDEN(oDlg, oLbx)
 LOCAL oFont1,oFont2,oDlgR, oGetR, oSay, oBtnR

 S04     := ABRE_DBF(4,4) // PERSONAL.DBF
 oGetR   := ARRAY(4)
 oBtnR   := ARRAY(1)

 nNumUsua:= 0
 cCveUsua:= "821469"

 DEFINE FONT oFont1 NAME "TAHOMA" SIZE 10, 12*2
 DEFINE FONT oFont2 NAME "Interleaved 2of5 Text" SIZE 12,-48

 DEFINE DIALOG oDlgR RESOURCE "CODBAR" TITLE "Reporte de entradas y salidas"
  REDEFINE GET oGetR[01] VAR nNumUsua ID 101 OF oDlgR PICT "9999"

  REDEFINE BUTTON oBtnR[01] ID 201 OF oDlgR ACTION I_CREDENC()
 ACTIVATE DIALOG oDlgR

 Release oDlgR, oGetR, oBtnR
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION I_CREDENC(oDlg)
 Local oPrn, oFont, oFnt1, oFnt2, nVer, nHor
 Local TitRp, nRow,nCol

 DbSelectArea(S04)

 TitRp := "Impresión de credenciales"

 oPrn  := PrintBegin(TitRp,.F.,.T.,,.T.)

   DEFINE FONT oFnt1 NAME "ARIAL" SIZE 0,- 8 BOLD OF oPrn // Fuentes a usar en el reporte
   DEFINE FONT oFnt2 NAME "ARIAL" SIZE 0,- 8      OF oPrn

   nHor := oPrn:nHorzSize()
   nVer := oPrn:nVertSize()

   oPrn:lPrvModal     := .F.  // ó .T.
   oPrn:SetPortrait()

   CursorWait()

   nReg := 0

   PageBegin()
     ENCABEZADO(TitRp, oPrn, oFnt1)

     TitDatos(oPrn, oFnt1)

     nRow := 2.70

     DbSelectArea(S04)
     (S04)->( DbGoTop() ) // Todos los empleados...

     (S04)->( DbSeek(STR(nNumUsua,4)) )

     DO WHILE (S04)->(!EOF())
         IF (S04)->NUMUSUA > nNumUsua
             EXIT
         ENDIF

         oPrn:CmSay(nRow, 0.3, ALLTRIM((S04)->CVEUSUA)+" "+ALLTRIM((S04)->NOMBUSUA) + ;
                                                       " "+ALLTRIM((S04)->APEPATERN)+ ;
                                                       " "+ALLTRIM((S04)->APEMATERN) ,oFnt2)

         nRow := nRow + 190
         EAN13(nRow*2,3.4,(S04)->CVEUSUA,oPrn,0,.T.,0.040,2,.T.)  // esta parte de aqui,que me imprima consecutivamente..!
          *EAN8(nRow*2,3.4,(S04)->CVEUSUA,oPrn,0,.T.,0.040,2,.T.)

         *nRow := nRow + 0.4
         nRow := nRow + 49

         (S04)->( DbSkip() )
     ENDDO

   PageEnd()

   oFnt1:End()
   oFnt2:End()
 PrintEnd()
RETURN NIL


Saludos y espero me puedan ayudar con ese dilema mas ...

Atte: Adrian C. C.
Last edited by ACC69 on Mon Jun 02, 2014 7:37 pm, edited 1 time in total.
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm

Re: Logre imprimir codigo de barra...

Postby FranciscoA » Sun Jun 01, 2014 1:56 pm

Adrian, intenta asi:
Code: Select all  Expand view
...
...
oBtnR   := ARRAY(2)   //AQUI
STATIC lTodos := .f.  //AQUI AGREGAR

//------------------------------------------------------------------------------
FUNCTION R_CREDEN(oDlg, oLbx)
...
...
 REDEFINE BUTTON oBtnR[02] ID 202 OF oDlgR ACTION  ( lTodos:=.t., I_CREDENC() )   //AQUI AGREGAR BOTON
 ACTIVATE DIALOG oDlgR
...
...
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION I_CREDENC(oDlg)
...
...

   PageBegin()
     ENCABEZADO(TitRp, oPrn, oFnt1)

     TitDatos(oPrn, oFnt1)

     nRow := 2.70

     DbSelectArea(S04)
     (S04)->( DbGoTop() ) // Todos los empleados...

     if !lTodos       //AQUI
       (S04)->( DbSeek(STR(nNumUsua,4)) )
     endif

     DO WHILE (S04)->(!EOF())
        if !lTodos       //AQUI
            IF (S04)->NUMUSUA > nNumUsua
                EXIT
            ENDIF
        endif

         oPrn:CmSay(nRow........

         nRow := nRow + 190
         EAN13(nRow*2........

         nRow := nRow + 49

         (S04)->( DbSkip() )
     ENDDO

   PageEnd()

   oFnt1:End()
   oFnt2:End()
 PrintEnd()
    lTodos := .f.   //AQUI
RETURN NIL
 
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2110
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Logre imprimir codigo de barra...

Postby ACC69 » Sun Jun 01, 2014 4:10 pm

FranciscoA wrote:Adrian, intenta asi:
Code: Select all  Expand view
...
...
oBtnR   := ARRAY(2)   //AQUI
STATIC lTodos := .f.  //AQUI AGREGAR

//------------------------------------------------------------------------------
FUNCTION R_CREDEN(oDlg, oLbx)
...
...
 REDEFINE BUTTON oBtnR[02] ID 202 OF oDlgR ACTION  ( lTodos:=.t., I_CREDENC() )   //AQUI AGREGAR BOTON
 ACTIVATE DIALOG oDlgR
...
...
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION I_CREDENC(oDlg)
...
...

   PageBegin()
     ENCABEZADO(TitRp, oPrn, oFnt1)

     TitDatos(oPrn, oFnt1)

     nRow := 2.70

     DbSelectArea(S04)
     (S04)->( DbGoTop() ) // Todos los empleados...

     if !lTodos       //AQUI
       (S04)->( DbSeek(STR(nNumUsua,4)) )
     endif

     DO WHILE (S04)->(!EOF())
        if !lTodos       //AQUI
            IF (S04)->NUMUSUA > nNumUsua
                EXIT
            ENDIF
        endif

         oPrn:CmSay(nRow........

         nRow := nRow + 190
         EAN13(nRow*2........

         nRow := nRow + 49

         (S04)->( DbSkip() )
     ENDDO

   PageEnd()

   oFnt1:End()
   oFnt2:End()
 PrintEnd()
    lTodos := .f.   //AQUI
RETURN NIL
 
Saludos.



Gracias por tu interes al tema Ing. Francisco , pero creo que no me explique bien, si me imprime todos los empleados normal, pero el detalle es que las etiquetas, no hace el salto, me los encima, a pesar que nRow + 190, pero nada, y si le quito las etiquetas, si me imprime todos los nombres de empleados y me hacen el salto, excepto la funcion de etiquetas, nRow := nRow + 190
         EAN13(nRow*2........
, es por eso que solo uno por uno me imprime, junto con nombre y etiqueta credencial,y si le digo todos, me los encima ...

Bueno seguire intentando, gracias de nuevo Ing. Francisco

Saludos.!
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm

Re: Logre imprimir codigo de barra...

Postby Loren » Mon Jun 02, 2014 7:05 am

ACC69, buenos días:

Si he comprendido bien, intenta entre etiqueta insertar la clausula ENDPAGE ... PAGE. Así:

Code: Select all  Expand view

PRINT oPrn NAME "etiqueta"
 PAGE
  oprn:cmsay(nlinea,ncolumna,'hola',ofont)
  ...
  ...
  EAN13(nRow*2,3.4,(S04)->CVEUSUA,oPrn,0,.T.,0.040,2,.T.)
  && si la impresion ocupa varias paginas
  do while SiCondicion
   ENDPAGE  && CIERRA PAGINA
   PAGE       && ABRE NUEVA PAGINA
   EAN13(nRow*2,3.4,(S04)->CVEUSUA,oPrn,0,.T.,0.040,2,.T.)
   skip
  enddo
  nRow := nRow + 49
 ENDPAGE
ENDPRINT
 


Saludos

Lorenzo.
Desde Cádiz, España
Loren
 
Posts: 479
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Re: Logre imprimir codigo de barra...

Postby ACC69 » Mon Jun 02, 2014 2:20 pm

Loren wrote:ACC69, buenos días:

Si he comprendido bien, intenta entre etiqueta insertar la clausula ENDPAGE ... PAGE. Así:

Code: Select all  Expand view

PRINT oPrn NAME "etiqueta"
 PAGE
  oprn:cmsay(nlinea,ncolumna,'hola',ofont)
  ...
  ...
  EAN13(nRow*2,3.4,(S04)->CVEUSUA,oPrn,0,.T.,0.040,2,.T.)
  && si la impresion ocupa varias paginas
  do while SiCondicion
   ENDPAGE  && CIERRA PAGINA
   PAGE       && ABRE NUEVA PAGINA
   EAN13(nRow*2,3.4,(S04)->CVEUSUA,oPrn,0,.T.,0.040,2,.T.)
   skip
  enddo
  nRow := nRow + 49
 ENDPAGE
ENDPRINT
 


Saludos

Lorenzo.
Desde Cádiz, España



Hola Loren, gracias por tu interes al tema, hare las pruebas y te comento.

Saludos y buen dia.!

Atte: Adrian C. C.
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 80 guests