Histórico da Página
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:
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 | Numérico | Número da Linha em centímetros | X |
nCol | Numérico | 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 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. |