Home

Linha Microsiga Protheus

Páginas filhas
  • MSBAR4 - Impressão de código de barras na impressora Deskjet HP e Laser
Versões:Microsiga Protheus® 11
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Idiomas:Português, Espanhol, Inglês

 

Descrição: Função para impressão de código de barras na impressora Deskjet HP e Laser.

Programa Fonte: MSBARHP.PRW

Sintaxe: MSBAR4 - Impressão de código de barras na impressora Deskjet HP e Laser ( [ cTypeBar ] [ nRow ] [ nCol ] [ cCode ] [ oPr ] [ lCheck ] [ Color ] [ lHort ] [ nWidth ] [ nHeigth ] [ lBanner ] [ cFont ] [ cMode ] [ lPrint ] [ nPFWidth ] [ nPFHeigth ] ) --> Nil

Retorno: Nil

Observações: Esta função é de utilização interna do produto Microsiga Protheus®. Não recomendamos sua utilização em customizações, pois a função está sujeita a alterações conforme melhoria contínua ou revisão do produto. Sua utilização pode ser prejudicada caso sofra qualquer modificação para atender possível especificação e resultado interno esperado. Esta função não deve ser utilizada para impressoras térmicas, neste caso consulte a função "MSCBIMP".

Importante: Na função MSBAR4, o 9º parâmetro ([nWidth]) realmente especifica o tamanho desejado do código de barra inteiro. Nas demais funções da mesma classe, esse parâmetro é usado para definir o espaçamento entre as barras.                         

Parâmetros:

NOMETIPODESCRIÇÃOOBRIGATÓRIO


cTypeBar

 

Caractere

String com o tipo do código de barras

("EAN13", "EAN8", "UPCA", "SUP5", "CODE128", "INT25",

"MAT25", "IND25", "CODABAR", "CODE3_9", "EAN128")

 

X

nRowNuméricoNúmero da Linha em centímetrosX
nColNuméricoNúmero da coluna em centímetrosX
cCodeCaractereString com o conteúdo do códigoX
oPrintObjetoObjeto PrinterX
lCheckLógicoSe calcula o dígito de controle 
ColorArray of recordsNúmero da cor 
lHorzLógicoSe imprime na horizontal 
nWidthNuméricoNúmero do tamanho da barra em centímetros 
nHeigthNuméricoNúmero da altura da barra em milímetros 
lBannerLógicoSe imprime a linha embaixo do código 
cFontCaractereString com o tipo de fonte 
cModeCaractereString com o modo do código de barras CODE128 
lPrintLógicoLógico que indica se imprime ou não 
nPFWidthNuméricoNúmero do índice de ajuste da largura da fonte 
nPFHeigthNuméricoNúmero do índice de ajuste da altura da fonte 

 

Exemplo:

MSBAR4
#Include 'Protheus.ch'

User Function TesteBAR()
LOCAL wnrel
LOCAL cDesc1     := "Teste de codigo de barras"
LOCAL cDesc2     := ""
LOCAL cDesc3     := ""
LOCAL cString    := "SA1"
LOCAL aRegistros := {}
PRIVATE ctitulo  := "Cod.Barras"
PRIVATE ctamanho := "P"
PRIVATE aReturn  := { "Zebrado", 1,"Administracao", 2, 2, 1, "",1 }
PRIVATE cnomprog := "teste020"
PRIVATE nLastKey := 0

wnrel := "Teste020"
wnrel := SetPrint(cString,wnrel,nil,@ctitulo,cDesc1,cDesc2,cDesc3,.F.,"",.F.,cTamanho)

If nLastKey == 27	
	Set Filter To	
	Return
Endif

SetDefault(aReturn,cString)

If nLastKey == 27	
	Set Filter To
Endif

RptStatus({|lEnd| TesteImp(@lEnd,wnrel,cString)},cTitulo)

Return .T.

Static Function TesteImp(lEnd,wnrel,cString)
Local oPr 		 := ReturnPrtObj()
Local nHeigth 	 := 0.9
Local lBold 	 := .F.
Local lUnderLine := .F.

@ 1 ,001 PSAY 'Codigo 128 subset A'
MSBAR4("CODE128", 3 , 1 ,"12345678901" ,oPr,NIL,NIL,NIL,,NIL,NIL,NIL,"A")
oPr := ReturnPrtObj()

@ 10 ,001 PSAY 'Codigo 128 subset B'
MSBAR4("CODE128", 10 , 1 ,"123456789011010" ,oPr,NIL,NIL,NIL,,NIL,NIL,NIL,NIL)
oPr := ReturnPrtObjPrtObj()

@ 20 ,001 PSAY 'Codigo EAN 13'
oFont:= TFont():New( "Arial",,nHeigth,,lBold,,,,,lUnderLine )
oPr := ReturnPrtObj()

MSBAR4("EAN13" , 12 , 1 ,"123456789012",oPr,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL)

Set Filter To
dbSetOrder(1)
Set device to Screen

If aReturn[5] == 1	
	Set Printer To	
	dbCommitAll()
	OurSpool(wnrel)
Endif

MS_FLUSH()

Return .T.

 

 

  • Sem rótulos