Histórico da Página
Versões: | Microsiga Protheus® 11 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível as 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:
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 |
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 |