FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour EFECTO CODIGO BARRA EN DIALOGO...(Cerrado)
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
EFECTO CODIGO BARRA EN DIALOGO...(Cerrado)
Posted: Sat May 31, 2014 02:44 AM
Hola buenas noches, como estan, estoy intentando, visualizar el efecto del codigo de barra con un codigo sencillo, peor no veo el efecto, solo visualiza numero 1, ya instale interleaved de 1 a 5, y aun asi no veo el efecto, que estare haciendo mal, ya que estoy adelantando en crear codigos de barra visualizando en dialogo, mientras se compran el lector, pero no veo nada de barras, solo 1.

Pongo el codigo aqui y la funcion que me paso el Ing. cmsoft

Code (fw): Select all Collapse
#include "FiveWin.ch"

STATIC S01, S02, S05, S04, S06
STATIC nReg,cCodigo

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

聽oGetR := ARRAY(4)
聽oBtnR := ARRAY(1)

聽cCodigo := "012"

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

聽DEFINE DIALOG oDlgR RESOURCE "CODBAR" TITLE "Reporte de entradas y salidas"
聽 REDEFINE GET oGetR[01] VAR cCodigo ID 101 OF oDlgR PICT "@!"

聽 REDEFINE SAY oSay PROMPT CodigoBarra( cCodigo ) ID 151 OF oDlgR Font oFont2 // aqui la funcion 

聽 REDEFINE BUTTON oBtnR[01] ID 201 OF oDlgR ACTION R_CODBAR(oDlg, oLbx)

聽ACTIVATE DIALOG oDlgR

聽Release oDlgR, oGetR, oBtnR
RETURN NIL


Espero me puedan orientar mas, ya que nunca he hecho codigos de barras..! :-)

Saludos
Atte: Adrian C. C.
Posts: 1446
Joined: Mon Oct 10, 2005 02:38 PM
Re: EFECTO CODIGO BARRA EN DIALOGO...
Posted: Sat May 31, 2014 08:45 AM
Hola,

Estas pruebas (funcion贸 perfectamente tanto en windows como en dialogs) las hice hace unos a帽os, no recuerdo que funciones requer铆an (todo en FW basado en el trabajo de Cayetano si no recuerdo mal).
Es posible que me haya dejado alguna funci贸n, en ese caso lo comentas y te la busco y la publico.
Code (fw): Select all Collapse
FUNCTION Wcodebar( )
WcodebarA( )
WcodebarB( )
Return Nil

FUNCTION WcodebarA( )

Local oWnd, oAceptar

DEFINE WINDOW oWnd FROM 2.19,37.88 TO 35.50,137.00 //FIVEWIDI


@ 432,581 BUTTON oAceptar PROMPT "&OK" SIZE 152,32 ACTION oWnd:End() OF ownd ;
聽 聽 FONT TFont():New('Arial',0,-11,.F.,.F.,0,0,400,.F.,.F.,.F.,0,3,2,1,nil) PIXEL ;
聽 聽 MESSAGE "Cerrar谩 venana" UPDATE CANCEL //FIVEWIDI

@ 10,10 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 10,60 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1

@ 10,210 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 MODE "A"

@ 10,385 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 MODE "B"

@ 10,560 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽SIZE 1 MODE "C"

// =====================================
@ 130,10 CODE3_9W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 50,60 CODE3_9W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 CHECK

@ 50,290 CODE3_9W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 CHECK

// =====================================
@ 330,10 EAN13W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_GREEN ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 470,10 EAN13W "1111167890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽SIZE 1 VERTICAL BANNER

@ 90,60 EAN13W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 BANNER FONT "Courier New"

@ 90,270 EAN13W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 BANNER

// =====================================
@ 600,10 UPCAW "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_GREEN ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 600,100 UPCAW "1111167890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽SIZE 1 VERTICAL BANNER

@ 140,60 UPCAW "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 BANNER FONT "Courier New"

@ 140,270 UPCAW "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 BANNER

// =====================================
@ 450,100 EAN8W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_GREEN ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 450,200 EAN8W "1111167890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽SIZE 1 VERTICAL BANNER

@ 190,60 EAN8W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 BANNER FONT "Courier New"

@ 190,270 EAN8W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 BANNER

// =====================================
@ 300,200 CODABARW "1111167890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 240,60 CODABARW "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1.5

@ 240,270 CODABARW "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1.5

ACTIVATE WINDOW oWnd MAXIMIZED

Return Nil


FUNCTION WcodebarB( )
Local oWnd, oAceptar

DEFINE DIALOG oWnd FROM 5,5 TO 50,125 //FIVEWIDI

@ 216,290 BUTTON oAceptar PROMPT "&OK" SIZE 75,16 ACTION oWnd:End() OF ownd ;
聽 聽 FONT TFont():New('Arial',0,-11,.F.,.F.,0,0,400,.F.,.F.,.F.,0,3,2,1,nil) PIXEL ;
聽 聽 MESSAGE "Cerrar谩 venana" UPDATE CANCEL //FIVEWIDI

@ 5,5 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 5,30 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1

@ 5,105 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 MODE "A"

@ 5,192 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 MODE "B"

@ 5,280 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽SIZE 1 MODE "C"

// =====================================
@ 65,5 CODE3_9W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 25,30 CODE3_9W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 CHECK

@ 25,145 CODE3_9W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 CHECK

// =====================================
@ 165,5 聽EAN13W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_GREEN ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 235,5 聽EAN13W "1111167890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽SIZE 1 VERTICAL BANNER

@ 45,30 EAN13W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 BANNER FONT "Courier New"

@ 45,135 EAN13W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 BANNER

// =====================================
@ 300,5 聽UPCAW "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_GREEN ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 300,50 聽UPCAW "1111167890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽SIZE 1 VERTICAL BANNER

@ 聽70,30 UPCAW "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 BANNER FONT "Courier New"

@ 聽70,135 UPCAW "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 BANNER

// =====================================
@ 225,50 聽EAN8W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_GREEN ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 225,100 EAN8W "1111167890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽SIZE 1 VERTICAL BANNER

@ 聽95,30 EAN8W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1 BANNER FONT "Courier New"

@ 聽95,135 EAN8W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1 BANNER

// =====================================
@ 150,100 CODABARW "1111167890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽SIZE 1 VERTICAL

@ 120,30 CODABARW "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽SIZE 1.5

@ 120,135 CODABARW "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HBLUE ;
聽 聽 聽 聽SIZE 1.5

//Code128W( 90, 10, "167891", oWnd, NIL, CLR_HRED, .T., Nil, Nil)

//traza( 1, "code128w=", _code128( "1111167890", Nil ) )

//ACTIVATE WINDOW oWnd MAXIMIZED
ACTIVATE DIALOG oWnd

/*
@ 10,30 CODE128W "1234567890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED
聽 聽 聽 聽//WIDTH 0.10 ;
聽 聽 聽 聽//SIZE 50
聽 聽 聽 聽//MODE "A" ;
聽 聽 聽 聽//COLOR RED ;
*/

//Code128W( 90, 10, "167891", oWnd, NIL, CLR_HRED, .T., Nil, Nil)
//Code128W(nRow,nCol,cCode,oWnd,cMode,Color,lHorz,nWidth,nHeigth)

/*
@ 10,30 CODE128W "1111167890" ;
聽 聽 聽 聽OF oWnd COLOR CLR_HRED ;
聽 聽 聽 聽//WIDTH 0.10 ;
聽 聽 聽 聽//SIZE 0.80
聽 聽 聽 聽//MODE "A"

@ 300,300 CODE128W "1234567890" ;
聽 聽 聽 聽OF oWnd ;
聽 聽 聽 聽WIDTH 0.10 ;
聽 聽 聽 聽SIZE 50
聽 聽 聽 聽//MODE "A" ;
聽 聽 聽 聽//COLOR RED ;
*/

Return Nil

// TBarCodeW Class. Mainly used for show Code Bar at screen.

#include "FiveWin.ch"

#include "Constant.ch"

#define COLOR_BTNFACE 聽 聽 15

#ifdef __XPP__
聽 聽#define Super ::TControl
聽 聽#define New _New
#endif

//----------------------------------------------------------------------------//

CLASS TBarCodeW FROM TControl

聽 聽CLASSDATA lRegistered AS LOGICAL

聽 聽DATA 聽 cTipoBar 聽 聽// Tipo de c贸digo de barras.
聽 聽DATA 聽 lBanner 聽 聽 // Indicador de si visualitza codi en alfanum猫ric.
聽 聽DATA 聽 cFont 聽 聽 聽 // Nom del tipu sde lletra.
聽 聽DATA 聽 lHorizontal 聽 // Indicador de horientaci贸.
聽 聽DATA 聽 cMode 聽 聽 聽 // SubTipo del c贸digo de barras.
聽 聽DATA 聽 lCheck 聽 聽 聽// Indicador de chequeo para convertir a ceros y unos.
聽 聽DATA 聽 cCode 聽 聽 聽 // Codigo recibido.
聽 聽DATA 聽 cCodeBar1 聽 // Codigo 1 convertido a ceros y unos.
聽 聽DATA 聽 cCodeBar2 聽 // Codigo 2 convertido a ceros y unos.
聽 聽DATA 聽 nWidthLine 聽// Anchura de la l铆nea del c贸digo de barras.
聽 聽DATA 聽 nHeightLine // Altura de la l铆nea del c贸digo de barras.

聽 聽METHOD New( nTop, nLeft, cCode, oWnd, lcheck, cMode, nColor, lHorizontal, ;
聽 聽 聽 聽 聽 聽 聽 聽nWidthLine, nHeightLine, lBanner, cFont, cTipoBar, lDesign, lPixel ) CONSTRUCTOR

聽 聽METHOD EraseBkGnd( hDC )
聽 聽METHOD Paint()
聽 聽METHOD Display() INLINE ::BeginPaint(), ::Paint(), ::EndPaint(), 0

聽 聽//METHOD Notify( nIdCtrl, nPtrNMHDR ) INLINE ::Notify( nIdCtrl, nPtrNMHDR )

聽 聽METHOD SetCodeBar( cTipoBar, cMode, lCheck, cCode )

ENDCLASS

//----------------------------------------------------------------------------//

METHOD New( nTop, nLeft, cCode, oWnd, lcheck, cMode, nColor, lHorizontal, ;
聽 聽 聽 聽 聽 聽 nWidthLine, nHeightLine, lBanner, cFont, cTipoBar, lDesign, lPixel ) CLASS TBarCodeW

聽 聽DEFAULT nTop 聽 聽 聽 聽:= 0, nLeft := 0
聽 聽DEFAULT cCode 聽 聽 聽 := ""
聽 聽DEFAULT cTipoBar 聽 聽:= "", cMode := "", lCheck := .F.
聽 聽DEFAULT oWnd 聽 聽 聽 聽:= GetWndDefault(), ncolor := oWnd:nClrText, cFont := "Arial"
聽 聽DEFAULT lHorizontal 聽 := .T., lPixel := .T., lDesign := .F., lBanner := .T.
聽 聽DEFAULT nWidthLine 聽:= 0.025 // 1/3 M/mm
聽 聽DEFAULT nHeightLine := 1.5 // Cmm.

聽 聽#ifdef __XPP__
聽 聽 聽 DEFAULT ::lRegistered := .f.
聽 聽#endif

聽 聽::SetCodeBar( cTipoBar, cMode, lcheck, cCode )
聽 聽::nWidthLine 聽:= nWidthLine
聽 聽::nHeightLine := nHeightLine
聽 聽::lHorizontal := lHorizontal
聽 聽::lBanner 聽 聽 := lBanner
聽 聽::cFont 聽 聽 聽 := cFont

聽 聽/*
聽 聽Traza( 1, "cTipoBar 聽 =", ::cTipoBar )
聽 聽Traza( 1, "cMode 聽 聽 聽=", ::cMode )
聽 聽Traza( 1, "lcheck 聽 聽 =", ::lCheck )
聽 聽Traza( 1, "cCode 聽 聽 聽=", ::cCode )
聽 聽Traza( 1, "cCodeBar1 聽=", ::cCodeBar1 )
聽 聽Traza( 1, "cCodeBar2 聽=", ::cCodeBar2 )
聽 聽Traza( 1, "nWidthLine =", ::nWidthLine )
聽 聽Traza( 1, "nHeightLine=", ::nHeightLine )
聽 聽Traza( 1, "lHorizontal=", ::lHorizontal )
聽 聽Traza( 1, "lBanner 聽 聽=", ::lBanner )
聽 聽Traza( 1, "cFont 聽 聽 聽=", ::cFont )
聽 聽*/

聽 聽::oWnd 聽 聽 聽 聽:= oWnd
聽 聽::nTop 聽 聽 聽 聽:= If( lPixel, nTop, nTop * MTR_CHARPIX_H ) 聽//14
聽 聽::nLeft 聽 聽 聽 := If( lPixel, nLeft, nLeft * 聽MTR_CHARPIX_W ) //8

聽 聽::nBottom 聽 聽 := ::nTop 聽+ nCm2Pixels( ::hDC, ::nHeightLine, .T. )
聽 聽::nRight 聽 聽 聽:= ::nLeft + ( nCm2Pixels( ::hDC, ::nWidthLine, .F. ) * Len( ::cCodeBar1 ) )

聽 聽::lDrag 聽 聽 聽 := lDesign
聽 聽::nStyle 聽 聽 聽:= nOR( WS_CHILD, WS_VISIBLE, WS_CLIPCHILDREN, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 If( ::lDrag, nOr( WS_CLIPSIBLINGS, WS_TABSTOP ), 0 ) )

聽 聽::nId 聽 聽 聽 聽 := ::GetNewId()
聽 聽::lCaptured 聽 := .f.
聽 聽::lUpdate 聽 聽 := .f.

聽 聽::nClrText 聽 聽:= nColor
聽 聽::nClrPane 聽 聽:= iif( Upper( ::oWnd:Classname() ) != "TWINDOW", ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 GetSysColor( COLOR_BTNFACE ), ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ::oWnd:nClrPane )
聽 聽/*
聽 聽Traza( 1, "nTop 聽 聽 聽 =", ::nTop )
聽 聽Traza( 1, "nLeft 聽 聽 聽=", ::nLeft )
聽 聽Traza( 1, "nBottom 聽 聽=", ::nBottom )
聽 聽Traza( 1, "nRight 聽 聽 =", ::nRight )
聽 聽Traza( 1, "nDrag 聽 聽 聽=", ::lDrag )
聽 聽Traza( 1, "nID 聽 聽 聽 聽=", ::nId )
聽 聽Traza( 1, "lCaptured 聽=", ::lCaptured )
聽 聽Traza( 1, "nClrText 聽 =", ::nClrText )
聽 聽Traza( 1, "nClrPane 聽 =", ::nClrPane )
聽 聽*/

聽 聽If ::lDrag
聽 聽 聽 ::CheckDots()
聽 聽endif

聽 聽::Register()

聽 聽if ! Empty( ::oWnd:hWnd )
聽 聽 聽 ::Create()
聽 聽 聽 ::oWnd:AddControl( Self )
聽 聽 聽 if ::oWnd:oBrush != nil
聽 聽 聽 聽 聽::SetBrush( ::oWnd:oBrush )
聽 聽 聽 endif
聽 聽else
聽 聽 聽 ::oWnd:DefControl( Self )
聽 聽endif

return Self

//----------------------------------------------------------------------------//
METHOD SetCodeBar( cTipoBar, cMode, lcheck, cCode ) CLASS TBarCodeW

::cTipoBar 聽:= cTipoBar
::cMode 聽 聽 := cMode
::lCheck 聽 聽:= lCheck
::cCode 聽 聽 := cCode

::cCodeBar1 := ""
::cCodeBar2 := ""

IF ::cTipoBar = "CODE128"
聽 聽 ::cCodeBar1 := _code128( ::cCode, ::cMode )
ElseIf ::cTipoBar = "CODE3_9"
聽 聽 ::cCodeBar1 := _code3_9( ::cCode, ::lCheck )
ElseIf ::cTipoBar = "EAN13"
聽 聽 ::cCodeBar1 := _ean13( ::cCode )
聽 聽 ::cCodeBar2 := _ean13Bl()
ElseIf ::cTipoBar = "UPCA"
聽 聽 ::cCodeBar1 := _upc( ::cCode )
聽 聽 ::cCodeBar2 := _UPCABl( ::cCode )
ElseIf ::cTipoBar = "EAN8"
聽 聽 ::cCodeBar1 := _upc( ::cCode, 7 )
聽 聽 ::cCodeBar2 := _ean13Bl(8)
ElseIf ::cTipoBar = "SUP5"
聽 聽 ::cCodeBar1 := _sup5( ::cCode )
ElseIf ::cTipoBar = "CODABAR"
聽 聽 ::cCodeBar1 := _codabar( ::cCode )
ElseIf ::cTipoBar = "INT25"
聽 聽 ::cCodeBar1 := _int25( ::cCode, ::lCheck )
ElseIf ::cTipoBar = "IND25"
聽 聽 ::cCodeBar1 := _ind25( ::cCode, ::lCheck )
ElseIf ::cTipoBar = "MAT25"
聽 聽 ::cCodeBar1 := _mat25( ::cCode, ::lCheck )
EndIf

Return Nil

//----------------------------------------------------------------------------//

METHOD EraseBkGnd( hDC ) CLASS TBarCodeW

聽 聽if ::oWnd != nil .and. IsAppThemed() .and. ;
聽 聽 聽 Upper( ::oWnd:ClassName() ) $ "TFOLDER,TREBAR,TGROUP,TPANEL"
聽 聽 聽 DrawPBack( ::hWnd, hDC )
聽 聽 聽 return 1
聽 聽endif

return 1 // Super:EraseBkGnd( hDC )

//----------------------------------------------------------------------------//

METHOD Paint() CLASS TBarCodeW
Local nLen := 0

IF ::cTipoBar $ "/CODE128/CODE3_9/SUP5/CODABAR/INT25/IND25/MAT25/"
聽 聽 go_codeW( ::cCodeBar1, ::nTop, ::nLeft, ::oWnd, ::lHorizontal, ::nClrText, ::nWidthLine, ::nHeightLine )
EndIf

If ::cTipoBar $ "/EAN13/UPCA/EAN8/"

聽 聽 If ::lHorizontal
聽 聽 聽 聽 go_codeW( ::cCodeBar1, ::nTop, ::nLeft, ::oWnd, ::lHorizontal, ::nClrText, ::nWidthLine, ::nHeightLine * 0.90 )
聽 聽 Else
聽 聽 聽 聽 // **********************************************
聽 聽 聽 聽 // OJO con nLen, no se est谩 usando correctamente.
聽 聽 聽 聽 // **********************************************
聽 聽 聽 聽 //nLen :=round 聽( nHeigth * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 ) * 0.1
聽 聽 聽 聽 //nLen := round 聽( nCm2Pixels( ::oWndhDC, nLen, .F. ), 0 ) * 0.1
聽 聽 聽 聽 nLen := round 聽( nCm2Pixels( ::hDC, ::nHeightLine, .F. ), 0 ) * 0.1
聽 聽 聽 聽// 10% espacios
聽 聽 聽 聽 go_codeW( ::cCodeBar1, ::nTop, ::nLeft + nLen, ::oWnd, ::lHorizontal, ::nClrText, ::nWidthLine, ::nHeightLine * 0.90 )
聽 聽 End
聽 聽 go_codeW( ::cCodeBar1, ::nTop, ::nLeft, ::oWnd, ::lHorizontal, ::nClrText, ::nWidthLine, ::nHeightLine )

EndIf

If ::cTipoBar = "EAN13"
聽 聽 If ::lBanner
聽 聽 聽 聽 barlen13W( ::cCode, ::oWnd, ::nTop, ::nLeft, ::nClrText, ::lHorizontal, ::nWidthLine, ::nHeightLine, ::cFont )
聽 聽 End
ElseIf ::cTipoBar = "UPCA"
聽 聽 If ::lBanner
聽 聽 聽 聽 UPCA_barlenW( ::cCode, ::oWnd, ::nTop, ::nLeft, ::nClrText, ::lHorizontal, ::nWidthLine, ::nHeightLine, ::cFont )
聽 聽 End
ElseIf ::cTipoBar = "EAN8"
聽 聽 If ::lBanner
聽 聽 聽 聽 barlenW( ::cCode, 7, ::oWnd, ::nTop, ::nLeft, ::nClrText, ::lHorizontal, ::nWidthLine, ::nHeightLine, ::cFont )
聽 聽 End
ElseIf ::cTipoBar = "SUP5"
聽 聽 If ::lBanner
聽 聽 聽 聽 ban5W( ::cCode, ::oWnd, ::nTop, ::nLeft, ::nClrText, ::lHorizontal, ::nWidthLine, ::nHeightLine, ::cFont )
聽 聽 End
EndIf

return nil

//----------------------------------------------------------------------------//

/* 聽Para visualizar los c贸digos de barra por pantalla.
聽 聽 Basado en el desarrollo de Cayetano (Barlib).
聽 聽 C.Gelabert 28/4/09
聽 聽 ============================================== */

// funciones de llamadas de barlib
// chequean las posibles concordancias de datos
// y dan los errores

#include 'fivewin.ch'

// CODE 128

/*

聽 聽 Code 128:

聽 聽 Admite los 128 caracteres 0 - 127

聽 聽 si s垄lo son n拢meros se usa un modelo comprimido, llamado
聽 聽 modo C
聽 聽 Si hay caracteres < 32 se usa el m垄do A
聽 聽 Si hay caracteres en minusculas se usa el modo B ( modo por defecto)

聽 聽 Los modos se mezclan

聽 聽 Sintaxis :

聽 聽 code128W(nRow,nCol,cCode,oWnd,[cMode],[Color],
聽 聽 聽 聽 聽 聽[lOrientacion],[nAncho],[nAlto])

聽 聽 nRow, nCol en Pixels
聽 聽 nAncho,nAlto en Cm
*/

Function Code128W( nRow, nCol, cCode, oWnd, cMode, Color, lHorz, nWidth, nHeigth )
聽 聽 // test de parametros
聽 聽 // por implementar
聽 聽 go_codeW( _code128(cCode,cMode), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth )
return nil

Function c_Code128W( nRow, nCol, cCode, oWnd, cMode, Color, lHorz, nWidth, nHeigth )
聽 聽 uCm2Pixels( oWnd:GetDC(), @nRow, @nCol )
聽 聽 oWnd:ReleaseDC()
return Code128W( nRow, nCol, cCode, oWnd, cMode, Color, lHorz, nWidth, nHeigth )


Function Code3_9W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )
聽 聽 // test de parametros
聽 聽 // por implementar
聽 聽 go_codeW( _code3_9(cCode,lCheck), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth )
return nil

Function c_Code3_9W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth)
聽 聽 uCm2Pixels( oWnd:GetDC(), @nRow, @nCol )
聽 聽 oWnd:ReleaseDC()
return Code3_9W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )

Function ean13W( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth, lBanner, cFont )
聽 聽 local nLen
聽 聽 // test de parametros
聽 聽 // por implementar
聽 聽 default nHeigth := 1.5
聽 聽 default lBanner:=.f.
聽 聽 // desplazamiento...
聽 聽 if lHorz
聽 聽 聽 聽 go_codeW( _ean13(cCode), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth * 0.90 )
聽 聽 else
聽 聽 聽 聽 //nLen :=round 聽( nHeigth * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 ) * 0.1
聽 聽 聽 聽 nLen := round 聽( nCm2Pixels( oWnd:GetDC(), nLen, .F. ), 0 ) * 0.1
聽 聽 聽 聽 oWnd:ReleaseDC()
聽 聽 聽 聽// 10% espacios
聽 聽 聽 聽 聽 聽 go_codeW( _ean13(cCode), nRow, nCol + nLen, oWnd, lHorz, Color, nWidth, nHeigth * 0.90 )
聽 聽 end
聽 聽 go_codeW( _ean13Bl(), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth )
聽 聽 if lBanner
聽 聽 聽 聽 barlen13W( cCode, oWnd, nRow, nCol, Color, lHorz, nWidth, nHeigth, cFont )
聽 聽 end
return nil


Function c_ean13W( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth )
聽 聽 uCm2Pixels( oWnd:GetDC(), @nRow, @nCol )
聽 聽 oWnd:ReleaseDC()
return ean13W( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth )

Function UPCAW( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth, lBanner, cFont )
聽 聽 local nLen
聽 聽 // test de parametros
聽 聽 // por implementar
聽 聽 default nHeigth := 1.5
聽 聽 default lBanner:=.f.
聽 聽 if lHorz
聽 聽 聽 聽 go_codeW( _UPC(cCode), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth * 0.90 )
聽 聽 else
聽 聽 聽 聽 //nLen := round 聽( nHeigth * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 ) * 0.1
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( oWnd:GetDC(), nLen, .F. ), 0 ) * 0.1
聽 聽 聽 聽 oWnd:ReleaseDC()
聽 聽 聽 聽// 10% espacios
聽 聽 聽 聽 聽 聽 go_codeW( _UPC(cCode), nRow, nCol + nLen, oWnd, lHorz, Color, nWidth, nHeigth * 0.90 )
聽 聽 end
聽 聽 go_codeW( _UPCABl(cCode), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth )
聽 聽 if lBanner
聽 聽 聽 聽 UPCA_barlenW( cCode, oWnd, nRow, nCol, Color, lHorz, nWidth, nHeigth, cFont )
聽 聽 end
return nil


Function c_UPCAW( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth )
聽 聽 uCm2Pixels( oWnd:GetDC(), @nRow, @nCol )
聽 聽 oWnd:ReleaseDC()
return UPCAW( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth )

Function ean8W( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth, lBanner, cFont )
聽 聽 local nLen
聽 聽 // test de parametros
聽 聽 // por implementar
聽 聽 default nHeigth := 1.5
聽 聽 default lBanner:=.f.
聽 聽 if lHorz
聽 聽 聽 聽 go_codeW( _UPC(cCode,7), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth * 0.90 )
聽 聽 else
聽 聽 聽 聽 //nLen :=round 聽( nHeigth * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 ) * 0.1
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( oWnd:GetDC(), nLen, .F. ), 0 ) * 0.1
聽 聽 聽 聽 oWnd:ReleaseDC()
聽 聽 聽 聽// 10% espacios
聽 聽 聽 聽 聽 聽 go_codeW( _UPC(cCode,7), nRow, nCol + nLen, oWnd, lHorz, Color, nWidth, nHeigth * 0.90 )
聽 聽 end
聽 聽 go_codeW( _ean13Bl(8), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth )
聽 聽 if lBanner
聽 聽 聽 聽 barlenW( cCode, 7, oWnd, nRow, nCol, Color, lHorz, nWidth, nHeigth, cFont )
聽 聽 end
return nil


Function c_ean8W( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth )
聽 聽 uCm2Pixels( oWnd:GetDC(), @nRow, @nCol )
聽 聽 oWnd:ReleaseDC()
return ean8W( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth )


Function sup5W( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth, lBanner, cFont )
聽 聽 // test de parametros
聽 聽 // por implementar
聽 聽 go_codeW( _sup5(cCode), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth )
聽 聽 if lBANNER
聽 聽 聽 聽 ban5W( cCode, oWnd, nRow, nCol, Color, lHorz, nWidth, nhEIGTH, cFont )
聽 聽 end
return nil

Function c_Sup5W( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth, lBanner, cFont )
聽 聽 uCm2Pixels( oWnd:GetDC(), @nRow, @nCol )
聽 聽 oWnd:ReleaseDC()
return sup5W( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth, lBanner, cFont )


Function CodabarW( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth )
聽 聽 // test de parametros
聽 聽 // por implementar
聽 聽 go_codeW( _Codabar(cCode), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth )
return nil

Function c_CodabarW( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth )
聽 聽 uCm2Pixels( oWnd:GetDC(), @nRow, @nCol )
聽 聽 oWnd:ReleaseDC()
return CodabarW( nRow, nCol, cCode, oWnd, Color, lHorz, nWidth, nHeigth )

Function int25W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )
聽 聽 // test de parametros
聽 聽 // por implementar
聽 聽 go_codeW( _int25(cCode,lCheck), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth )
return nil

Function c_int25W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )
聽 聽 uCm2Pixels( oWnd:GetDC(), @nRow, @nCol )
聽 聽 oWnd:ReleaseDC()
return int25W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )

Function ind25W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )
聽 聽 // test de parametros
聽 聽 // por implementar
聽 聽 go_codeW( _ind25(cCode,lCheck), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth )
return nil

Function c_ind25W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )
聽 聽 uCm2Pixels( oWnd:GetDC(), @nRow, @nCol )
聽 聽 oWnd:ReleaseDC()
return ind25W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )

Function mat25W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )
聽 聽 // test de parametros
聽 聽 // por implementar
聽 聽 go_codeW( _mat25(cCode,lCheck), nRow, nCol, oWnd, lHorz, Color, nWidth, nHeigth )
return nil

Function c_mat25W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )
聽 聽 uCm2Pixels( oWnd:GetDC(), @nRow, @nCol )
聽 聽 oWnd:ReleaseDC()
return mat25W( nRow, nCol, cCode, oWnd, lCheck, Color, lHorz, nWidth, nHeigth )

// imprime un codigo

#include 'FiveWin.ch'

FUNCTION Go_CodeW( cBarra, nx, ny, oWnd, lHoRz, nColor, nWidth, nLen )

Local n 聽 聽 聽:= 0
Local oBr 聽 聽:= Nil
Local WndhDC := 0

//traza(1, "Inici" )

WndhDc := oWnd:GetDc()

聽 聽 If Empty( nColor )
聽 聽 聽 聽 nColor := CLR_BLACK
聽 聽 EndIf

聽 聽 DEFAULT lHorz 聽:= .t.
聽 聽 DEFAULT nWidth := 0.025 // 1/3 M/mm
聽 聽 DEFAULT nLen 聽 := 1.5 // Cmm.

聽 聽 DEFINE BRUSH oBr COLOR nColor

聽 聽 /*
聽 聽 Traza( 1, "cbarra=", cbarra )
聽 聽 traza( 1, "nx 聽 聽 聽=", nx )
聽 聽 Traza( 1, "ny 聽 聽 聽=", ny )
聽 聽 Traza( 1, "lHorz 聽 =", lHoRz )
聽 聽 Traza( 1, "ncolor 聽=", ncolor, CLR_BLACK )
聽 聽 Traza( 1, "a-nWidth=", nWidth )
聽 聽 Traza( 1, "a-nLen 聽=", nLen )
聽 聽 */

聽 聽 // 聽 聽Width of Bar
聽 聽 If !lHorz
聽 聽 聽 聽 //nWidth :=round ( nWidth * 10 * oPrint:nVertRes() / oPrint:nVertSize() ,0 )
聽 聽 聽 聽 nWidth := ROUND( nCm2Pixels( WndhDc, nWidth, .T. ), 0 )
聽 聽 Else
聽 聽 聽 聽//nWidth := round 聽( nWidth * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 )
聽 聽 聽 聽nWidth := ROUND( nCm2Pixels( WndhDc, nWidth, .F. ), 0 )
聽 聽 EndiF

聽 聽 // Len of bar
聽 聽 If lHorz
聽 聽 聽 聽 //nLen := round ( nLen * 10 * oPrint:nVertRes() / oPrint:nVertSize() ,0 )
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( WndhDc, nLen, .T. ), 0 )
聽 聽 Else
聽 聽 聽 聽//nLen := round 聽( nLen * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 )
聽 聽 聽 聽nLen := ROUND( nCm2Pixels( WndhDc, nLen, .F. ), 0 )
聽 聽 EndIf

聽 聽 //Traza( 1, "b-nWidth=", nWidth )
聽 聽 //Traza( 1, "b-nLen=", nLen )

聽 聽 FOR n := 1 to Len( cBarra )

聽 聽 聽 聽 If substr(cBarra,n,1) ='1'
聽 聽 聽 聽 聽 聽 If lHorz
聽 聽 聽 聽 聽 聽 聽 聽 //oPrint:fillRect({nx,ny,nx+nLen,(ny+=nWidth)},oBr)
聽 聽 聽 聽 聽 聽 聽 聽 FillRect( WndhDc, {nx, ny, nx + nLen, (ny += nWidth)}, oBr:hBrush )
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 //oPrint:fillRect({nx,ny,(nx+=nWidth),ny+nLen},oBr)
聽 聽 聽 聽 聽 聽 聽 聽 FillRect( WndhDc, {nx, ny, (nx += nWidth), ny + nLen}, oBr:hBrush )
聽 聽 聽 聽 聽 聽 EndIf
聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 If lHorz
聽 聽 聽 聽 聽 聽 聽 聽 ny += nWidth
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 nx += nWidth
聽 聽 聽 聽 聽 聽 EndIf
聽 聽 聽 聽 EndIf

聽 聽 NEXT

聽 聽 oBr:end()

oWnd:ReleaseDc()

//traza(1, "Fin" )

RETURN Nil

// labels on barcodes

#include "fivewin.ch"

FUNCTION barlen13W( cCode, oWnd, nRow, nCol, Color, lHorz, nWidth, nLen, cFont)

聽 聽 Local oFont, nLenChar, l , Control, k, n, nWidthChar
Local WndhDC := 0

聽 聽 default lHorz := .t.

聽 聽 default nWidth := 0.025 // 1/3 M/mm

聽 聽 default nLen := 1.5 // Cmm.

聽 聽 default cFont := 'arial'

聽 聽 default Color := CLR_BLACK

WndhDC := oWnd:GetDC()

聽 聽 k:=left(alltrim(cCode)+'000000000000',12) // padding with '0'

聽 聽 // calculo del digito de control
聽 聽 聽k := k + EAN13_CHECK( k ) 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // Chaeck Digit en EAN13

聽 聽 If !lHorz
聽 聽 聽 聽 //nWidth := round ( nWidth * 10 * oPrint:nVertRes() / oPrint:nVertSize() ,0 )
聽 聽 聽 聽 nWidth := ROUND( nCm2Pixels( WndhDC, nWidth, .T. ), 0 )
聽 聽 else
聽 聽 聽 聽 //nWidth := round 聽( nWidth * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 )
聽 聽 聽 聽 nWidth := ROUND( nCm2Pixels( WndhDC, nWidth, .F. ), 0 )
聽 聽 EndIf

聽 聽 // Len of bar
聽 聽 If lHorz
聽 聽 聽 聽 //nLen := round ( nLen * 10 * oPrint:nVertRes() / oPrint:nVertSize() ,0 )
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( WndhDC, nLen, .T. ), 0 )
聽 聽 Else
聽 聽 聽 聽 //nLen := round 聽( nLen * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 )
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( WndhDC, nLen, .F. ), 0 )
聽 聽 EndIf


/*
聽 聽 聽 聽 nLenChar := nWidth*10
聽 聽 聽 聽 nWidthChar:= nLen*0.3
聽 聽 聽 聽 while .t.
聽 聽 聽 聽 聽 聽 define font oFont name cFont of oPrInt size nLenChar , nLenChar/2 ;
聽 聽 聽 聽 聽 聽 聽 聽 nescapement if(lHorz,0,13500)
聽 聽 聽 聽 聽 聽 if oPrint:GetTextWidth( '888888', oFont )<=42*nWidth
聽 聽 聽 聽 聽 聽 聽 聽 // alert(if(lHorz,'H:','V:')+str(nWidth*7)+str(nLenChar/(nWidth*7)))
聽 聽 聽 聽 聽 聽 聽 聽 while .t.
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 define font oFont name cFont of oPrInt size nLenChar , nWidthChar ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 nescapement if(lHorz,0,13500)
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 if oPrint:GetTextHeigth( '8', oFont )<=0.2*nLen
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 alert(if(lHorz,'H:','V:')+str(nLen*0.2)+str(nWidthChar/(nLen*0.2)))
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 else
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 nWidthChar-=0.2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 end
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oFont:end()
聽 聽 聽 聽 聽 聽 聽 聽 enddo
聽 聽 聽 聽 聽 聽 聽 聽 exit
聽 聽 聽 聽 聽 聽 else
聽 聽 聽 聽 聽 聽 聽 聽 nLenChar-=1
聽 聽 聽 聽 聽 聽 end
聽 聽 聽 聽 聽 聽 oFont:end()
聽 聽 聽 聽 end
聽* 聽 nWidt -> 0.8
*/

聽 聽 //DEFINE FONT oFont NAME cFont OF oPrInt SIZE nWidth * 5.6, nLen * 0.04 ;
聽 聽 // 聽 聽 聽 聽 聽 聽NESCAPEMENT If( lHorz, 0, 13500)

聽 聽 DEFINE FONT oFont NAME cFont SIZE nWidth * 5.6, nLen * 0.24 ;
聽 聽 聽 聽 聽 聽 聽 聽 NESCAPEMENT If( lHorz, 0, 13500)

聽 聽 If lHorz
聽 聽 聽 聽 //oPrint:say( nRow + nLen * 0.9, nCol - nWidth * 8, Left(k, 1), oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nLen * 0.9, nCol - nWidth * 8, Left(k, 1), Color, Nil, oFont, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nLen * 0.9, nCol + nWidth * 3, Substr(k, 2, 6), oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nLen * 0.9, nCol + nWidth * 3, SubStr(k, 2, 6), Color, Nil, oFont, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nLen * 0.9, nCol + nWidth * 50, Substr(k, 8, 6), oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nLen * 0.9, nCol + nWidth * 50, SubStr(k, 8, 6), Color, Nil, oFont, .T., Nil, Nil )
聽 聽 Else
聽 聽 聽 聽 //oPrint:say( nRow - nWidth * 8, nCol + nLen * 0.1, Left(k, 1), oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow - nWidth * 8, nCol + nLen * 0.1, Left(k, 1), Color, Nil, oFont, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nWidth * 3, nCol + nLen * 0.1, substr(k, 2, 6), oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nWidth * 3, nCol + nLen * 0.1, SubStr(k, 2, 6), Color, Nil, oFont, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nWidth * 50, nCol + nLen * 0.1, Substr(k, 8, 6), oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nWidth * 50, nCol + nLen * 0.1, SubStr(k, 8, 6), Color, Nil, oFont, .T., Nil, Nil )
聽 聽 EndIf

聽 聽 RELEASE oFont

oWnd:ReleaseDC()

RETURN Nil


FUNCTION barlenW( cCode, nDigs, oWnd, nRow, nCol, Color, lHorz, nWidth, nLen, cFont)

聽 聽 Local oFont, nLenChar, l ,Control,k,s1,s2,n, Izda, dCha
Local WndhDC := 0

聽 聽 DEFAULT lHorz := .t.
聽 聽 DEFAULT nWidth := 0.025 // 1/3 M/mm
聽 聽 DEFAULT nLen := 1.5 // Cmm.
聽 聽 DEFAULT cFont := 'arial'
聽 聽 DEFAULT Color := CLR_BLACK
聽 聽 DEFAULT nDigs := 11

WndhDC := oWnd:GetDC()

聽 聽 // calculo del digito de control
聽 聽 k := Left(Alltrim(cCode) + '000000000000', nDigs) // padding with '0'

聽 聽 // calculo del digito de control
聽 聽 k = k + Upc_CHECK(cCode, nDigs) 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // cCode,nLen

聽 聽 nDigs++
聽 聽 dcha := Right(K, nDigs / 2)
聽 聽 izda := Left(k, nDigs / 2)

聽 聽 If !lHorz
聽 聽 聽 聽 //nWidth :=round ( nWidth * 10 * oPrint:nVertRes() / oPrint:nVertSize() ,0 )
聽 聽 聽 聽 nWidth := ROUND( nCm2Pixels( WndhDC, nWidth, .T. ), 0 )
聽 聽 Else
聽 聽 聽 聽 //nWidth :=round 聽( nWidth * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 )
聽 聽 聽 聽 nWidth := ROUND( nCm2Pixels( WndhDC, nWidth, .F. ), 0 )
聽 聽 EndIf

聽 聽 // Len of bar
聽 聽 If lHorz
聽 聽 聽 聽 //nLen :=round ( nLen * 10 * oPrint:nVertRes() / oPrint:nVertSize() ,0 )
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( WndhDC, nLen, .T. ), 0 )
聽 聽 Else
聽 聽 聽 聽 //nLen :=round 聽( nLen * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 )
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( WndhDC, nLen, .F. ), 0 )
聽 聽 EndIf

聽 聽 //define font oFont name cFont of oPrInt size nWidth*5.6 , nLen*0.04 ;
聽 聽 // 聽 聽 聽 聽 聽 聽nescapement if(lHorz,0,13500)

聽 聽 DEFINE FONT oFont NAME cFont SIZE nWidth * 5.6 , nLen * 0.24 ;
聽 聽 聽 聽 聽 聽 聽 聽 NESCAPEMENT If(lHorz, 0, 13500)

聽 聽 // fisrt letter
聽 聽 If lHorz
聽 聽 聽 聽 //oPrint:say( nRow + nLen * 0.9, nCol + nWidth * 3, Izda, oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nLen * 0.9, nCol + nWidth * 3, Izda, Color, Nil, oFont, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nLen * 0.9, nCol + nWidth * ( int(nDigs) / 2 * 7 + 8), dcha, oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nLen * 0.9, nCol + nWidth * ( int(nDigs) / 2 * 7 + 8), dcha, Color, Nil, oFont, .T., Nil, Nil )
聽 聽 Else
聽 聽 聽 聽 //oPrint:say( nRow + nWidth * 3, nCol + nLen * 0.1, izda, oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nWidth * 3, nCol + nLen * 0.1, izda, Color, Nil, oFont, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nWidth * (nDigs / 2 + 8), nCol + nLen * 0.1, dcha, oFont, , Color )
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nWidth * (nDigs / 2 + 8), nCol + nLen * 0.1, dcha, Color, Nil, oFont, .T., Nil, Nil )
聽 聽 EndIf

聽 聽 RELEASE oFont

oWnd:ReleaseDC()

return nil


FUNCTION ban5W( cCode, oWnd, nRow, nCol, Color, lHorz, nWidth, nLen, cFont)

聽 聽 Local oFont, nLenChar, k,n, oPen
Local WndhDC := 0

聽 聽 DEFAULT lHorz := .t.
聽 聽 DEFAULT nWidth := 0.025 // 1/3 M/mm
聽 聽 DEFAULT nLen := 1.5 // Cmm.
聽 聽 DEFAULT cFont := 'arial'
聽 聽 DEFAULT Color := CLR_BLACK

WndhDC := oWnd:GetDC()

聽 聽 ccode := Left(Alltrim(cCode) + '000000000000', 5) // padding with '0'

聽 聽 If !lHorz
聽 聽 聽 聽 //nWidth := round ( nWidth * 10 * oPrint:nVertRes() / oPrint:nVertSize() ,0 )
聽 聽 聽 聽 nWidth := ROUND( nCm2Pixels( WndhDC, nWidth, .T. ), 0 )
聽 聽 Else
聽 聽 聽 聽//nWidth := round 聽( nWidth * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 )
聽 聽 聽 聽nWidth := ROUND( nCm2Pixels( WndhDC, nWidth, .F. ), 0 )
聽 聽 EndIf

聽 聽 // Len of bar
聽 聽 If lHorz
聽 聽 聽 聽 //nLen :=round ( nLen * 10 * oPrint:nVertRes() / oPrint:nVertSize() ,0 )
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( WndhDC, nLen, .T. ), 0 )
聽 聽 Else
聽 聽 聽 聽 //nLen :=round 聽( nLen * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 )
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( WndhDC, nLen, .F. ), 0 )
聽 聽 EndIf

聽 聽 //define font oFont name cFont of oPrInt size nWidth*5.6 , nLen*0.04 ;
聽 聽 // 聽 聽 聽 聽 聽 聽nescapement if(lHorz,0,13500)
聽 聽 DEFINE FONT oFont NAME cFont SIZE nWidth * 5.6 , nLen * 0.24 ;
聽 聽 聽 聽 聽 聽 聽 聽 NESCAPEMENT If( lHorz, 0, 13500)

聽 聽 //define pen oPen color CLR_WHITE of oPrint
聽 聽 DEFINE PEN oPen COLOR CLR_WHITE

聽 聽 k := ''
聽 聽 FOR n := 1 to 4
聽 聽 聽 聽 k += substr( cCode, n, 1) + ' '
聽 聽 ENDFOR
聽 聽 cCode := k + right( cCOde, 1)

聽 聽 //Box( nTop, nLeft, nBottom, nRight )

聽 聽 If lHorz
聽 聽 聽 聽 //oPrint:box(nrow,ncol,nrow+nLen*.3,nCol+48*nWidth,oPen)
聽 聽 聽 聽 Rectangle( WndhDC, nrow, ncol, nrow + nLen * .3, nCol + 48 * nWidth, oPen:hPen )
聽 聽 Else
聽 聽 聽 聽 //oPrint:box(nrow,ncol,nrow+41*nWidth,nCol+nLen*.3+48*nWidth,oPen)
聽 聽 聽 聽 Rectangle( WndhDC, nrow, ncol, nrow + 41 * nWidth, nCol + nLen * .3 + 48 * nWidth, oPen:hPen )
聽 聽 EndIf

聽 聽 //oPrint:say(nRow,nCol,cCode,oFont,,Color)
聽 聽 oWnd:Say( nRow, nCol, cCode, Color, Nil, oFont, .T., Nil, Nil )

聽 聽 RELEASE oFont
聽 聽 RELEASE oPen

oWnd:ReleaseDC()

RETURN Nil


FUNCTION UPCA_barlenW( cCode, oWnd, nRow, nCol, Color, lHorz, nWidth, nLen, cFont)

聽 聽 Local oFont, nLenChar, l ,Control,k,n, Izda, dCha, nDigs:=11,oFont2
Local WndhDC := 0

聽 聽 DEFAULT lHorz := .t.
聽 聽 DEFAULT nWidth := 0.025 // 1/3 M/mm
聽 聽 DEFAULT nLen := 1.5 // Cmm.
聽 聽 DEFAULT cFont := 'arial'
聽 聽 DEFAULT Color := CLR_BLACK

WndhDC := oWnd:GetDC()

聽 聽 // calculo del digito de control
聽 聽 k := Left(Alltrim(cCode) + '000000000000', nDigs) // padding with '0'
聽 聽 // calculo del digito de control
聽 聽 k = k + Upc_CHECK( cCode, nDigs) 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // cCode,nLen
聽 聽 nDigs++
聽 聽 dcha := Right(K, nDigs / 2)
聽 聽 izda := Left(k, nDigs / 2)

聽 聽 If !lHorz
聽 聽 聽 聽 //nWidth :=round ( nWidth * 10 * oPrint:nVertRes() / oPrint:nVertSize() ,0 )
聽 聽 聽 聽 nWidth := ROUND( nCm2Pixels( WndhDC, nWidth, .T. ), 0 )
聽 聽 Else
聽 聽 聽 聽 //nWidth :=round 聽( nWidth * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 )
聽 聽 聽 聽 nWidth := ROUND( nCm2Pixels( WndhDC, nWidth, .F. ), 0 )
聽 聽 EndIf

聽 聽 // Len of bar
聽 聽 IF lHorz
聽 聽 聽 聽 //nLen :=round ( nLen * 10 * oPrint:nVertRes() / oPrint:nVertSize() ,0 )
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( WndhDC, nLen, .T. ), 0 )
聽 聽 Else
聽 聽 聽 聽 //nLen :=round 聽( nLen * 10 * oPrint:nHorzRes() / oPrint:nHorzSize(), 0 )
聽 聽 聽 聽 nLen := ROUND( nCm2Pixels( WndhDC, nLen, .F. ), 0 )
聽 聽 EndIf

聽 聽 //define font oFont name cFont of oPrInt size nWidth*5.6 , nLen*0.04 ;
聽 聽 // 聽 聽 聽 聽 聽 聽nescapement if(lHorz,0,13500)
聽 聽 //define font oFont2 name cFont of oPrInt size nWidth*5.6 , nLen*0.025 ;
聽 聽 // 聽 聽 聽 聽 聽 聽nescapement if(lHorz,0,13500)

聽 聽 DEFINE FONT oFont NAME cFont SIZE nWidth * 5.6 , nLen * 0.24 ;
聽 聽 聽 聽 聽 聽 聽 聽 NESCAPEMENT If(lHorz, 0, 13500)
聽 聽 DEFINE FONT oFont2 NAME cFont SIZE nWidth * 5.6 , nLen * 0.15 ;
聽 聽 聽 聽 聽 聽 聽 聽 NESCAPEMENT If(lHorz, 0, 13500)

聽 聽 // fisrt letter

聽 聽 If lHorz
聽 聽 聽 聽 //oPrint:say( nRow + nLen * 0.9, nCol - nWidth * 8, left(k, 1), oFont2, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nLen * 0.9, nCol - nWidth * 8, Left(k, 1), Color, Nil, oFont2, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nLen * 0.9, nCol + nWidth * 10, right(Izda, 5), oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nLen * 0.9, nCol + nWidth * 10, Right(Izda, 5), Color, Nil, oFont, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nLen * 0.9, nCol + nWidth * 50, left( dcha, 5), oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nLen * 0.9, nCol + nWidth * 50, Left( Dcha, 5), Color, Nil, oFont, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nLen * 0.9, nCol + nWidth * 95, right( k, 1), oFont2, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nLen * 0.9, nCol + nWidth * 95, Right( k, 1), Color, Nil, oFont2, .T., Nil, Nil )
聽 聽 Else
聽 聽 聽 聽 //oPrint:say( nRow - nWidth * 8, nCol + nLen * 0.1, left(k, 1),oFont2,,Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow - nWidth * 8, nCol + nLen * 0.1, Left(k, 1), Color, Nil, oFont2, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nWidth * 10, nCol + nLen * 0.1, right( izda, 5), oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nWidth * 10, nCol + nLen * 0.1, Right( Izda, 5), Color, Nil, oFont, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nWidth * 50, nCol + nLen * 0.1, left( dcha, 5), oFont, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nWidth * 50, nCol + nLen * 0.1, Left( Dcha, 5), Color, Nil, oFont, .T., Nil, Nil )
聽 聽 聽 聽 //oPrint:say( nRow + nWidth * 95, nCol + nLen * 0.1, right( k, 1), oFont2, , Color)
聽 聽 聽 聽 聽 聽 oWnd:Say( nRow + nWidth * 95, nCol + nLen * 0.1, Right( k, 1), Color, Nil, oFont2, .T., Nil, Nil )
聽 聽 EndIf

聽 聽 RELEASE oFont
聽 聽 RELEASE oFont2

oWnd:ReleaseDC()

RETURN Nil
//

#include "FiveWin.ch"

#define HORZSIZE 聽 聽 聽 聽 聽4
#define VERTSIZE 聽 聽 聽 聽 聽6
#define HORZRES 聽 聽 聽 聽 聽 8
#define VERTRES 聽 聽 聽 聽 聽10
#define LOGPIXELSX 聽 聽 聽 88
#define LOGPIXELSY 聽 聽 聽 90


/* ****************************************************************************
Funciones para convertir PIXEL a Twip/Pulgadas/Cent铆metros y viceversa.

hDC -> oWnd:hDC or oPrn:hDC

聽 聽************************************************************************* */

/* ******************************************************* */
FUNCTION nPixels2Twips( hDC, nPixels, lVertical )
Return (nPixels / GetDeviceCaps( hDC, If(lVertical, LOGPIXELSY, LOGPIXELSX) ) ) * 1440
/* ******************************************************* */
FUNCTION nTwips2Pixels( hDC, nTwips, lVertical )
Return (nTwips / 1440) * GetDeviceCaps( hDC, If(lVertical, LOGPIXELSY, LOGPIXELSX) )
/* ******************************************************* */
FUNCTION nPixels2Inches( hDC, nPixels, lVertical )
Return (nPixels / GetDeviceCaps( hDC, If(lVertical, LOGPIXELSY, LOGPIXELSX) ) )
/* ******************************************************* */
FUNCTION nInches2Pixels( hDC, nInches, lVertical )
Traza( 1, "hDc 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 =", hDc )
Traza( 1, "nInches 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 =", nInches )
Traza( 1, "lVertical 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 =", lVertical )
Traza( 1, "GetDeviceCaps( hDC, If(lVertical, LOGPIXELSY, LOGPIXELSX) ) 聽 聽 聽 聽 聽 聽 =", GetDeviceCaps( hDC, If(lVertical, LOGPIXELSY, LOGPIXELSX) ) )
Traza( 1, "(nInches * GetDeviceCaps( hDC, If(lVertical, LOGPIXELSY, LOGPIXELSX) ) )=", (nInches * GetDeviceCaps( hDC, If(lVertical, LOGPIXELSY, LOGPIXELSX) ) ) )
Return (nInches * GetDeviceCaps( hDC, If(lVertical, LOGPIXELSY, LOGPIXELSX) ) )
/* ******************************************************* */
FUNCTION nPixels2Cm( hDC, nPixels, lVertical )
Return nPixels2Inches( hDC, nPixels, lVertical ) * 2.54
/* ******************************************************* */
FUNCTION nCm2Pixels( hDC, nCm, lVertical )
Return nInches2Pixels( hDC, (nCm / 2.54), lVertical )
/* ******************************************************* */
FUNCTION uCm2Pixels( HdC, nCmy, nCmx )
nCmy := nCm2Pixels( hDC, nCmy, .T. )
nCmx := nCm2Pixels( hDC, nCmx, .F. )
Return Nil

FUNCTION  Traza()
Return " "


Son ficheros independientes, donde veas #include "FiveWin.ch" es que empieza otro fichero.

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 1446
Joined: Mon Oct 10, 2005 02:38 PM
Re: EFECTO CODIGO BARRA EN DIALOGO...
Posted: Sat May 31, 2014 08:55 AM
Me dejaba el BARCODEW.CH

Code (fw): Select all Collapse
#ifndef _BARCODE_
#define _BARCODE_

#translate @ <nRow>, <nCol> CODE128W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ MODE <cMode>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, <cMode>, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODE128", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_CODE128W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ MODE <cMode>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, <cMode>, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODE128", <.design.>, .F. )

#translate @ <nRow>, <nCol> CODE3_9W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODE3_9", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_CODE3_9W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODE3_9", <.design.>, .F. )

#translate @ <nRow>, <nCol> EAN13W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"EAN13", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_EAN13W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"EAN13", <.design.>, .F. )

#translate @ <nRow>, <nCol> UPCAW 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"UPCA", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_UPCAW 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"UPCA", <.design.>, .F. )

#translate @ <nRow>, <nCol> EAN8W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"EAN8", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_EAN8W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"EAN8", <.design.>, .F. )

#translate @ <nRow>, <nCol> SUP5W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"SUP5", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_SUP5W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"SUP5", <.design.>, .F. )

#translate @ <nRow>, <nCol> CODABARW 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODABAR", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_CODABARW 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODABAR", <.design.>, .F. )

#translate @ <nRow>, <nCol> INT25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"INT25", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_INT25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"INT25", <.design.>, .F. )

#translate @ <nRow>, <nCol> IND25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"IND25", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_IND25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"IND25", <.design.>, .F. )

#translate @ <nRow>, <nCol> MAT25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"MAT25", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_MAT25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"MAT25", <.design.>, .F. )

#ENDIF



/* ***************************************************************************************** */

/*
#translate @ <nRow>, <nCol> CODE128W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ MODE <cMode>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 Code128W( <nRow>, <nCol> , <cCode>, <oWnd>, <cMode> ;
聽 聽 聽 聽 聽 聽 聽 聽 ,<nColor>, .not. <.lVert.>, <nWidth>, <nSize> )
*/


#translate @ <nRow>, <nCol> BARCODEW [ <oBarCodeW> PROMPT ] <cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <predef: CODE128, CODE3_9, EAN13, UPCA, EAN8, SUP5, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽CODABAR, INT25, IND25, MAT25> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ MODE <cMode>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design: DESIGN > 聽] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lPixel: PIXEL, PIXELS > ] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 <oBarCodeW> := TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 <.lCheck.>, <cMode>,<nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 <nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Upper(<(predef)>), <.design.>, <.lPixel.> )

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: EFECTO CODIGO BARRA EN DIALOGO...
Posted: Sat May 31, 2014 01:52 PM
FiveWiDi wrote:Me dejaba el BARCODEW.CH

Code (fw): Select all Collapse
#ifndef _BARCODE_
#define _BARCODE_

#translate @ <nRow>, <nCol> CODE128W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ MODE <cMode>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, <cMode>, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODE128", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_CODE128W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ MODE <cMode>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, <cMode>, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODE128", <.design.>, .F. )

#translate @ <nRow>, <nCol> CODE3_9W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODE3_9", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_CODE3_9W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODE3_9", <.design.>, .F. )

#translate @ <nRow>, <nCol> EAN13W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"EAN13", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_EAN13W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"EAN13", <.design.>, .F. )

#translate @ <nRow>, <nCol> UPCAW 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"UPCA", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_UPCAW 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"UPCA", <.design.>, .F. )

#translate @ <nRow>, <nCol> EAN8W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"EAN8", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_EAN8W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"EAN8", <.design.>, .F. )

#translate @ <nRow>, <nCol> SUP5W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"SUP5", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_SUP5W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"SUP5", <.design.>, .F. )

#translate @ <nRow>, <nCol> CODABARW 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODABAR", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_CODABARW 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Nil, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"CODABAR", <.design.>, .F. )

#translate @ <nRow>, <nCol> INT25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"INT25", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_INT25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"INT25", <.design.>, .F. )

#translate @ <nRow>, <nCol> IND25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"IND25", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_IND25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"IND25", <.design.>, .F. )

#translate @ <nRow>, <nCol> MAT25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"MAT25", <.design.>, .T. )

#translate @ <nRow>, <nCol> CM_MAT25W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design:DESIGN>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<.lCheck.>, Nil, <nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<nWidth>, <nSize>, Nil, Nil, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"MAT25", <.design.>, .F. )

#ENDIF



/* ***************************************************************************************** */

/*
#translate @ <nRow>, <nCol> CODE128W 聽<cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ MODE <cMode>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 Code128W( <nRow>, <nCol> , <cCode>, <oWnd>, <cMode> ;
聽 聽 聽 聽 聽 聽 聽 聽 ,<nColor>, .not. <.lVert.>, <nWidth>, <nSize> )
*/


#translate @ <nRow>, <nCol> BARCODEW [ <oBarCodeW> PROMPT ] <cCode> ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <predef: CODE128, CODE3_9, EAN13, UPCA, EAN8, SUP5, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽CODABAR, INT25, IND25, MAT25> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ OF <oWnd>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lCheck:CHECK> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ MODE <cMode>] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ COLOR <nColor> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lVert:VERTICAL> ];
聽 聽 聽 聽 聽 聽 聽 聽 [ WIDTH <nWidth> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ SIZE <nSize> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lBanner:BANNER> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ FONT <cFont> ] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <design: DESIGN > 聽] ;
聽 聽 聽 聽 聽 聽 聽 聽 [ <lPixel: PIXEL, PIXELS > ] ;
聽 聽 聽 聽 聽 聽 聽 聽 => ;
聽 聽 聽 聽 <oBarCodeW> := TBarCodeW():New( <nRow>, <nCol>, <cCode>, <oWnd>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 <.lCheck.>, <cMode>,<nColor>, .not. <.lVert.>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 <nWidth>, <nSize>, <.lBanner.>, <cFont>, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Upper(<(predef)>), <.design.>, <.lPixel.> )



Hola buenos dias Fivewidi, gracias por tu interes, entonces es algo complicado visualizar en dialogo los codigos de barras!...crei que con esta sencilla rutina,podria visualizar en la pantalla de dialogo.

Entonces como ya hice prueba de visualizar en reporte de pantalla, al igual me manda numero 1, pero sin codigo de barra, con el ejemplo y funcion expuesta por el Ing. cmsoft.

Por otro lado la clase de cayetano, funciona solo para imprimir en los reportes y leer con el lector o escaner, es verdad eso?, ya que anduve en el foro investigando, y me doy a entender que la clase, es para impresion de codigos de barras .
Necesitare investigar mas y compilar junto con las clases de Cayetan, ya que sinceramente nunca he hecho codigos o etiquetas de barras, y yo creia que con ea sencilla instruccion podria visualizar en dialogo.

Saludo y gracias por el codigo fuente Fivewidi, le echare un vistaso a ver como sale te lo agradezco Ing. Fivewidi.

Atte: Adrian C. C.
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: EFECTO CODIGO BARRA EN DIALOGO...
Posted: Sat May 31, 2014 05:02 PM

yo uso BARLIB,
sin problemas,
saludos.

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: EFECTO CODIGO BARRA EN DIALOGO...
Posted: Sat May 31, 2014 05:27 PM
sysctrl2 wrote:yo uso BARLIB,
sin problemas,
saludos.



Hola gracias por tu interes Cesart, pero el detalle, no veo algun ejemplo de como funciona la clase de cayetano,ya logre bajarlo que anduve investigando en el foro,pero no contiene algun ejemplo de como funciona, pero no se si tampoco hubo algun cambio reciente en la clase o que se yo!, pero solo veo las clases ,excepto algun ejemplo, alguien me puede orientar con algun ejemplo, contiene las funciones, de EAN13, CODE39,CODE128 etc etc, y sobre todo que me recomienden, cual es lo recomendable a usar en dos parametros, uno para codigo de barras de productos en ventas, y otro, para imprimir y escanear Carnet de entrada y salida de empleados. con cual funcion seria recomendable, ya que veo muchas funciones, dentro de la clase de cayetano, como los que me mencione, y que imprima impresoras laser, ya que no tengo impresora matriz, ya creo que ni existe.
Algun ejemplo del funcionamiento, uno para codigo de barras de productos y otro, como tarjeta de entrada y salida empleados.

Saludos y buen dia.!

Atte: Adrian C. C.
Posts: 581
Joined: Tue Oct 11, 2005 11:28 AM
Re: EFECTO CODIGO BARRA EN DIALOGO...
Posted: Sat May 31, 2014 06:07 PM
Adrian,

He conseguido poner el codigo de barras en un dialogo, usando la clase VRDBCode de Timm Soldtalbers y que funciona de la siguiente forma:

Code (fw): Select all Collapse
// para enterar con el codigo de barras y actualizar el dialogo con el codigo
REDEFINE GET oCodBar         VAR cCodBar ID 65  PICTURE "9999999999999" OF oFld:aDialogs[ 1 ] UPDATE VALID (oFld:aDialogs[ 1 ]:Refresh(), .t.)

oFld:aDialogs[ 1 ]:bPainted = { | hDC | DrawTestBarcode( hDC, cCodBar ) }

....
....

//----------------------------------------------------------------------------//
Static FUNCTION DrawTestBarcode( hDC,  cCodBar )
// Mostrar o c贸digo de barras na dialog
//----------------------------------------------------------------------------//

   LOCAL oBC3

   @ 266, 413 BARCODE oBC3 DEVICE hDC PROMPT cCodbar TYPE EAN13 SIZE 300, 45

   SHOWBARCODE oBC3

RETURN (.T.)


Solo tienes que definir las coordenadas del codigo para que te aparezca en tu formulario.

Espero te ayude.

Saludos,
Kleyber Derick



FWH / xHb / xDevStudio / SQLLIB
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: EFECTO CODIGO BARRA EN DIALOGO...
Posted: Sat May 31, 2014 08:26 PM
Kleyber wrote:Adrian,

He conseguido poner el codigo de barras en un dialogo, usando la clase VRDBCode de Timm Soldtalbers y que funciona de la siguiente forma:

Code (fw): Select all Collapse
// para enterar con el codigo de barras y actualizar el dialogo con el codigo
REDEFINE GET oCodBar 聽 聽 聽 聽 VAR cCodBar ID 65 聽PICTURE "9999999999999" OF oFld:aDialogs[ 1 ] UPDATE VALID (oFld:aDialogs[ 1 ]:Refresh(), .t.)

oFld:aDialogs[ 1 ]:bPainted = { | hDC | DrawTestBarcode( hDC, cCodBar ) }

....
....

//----------------------------------------------------------------------------//
Static FUNCTION DrawTestBarcode( hDC, 聽cCodBar )
// Mostrar o c贸digo de barras na dialog
//----------------------------------------------------------------------------//

聽 聽LOCAL oBC3

聽 聽@ 266, 413 BARCODE oBC3 DEVICE hDC PROMPT cCodbar TYPE EAN13 SIZE 300, 45

聽 聽SHOWBARCODE oBC3

RETURN (.T.)


Solo tienes que definir las coordenadas del codigo para que te aparezca en tu formulario.

Espero te ayude.

Saludos,



Hola gracias por tu interes Kleyber, y donde puedo conseguir la clase que mencionas VRDBCode, esa si no me la sabia, y aun sigo con el dilema de como imprimir mi codigo de barras,ya que no tengo ejemplos y que alguien me proporcione el ejemplo, sigo batallando con eso ya le busque por todos lados, y me bota error tras error, que no logro imprimir tan siquiera mi credencial, o codigo de productos de barras.

Gracias Kleyber y saludos.

Atte: Adrian C. C.
Posts: 581
Joined: Tue Oct 11, 2005 11:28 AM
Re: EFECTO CODIGO BARRA EN DIALOGO...(Cerrado)
Posted: Sun Jun 01, 2014 03:20 PM

How can I send you the class?

Kleyber Derick



FWH / xHb / xDevStudio / SQLLIB
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: EFECTO CODIGO BARRA EN DIALOGO...(Cerrado)
Posted: Sun Jun 01, 2014 04:12 PM
Kleyber wrote:How can I send you the class?


Hola Kleyber buen dia Ing. y gracias por el interes al tema, si seria tan amable de enviarme a mi correo ..!

acc69@hotmail.com

Saludos y buen dia.!

Atte: Adrian C. C.
Posts: 581
Joined: Tue Oct 11, 2005 11:28 AM
Re: EFECTO CODIGO BARRA EN DIALOGO...(Cerrado)
Posted: Sun Jun 01, 2014 09:07 PM

Enviado.

Kleyber Derick



FWH / xHb / xDevStudio / SQLLIB
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: EFECTO CODIGO BARRA EN DIALOGO...(Cerrado)
Posted: Mon Jun 02, 2014 02:16 PM
Kleyber wrote:Enviado.



Hola bueno dias Ing. Kleyber, gracias muy amable, recibi la clase que me envio y lo adaptare al dialogo, muchas gracias te lo agradezco.

Saludos y buen dia.!

Atte: Adrian C. C.

Continue the discussion