Histórico da Página
...
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: NilObservações: Esta
Informaçõ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 |
...
...
. |
...
Parâmetros:
NOME | TIPO | DESCRIÇÃO | OBRIGATÓ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 |
nRow | Número | Número da Linha em centímetros | X |
nCol | Número | Número da Coluna em centímetros | X |
cCode | Caractere | String com o conteúdo do código | X |
oPrint | Objeto | Objeto Printer | X |
lCheck | Lógico | Se calcula o dígito de controle | |
Color | Array of Records | Número da cor | |
lHorz | Lógico | Se imprime na horizontal | |
nWidth | Numérico | Número do tamanho da barra em centímetros | |
nHeigth | Numérico | Número da altura da barra em milímetros | |
lBanner | Lógico | Se imprime a linha embaixo do código | |
cFont | Caractere | String com o tipo de fonte | |
cMode | Caractere | String com o modo do código de barras CODE128 | |
lPrint | Lógico | Lógico que indica se imprime ou não | |
nPFWidth | Numérico | Número do índice de ajuste da largura da fonte | |
nPFHeigth | Numérico | Número do índice de ajuste da altura da fonte |
Informações | ||
---|---|---|
| ||
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. |
Exemplo:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#Include 'Protheus.ch'
User Function TesteBAR()
Local oReport := ReportDef()
oReport:PrintDialog()
Return NIL
Static Function ReportDef()
Local oReport := NIL
Local oSection1 := NIL
Local cTitle := "Exemplo de uso MSBAR4"
oReport:= TReport():New("CODBAR,cTitle,NIL, {|oReport| ReportPrint(oReport)})
oReport:SetPortrait() // Define a orientacao de pagina do relatorio como retrato.
oReport:HideParamPage() // Desabilita a impressao da pagina de parametros.
oReport:nFontBody := 9 // Define o tamanho da fonte.
oReport:nLineHeight := 50 // Define a altura da linha.
oSection1 := TRSection():New(oReport,"Exemplo",{"SB1"},NIL) // "Ordens de Produção"
oSection1:SetLineStyle() //Define a impressao da secao em linha
oSection1:SetReadOnly()
TRCell():New(oSection1,'BARTYPE' ,'SB1',"Tipo Barra",NIL,30,/*lPixel*/,/*{|| code-block de impressao }*/)
Return(oReport)
Static Function ReportPrint(oReport)
Local oSection1 := oReport:Section(1)
Local nX := 1
oReport:SetMeter(3)
oSection1:Init()
oSection1:Cell('BARTYPE'):SetValue('Codigo 128 subset A')
oSection1:PrintLine()
MSBAR4("CODE128",2.6,0.2,"12345678901",@oReport:oPrint,NIL,NIL,NIL,8,NIL,.T.,NIL,"A",.F.)
oReport:IncMeter()
nLoops := 300/oReport:nLineHeight
If nLoops - Int(nLoops) > 0
nLoops := Int(nLoops+1)
EndIf
For nX := 1 to nLoops
oReport:SkipLine()
Next nX
oSection1:Cell('BARTYPE'):SetValue('Codigo 128 subset B')
oSection1:PrintLine()
MSBAR4("CODE128",6.0,0.2,"123456789011010",@oReport:oPrint,NIL,NIL,NIL,8,NIL,.T.,NIL,"B",.F.)
oReport:IncMeter()
nLoops := 300/oReport:nLineHeight
If nLoops - Int(nLoops) > 0
nLoops := Int(nLoops+1)
EndIf
For nX := 1 to nLoops
oReport:SkipLine()
Next nX
oSection1:Cell('BARTYPE'):SetValue('EAN13')
oSection1:PrintLine()
MSBAR4("EAN13",9.6,0.2,"123456789012",@oReport:oPrint,.T.,NIL,NIL,6,NIL,.T.,NIL,NIL,.F.)
oReport:IncMeter()
oSection1:Finish()
Return |
...