|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Accueil → WINDEV 25 → WX - Trabalhando com Registro do Windows, ter a Lista de Impressoras e a Impressora Padrão do Windows (Working with the Windows Registry with the Printer List, and the Windows Default Printer) |
WX - Trabalhando com Registro do Windows, ter a Lista de Impressoras e a Impressora Padrão do Windows (Working with the Windows Registry with the Printer List, and the Windows Default Printer) |
Débuté par adrianoboller, 30 avr. 2016 02:25 - 14 réponses |
| |
| | | |
|
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 30 avril 2016 - 02:25 |
Prezados,
Passei a esses dias estudando essa questão de como trabalhar com Registro do Windows e obter a Lista de Impressoras e qual é a Impressora Padrão do Windows.
Segue aqui as minhas conclusões:
Código:
ResExist3 is boolean = RegistryExist("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers")
IF ResExist3 = True THEN Key is string = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers" Key = RegistryFirstSubKey(Key) EDT_Impressoras = Replace(Key,"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\","") + CR Achou is string = "" LOOP (1000) Achou = RegistryNextKey ( Key ) IF Achou <> "" THEN EDT_Impressoras += Replace(Achou,"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\","") + CR Key = Achou ELSE BREAK END END
END
Obtendo assim a listagem das impressoras
CutePDF Writer Fax Microsoft Print to PDF Microsoft XPS Document Writer Send To OneNote 2016
Simples Assim!
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 30 avril 2016 - 18:54 |
Como Saber a Impressora Padrão?
iInfoPrinter FUNCTION
http://doc.windev.com/en-US/…
Recupera as características da impressora atual ou padrão.
sCurrentPrinter is string = iInfoPrinter()
sDefaultPrinter is string = iInfoPrinter(False)
sDriverUsadoImpressoraPadrao is string = iInfoPrinter(False,iDriverName)
sNomeImpressoraPadrao is string = iInfoPrinter(False,iPrinterName)
sPortaImpressoraPadrao is string = iInfoPrinter(False,iDeviceName)
sListaTodasImpressorasInstaladas is string = iListPrinter()
ok_situacao_01 is boolean = iConfigure("HP1200", False)
IF ok_situacao_01 = True Info("Impressora foi alterada com sucesso no painel de controle") ELSE Info(ErrorInfo()) END
ok_situacao_02 is boolean = iConfigure("HP1200", True)
IF ok_situacao_02 = True Info("Impressora foi alterada com sucesso somente enquanto tiver usando o aplicativo windev") ELSE Info(ErrorInfo()) END
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/Message modifié, 30 avril 2016 - 19:19 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 30 avril 2016 - 20:16 |
Prezados,
Eu fiz hoje junto com o "José Jorge Matos" fazer algo que eu tinha no Clarion, uma das funções do Template Mágico kkkkk
Seria a inversão entre a impressora padrão e a impressora que quero usar via código.
Quero agradecer de público pela força que me deu em conseguir fazer esse código.
Que tenho a certeza que será útil para toda a comunidade.
COMPLEMENTO
http://doc.windev.com/en-US/…
http://doc.windev.com/en-US/…
http://doc.windev.com/en-US/…
A ideia consiste em ter 4 impressoras ou mais...
E a necessidade seria alternar entre as impressoras livres
via código, e alterar a impressora padrão do Windows
O post estou ainda concluído, mas foi um trabalho de 4 dias...
Até conseguir fazer funcionar, vasculhei a API do Windows, Registro do Windows, Códigos C#, .Net e até o Clarion...
E por incrível que pareça achei no help online usando código nativo da ferramenta.
Ou seja, uma pesquisa que no final acabei usando os comando nativos, não imaginava que já tinha isso pronto
Só que não estava tudo junto como eu precisava.
Ou seja, muita leitura do Help!
Vale a pena... antes de correr para outros lugares e outras técnicas...
Segue assim a dica:
Se esta pensando em fazer milhões de linhas no Windev
Esta indo pelo caminho errado!
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/Message modifié, 30 avril 2016 - 20:29 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 30 avril 2016 - 20:46 |
Prezados
Vou explicar a necessidade desse código
Digamos que temos esse cenário:
sCurrentPrinter is string = iInfoPrinter()
sDefaultPrinter is string = iInfoPrinter(False)
sDriverUsadoImpressoraPadrao is string = iInfoPrinter(False,iDriverName)
sNomeImpressoraPadrao is string = iInfoPrinter(False,iPrinterName)
sPortaImpressoraPadrao is string = iInfoPrinter(False,iDeviceName)
sListaTodasImpressorasInstaladas is string = iListPrinter()
ok_situacao_01 is boolean = iConfigure("CutePDF Write", False)
IF ok_situacao_01 = True Info("Impressora foi alterada com sucesso no painel de controle") ELSE Info(ErrorInfo()) END
Gera o PDF e depois volta para a impressora HP Color Laserjet 1600
ok_situacao_01 is boolean = iConfigure("HP Color Laserjet 1600", False)
IF ok_situacao_01 = True Info("Impressora foi alterada com sucesso no painel de controle") ELSE Info(ErrorInfo()) END
Assim tem absoluta certeza qual impressora/dispositivo será usada pela sua aplicação e assim você vai ter o relatório impresso ou pdf gerado com sucesso e total controle via código.
Estarei complementando esse post com novidades sobre o assunto.
Qualquer dúvida entre em contato.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/Message modifié, 30 avril 2016 - 20:53 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 30 avril 2016 - 21:18 |
Prezados
Caso agora você queira ter antes de imprimir mudar totalmente as configurações de tamanho de papel se vai ou não ser colorida a impressão existe também um comando muito interessante que esta presente na versão 20/21:
Escolhendo a opção WIZARD do droplist vai aparecer essa tela:
Próxima tela:
Próxima tela:
Próxima tela:
Próxima tela:
Próxima tela:
Próxima tela:
Próxima tela:
Próxima tela:
Com a ajuda do wizard do comando iParameter o Windev entrega certo o seu código para ser usado em sua aplicação:
iParameter(iPrinterDefault, False)
iParameter(iOrientation, iOrientation_Portrait)
iParameter(iPaperSource, "15")
iParameter(iDuplex, iDuplex_Simple)
iParameter(iYResolution, 600)
iParameter(iTrueType, iTrueType_Subdev)
iParameter(iCopies, 1)
iParameter(iColor, iColor_Mono)
iParameter(iPaperSize, iPaperSize_A4)
Parece Mágica... Mas é pura tecnologia!... rssss....
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/Message modifié, 30 avril 2016 - 21:22 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 30 avril 2016 - 23:44 |
Prezados,
Sobre o registro do Windows:
HKEY_LOCAL_MACHINE Config 0001 System CurrentControlSet Control Print Printers
Para ler:
Impressora is string = "" Name is string = "" Port is string = "" sPrinterDriver is string = "" printMediaReady is string = "" printMediaSupported is string = "" printOrientationsSupported is string = "" serverName is string = "" shortServerName is string = "" uNCName is string = ""
Raiz is string = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers"
ResExist is boolean = RegistryExist(Raiz)
IF ResExist = True THEN Key is string = Raiz Key = RegistryFirstSubKey(Key) Impressora = Key Name = RegistryQueryValue(Key,"Name",True) Port = RegistryQueryValue(Key,"Port",True) Key = RegistryFirstSubKey(Key) printMediaReady = RegistryQueryValue(Key,"printMediaReady",True) printMediaSupported = RegistryQueryValue(Key,"printMediaSupported",True) printOrientationsSupported = RegistryQueryValue(Key,"printOrientationsSupported",True) Key = Impressora+"\DsSpooler" serverName = RegistryQueryValue(Key,"serverName",True) shortServerName = RegistryQueryValue(Key,"shortServerName",True) uNCName = RegistryQueryValue(Key,"uNCName",True) EDT_Impressoras += Name +" - "+ Port +" - "+ printMediaReady +" - "+ printMediaSupported +" - "+ serverName +" - "+ shortServerName +" - "+ uNCName +" - "+ printOrientationsSupported END
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 01 mai 2016 - 00:14 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 02 mai 2016 - 22:49 |
Prezados,
O comando correto seria:
ireportprintigstatus
Retorna o status da impressão atual.
Esta função deve ser utilizado no código de fecho do relatório.
Se a função retornar 0, algo está sendo impresso na impressora ,isso é para a current printer (impressora atual)
http://help.windev.com/en-US/…
SWITCH iReportPrintingStatus() CASE -2: Trace("Print canceled") CASE 0: Trace("Print in progress") CASE 1: Trace("Empty report: no data to print") END
Obrigado Pedrosão e Mello pela dica.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 02 mai 2016 - 22:56 |
PREZADOS,
IMPRESSAO EM IMPRESSORA MATRICIAL
iPrint (Função) = LINEPRINT DO CLARION (DICA DO PEDROSAO)
Envia a cadeia de caracteres passada em parâmetro para o buffer de impressão.
Uma quebra de linha é automaticamente inserido no fim da cadeia: o cursor estiver posicionado na linha seguinte. A mudança para a próxima linha leva em conta a altura da linha atual (em relação à fonte utilizada). A impressão não é iniciado (somente iEndPrinting pode ser usado para iniciar a impressão).
notas :
Para imprimir uma cadeia de caracteres sem ir para a próxima linha, use iPrintWord . iPrint não deve ser usado no código de um relatório sobre a abertura. Esta função está agora disponível em Universal Windows 10 modo de App.
Exemplo
iPrint ( iFont ( 2 ) + "Texto em fonte 2" ) iSkipPage ( )
iPrint ( iXPos ( 50 ) + Cu . CustName ) iEndPrinting ( )
OU
s_texto mais string = "--------------------------------" + CR s_texto + = "Dados do Banco "+ CR s_texto + =" AGENCIA: ____________ "+ CR s_texto + =" CONTA NUEMRO: ____________ "+ CR s_texto + =" Convenção: ____________ "+ CR s_texto + =" carteira: _____________ "+ CR s_texto + =" ------- ---------------------------------- "+ CR s_texto + =" dados da empresa "+ CR s_texto + =" CNPJ : _______________ "+ CR s_texto + =" raça social: ____________________________ "+ CR s_texto + =" NOME CONTATO: _____________ _____________ "+ CR s_texto + =" TELEFNE CONTATO: _____________ _____________ "+ CR s_texto + =" EMAIL CONTATO: _____________ _____________ "+ CR s_texto + = "-----------------------------------------" + CR s_texto + = "GERENTE responsavel BANCO "+ CR s_texto + =" NOME GERENTE: _______________ "+ CR s_texto + =" telefone: ____________________ "+ CR s_texto + =" EMAIL HOMOGACAO: ____________________ "+ CR s_texto + =" SITE HOMOLOGACAO: ____________________ "+ CR iPreview (ipvZoom100) iPrint (iFont (1) + s_texto) iEndPrinting ()
Sintaxe
<Result> = iPrint (<texto para Imprimir> [, <string na Próxima Página>])
<Resultado>: booleana
Verdadeiro se a impressão foi realizada, False se a impressão foi cancelada.
<Texto para Imprimir>: Sequência de caracteres (com aspas)
cadeia de caracteres para imprimir, bem como suas características. Este parâmetro tem o seguinte formato: [<Identificador de fonte> +] [<Posição Vertical> +] [<Horizontal Posição> +] <Text1> ... [<font Identificador> +] [<Posição Vertical> +] [<Horizontal Posição> +] <TextN >
Onde:
<Font Identificador>:. Inteiro opcional identificador da fonte usada para imprimir o texto. Este identificador é retornado por IFont . Se este parâmetro não for especificado, a última fonte usada será selecionada. <Vertical Position>:. Inteiro opcional Y coordenadas do ponto onde a impressão deve ser realizada. Esta posição é especificada no número de linhas a partir da borda superior esquerdo da folha (com iYPos ). Se este parâmetro não for especificado, o texto será impresso na posição atual. <Posição Horizontal>:. Inteiro opcional coordenada X do ponto onde a impressão deve ser realizada. Esta posição é especificado em número de colunas a partir da borda superior esquerdo da folha (com iXPos ). Se este parâmetro não for especificado, o texto será impresso na posição atual. <Text>:. Sequência de caracteres com aspas cadeia de caracteres a imprimir.
Exemplo:
Text_to_print = "primeira parte" + iFont ( 1 ) + "segunda parte"
<String na Próxima Página>: boolean Opcional
Especifica se o texto impresso no final da página deve ser truncado ou se deve continuar ao longo da próxima página:
Verdadeiro (valor padrão): o texto será impresso na página seguinte, se ele não se encaixa em uma única página. Falso : a cadeia de caracteres é truncada: o resto da cadeia não é impresso na página seguinte.
Observações
Características da impressão
A origem (0,0) está localizado no canto superior esquerdo da folha. Leva as margens físicas da impressora em conta. A posição vertical atual ao imprimir um pontos cadeia de caracteres para a parte superior da cadeia. A posição inferior depende da altura das fontes usadas na linha de impressão. Você pode especificar várias fontes e várias posições como parâmetros em uma única chamada para iPrint . Por exemplo:
iPrint ( iXPos ( 50 ) + CU . LASTNAME + iXPos ( 150 ) + CU . FIRSTNAME )
O personagem que corresponde a uma quebra de linha (Char (10)) é interpretado como uma linha de pular.
combinando fontes Resultados inesperados podem ocorrer quando se combina fontes. Por exemplo, o seguinte código:
iFont ( 2 ) iPrint ( "primeira parte" + iFont ( 1 ) + "Segunda Parte" )
não é equivalente a:
iPrint ( iFont ( 2 ) + "Primeira Parte" + iFont ( 1 ) + "Segunda Parte" )
No primeiro caso, toda a cadeia de caracteres é impresso em fonte 1. Com efeito, neste caso, IFont (1) é executado quando a construção da cadeia para imprimir e, portanto, antes da string "Primeira Parte" é impresso.
Para obter um resultado idêntico, tudo que você tem a fazer é usar IFont com o falso parâmetro: IFont (1, False) será realmente executado durante a impressão.
combinando posições Ao combinar posições, podem ocorrer resultados inesperados. Por exemplo, o seguinte código:
iXPos ( 50 ) iPrint ( "primeira parte" + iPrint ( 30 ) + "Segunda Parte" )
não é equivalente a:
iPrint ( iXPos ( 50 ) + "primeira parte" + iXPos ( 30 ) + "segunda parte" )
No primeiro caso, toda a cadeia de caracteres é impressa na posição horizontal 30. Com efeito, neste caso, iXPos (30) é executado quando a construção da cadeia para imprimir e, portanto, antes da string "Primeira Parte" é impresso.
Para obter um resultado idêntico, tudo que você tem a fazer é usar iXPos com o falso parâmetro: iXPos (30, False) será realmente executado durante a impressão.
A mesma operação pode ser executada por iYPos .
Android Widget Java
Impressão em Java e Android A impressão pode ser menos precisa, porque a resolução de impressão está definido para 72 pontos por polegada (dpi), mesmo que a impressora suporta resoluções mais altas.
Consequência : Os cálculos de pontos em imagens e em desenhos (linhas, por exemplo) são arredondados durante os cálculos de posição durante a impressão, especialmente para valores pequenos. Durante a impressão, os cálculos são executados no ponto (de acordo com a resolução de impressão) em vez de mm (ou cm).
Exemplo: Impressão linhas : Se o espaçamento entre as linhas é ajustado para 0,5 mm, quantos pontos vai ser encontrado entre cada linha (resolução ajustada a 72 ppp)?
A primeira linha é posicionado a 0,5 mm o que significa (0,5 / 25,4) polegadas com uma resolução de 72 pontos por polegada (ppp): (0,5 / 25,4) x 72 = 1,42 ponto. O ponto sendo a unidade de base, que não pode ser dividida: o resultado é automaticamente arredondado para um ponto inferior ou superior de acordo com o caso.
Esta é uma sucessão de linhas impressas com um espaçamento definido para 05 milímetros:
0,5 mm -> (1,42) 1 ponto 1.0 mm -> (2,84) 3 pontos 1,5 mm -> (4.25) 4 pontos. Atenção: a linha encontrada em 1,5 mm é preso à linha encontrada em 1 mm (sem espaçamento entre essas duas linhas) 2,0 mm (5,67 ->) 6 pontos 2,5 mm -> (7,09) 7 pontos. Atenção: a linha encontrada em 2,5 mm é preso à linha encontrada em 2 mm (sem espaçamento entre essas duas linhas) 3,0 mm -> (8,50) 9 pontos 3,5 mm -> (9,92) 10 pontos. Atenção: a linha encontrada em 3,5 mm é preso à linha encontrada em 3 mm (sem espaçamento entre essas duas linhas) 4,0 mm -> (11.33) 11 pontos. Atenção: a linha encontrada em 4 mm é preso à linha encontrada em 3,5 mm (sem espaçamento entre essas duas linhas) etc.
Para obter uma representação exacta (sem arredondamento) , o tamanho e / ou a posição em mm para uma resolução ajustada a 72 ppp deve ser um múltiplo de 127/360.
1 ponto -> (1/72) polegadas -> (1/72) x 25,4 mm = 127/360 = 0.3527778 mm
Muito obrigado Pedroso, Mello e Amarildo.
BONS ESTUDOS
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 02 mai 2016 - 23:11 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 02 mai 2016 - 23:09 |
COMANDOS CHR DE IMPRESSAO MATRICIAL
CONDENSADO: chr(27)&chr(15) CONDENSADO: CHR(15) DESLIGA CONDENSADO: chr(8) Normal: CHR(18)&CHR(27)&CHR(107)&CHR(0) COMPRIMIDA: CHR(15)&CHR(27)&CHR(107)&CHR(0) EXPANDIDO: chr(27)&chr(14) DESLIGA EXPANDIDO: chr(20) NEGRITO: chr(27)&chr(69) DESLIGAR NEGRITO: chr(27)&chr(70) ITALICO: chr(27)&chr(52) DESLIGAR ITALICO: chr(27)&chr(53) MUDAR DE PÁGINA: CHR(012)
Canon BJ-200 = Citizen 200 GX = Emília PC = Rima 180/220
Imprimir Normal CHR(18) Imprimir Comprimido CHR(27)+CHR(15) Imprimir Super Comprimido CHR(30)+'5'
Deskjet HP 500C
Imprimir Normal CHR(27)+CHR(40)+CHR(115)+"8"+CHR(72)+CHR(27)+CHR(38)+ CHR(108)+"5"+CHR(68)+CHR(27)+CHR(38)+CHR(108)+"66"+CHR(80) Imprimir Comprimido CHR(27)+CHR(40)+CHR(115)+"16.67"+CHR(72)+CHR(27)+ CHR(38)+CHR(108)+"8"+CHR(68)+CHR(27)+CHR(38)+CHR(108)+"90"+CHR(80) Imprimir Super Comprimido CHR(27)+CHR(40)+CHR(115)+"23"+CHR(72)+CHR(27)+CHR(38)+ CHR(108)+"10"+CHR(68)+CHR(27)+CHR(38)+CHR(108)+"90"+CHR(80)
Epson FX/MX/LQ = Epson 2000
Imprimir Normal CHR(18) Imprimir Comprimido CHR(27)+CHR(15) Imprimir Super Comprimido CHR(15)+CHR(27)+'M'
Epson Stylus (Esc/P2)
Imprimir Normal CHR(18) Imprimir Comprimido CHR(27)+CHR(15) Imprimir Super Comprimido CHR(27)+CHR(15)+""+CHR(27)+CHR(77)
ExecJet - Lexmark
Imprimir Normal CHR(27)+CHR(38)+CHR(107)+CHR(52)+CHR(83)+CHR(27)+CHR(38)+ CHR(108)+"5"+CHR(68)+CHR(27)+CHR(38)+CHR(108)+"66"+CHR(80) Imprimir Comprimido CHR(27)+CHR(38)+CHR(107)+CHR(50)+CHR(83)+CHR(27)+CHR(38)+ CHR(108)+"8"+CHR(68)+CHR(27)+CHR(38)+CHR(108)+"90"+CHR(80) Imprimir Super Comprimido CHR(27)+CHR(40)+CHR(115)+"23"+CHR(72)+CHR(27)+CHR(38)+CHR(108)+ "10"+CHR(68)+CHR(27)+CHR(38)+CHR(108)+"90"+CHR(80)
Deskjet HP = Laserjet II = Laserjet III
Imprimir Normal CHR(27)+CHR(40)+CHR(115)+"8"+CHR(72) Imprimir Comprimido CHR(27)+CHR(40)+CHR(115)+"16.67"+CHR(72) Imprimir Super Comprimido CHR(27)+CHR(40)+CHR(115)+"23"+CHR(72)
oBS.: Comandos Especiais - Matricial Epson Compatível - Quase todos os comandos!
O valor de n é a soma dos valores correspondentes ao efeito da combinação desejada, os valores que você deve somar para obter o efeito combo são os seguintes:
10 cpi = 0 12 cpi = 1 Condensado = 4 Negrito = 8 Duplo-passe = 16 Tamanho duplo = 32 Itálico = 64 Sublinhado = 128
Espaçamento de linha
1/8" CHR(27)+"0" 7/72" CHR(27)+"1" 1/6" CHR(27)+"2" n/216" CHR(27)+"3"+n n/72" CHR(27)+"A"+n Tamanho dos Caracteres
10 cpi CHR(27)+"P" 12 cpi CHR(27)+"M"
Ativar Condensado CHR(27)+CHR(15) Desativar Condensado CHR(18) Tamanho Duplo (uma linha) CHR(27)+CHR(14) Cancelar Tamanho Duplo (uma linha) CHR(20) Ativar tamanho Duplo CHR(27)+"W"+"1" Destivar tamanho Duplo CHR(27)+"W"+"0"
Melhoramento de Impressão
Ativar Negrito CHR(27)+"E" Desativar Negrito CHR(27)+"F" Ativar passada dupla CHR(27)+"G" Desativar passada dupla CHR(27)+"H" Ativar Sobre-Escrito CHR(27)+CHR(83)+"0" Ativar Sub-Escrito CHR(27)+CHR(83)+"1" Desativar Sobre/Sub-Escrito CHR(27)+"T" Ativar Itálico CHR(27)+"4" Desativar Itálico CHR(27)+"5" Ativar sublinhado CHR(27)+CHR(45)+"1" Desativar sublinhado CHR(27)+CHR(45)+"0" Sobreposição dos estilos de impressão Impressão em Draft (+rápida) CHR(27)+"x0" Impressão em NLQ (+Trabalhada) CHR(27)+"x1" Seleciona a fonte Roman (Só NLQ) CHR(27)+"k0" Seleciona a fonte Sans Serif (Só NLQ) CHR(27)+"k1" Seleção Master (combo) CHR(27)+CHR(33)+"n"
Estamos enviando a lista dos principais comandos tipo ESC/P2 para serem utilizando com as impressoras Epson.
Usando o sumário de comandos
Sua impressora utiliza a linguagem de controle ESC/P (Epson Standard Code for Printers) e comandos de emulação IBM. As seções seguintes listam e descrevem todos os comandos disponíveis nos modos ESC/P e emulação IBM e estão catalogados por tópicos. Se um comando possuir parâmetros, esses são detalhados. Os parâmetros são indicados por letras minúsculas, usualmente 'n'.
Abaixo temos alguns exemplos:
ESC @ é um comando sem parâmetros. ESC U 1/O é um comando que usa 1 para ativar a função e 0 para desativa-la. ESC $ n1 n2 é um comando com dois parâmetros ESC D nn é um comando com um número variável de parâmetros.
Comandos ESC/P arranjados por tópicos
Operação da impressora ASCII Dec. Hex. Descrição
ESC @ 64 40 Inicializa a impressora DC1 17 11 Seleciona a impressora DC3 19 13 Deseleciona a impressora ESC s 1/0 115 73 Ativa/cancela o modo Half Speed ESC < 60 3C Seleciona o modo Unidirecional (uma linha) ESC U 1/0 85 55 Ativa/Cancela o modo Unidirecional ESC 8 56 38 Desabilita a detecção DO fim DO papel ESC 9 57 39 Habilita a detecção DO fim DO papel ESC = 61 3D Ativa MSB para 0 ESC > 62 3E Ativa MSB para 1 ESC # 35 23 Cancela o controle MSB BEL 7 07 Impressora emite um apito
Controle de dados ASCII Dec. Hex. Descrição
CR 13 0D Retorno DO carro CAN 24 18 Cancela a linha DEL 127 7F Apaga o caractères
Movimentação vertical ASCII Dec. Hex. Descrição
FF 12 0C Alimentação de página ESC C n 67 43 Define o comprimento da página em linhas n= número de linhas (1 a 127) ESC C 0 n 67 43 Define o comprimento da página em polegadas n=número de polegadas (1 a 22) ESC N n 78 4E Define o salto sobre o picotado n=número de linhas (1 a 127) ESC O 79 4F Cancela o salto sobre o picotado LF 10 OA Alimentação de linha ESC 0 48 30 Seleciona espaçamento de linha de 1/8 polegada ESC 1 49 31 Seleciona espaçamento de linha de 7/72 polegada ESC 2 50 32 Seleciona espaçamento de linha de 1/6 polegada ESC 3 n 51 33 Seleciona espaçamento de linha de n/216 polegada (n=0 a 255) ESC A n 65 41 Seleciona espaçamento de linha de n/72 polegada (n = 0-85) ESC J n 74 4A Executa alimentação de linha n/216 polegada n=0-255 VT 11 0B Executa tabulação vertical
ESC B nn 66 42 Define tabulação vertical até 16 tabs (1-255) na ordem crescente; o último parâmetro dever é 0. ESC B 0 limpa todas as tabulações definidas. ESC / c 47 2F Seleciona o canal de tabulação vertical c=canal (0-7)
Movimentação horizontal ASCII Dec. Hex. Descrição
ESC 1 n 108 6C Define a margem esquerda n=coluna da margem esquerda ESC Q n 81 51 Define a margem direita n=coluna da margem direita BS 8 08 Retrocesso DO carro ESC $ n1n2 36 24 Define a posição horizontal absoluta de impressão n=(n1 + n2 x 256)/60 polegadas n: especifica a posição de impressão como n/60 polegadas da margem esquerda. ESC \ n1n2 92 5C Define a posição horizontal relativa de impressão n=(n1 + n2 x 256)/120 polegadas. n: Move a posição atual de impressão por n/120 polegadas. Se a movimentação for para a esquerda, subtraia de 65536. HT 9 09 Tabulação horizontal ESC D nn 68 44 Define a tabulação horizontal até 32 tabs (1-255) na ordem crescente; o último parâmetro deve é 0. ESC D limpa todas tabulações anteriormente definidas.
Estilos de impressão ASCII Dec. Hex. Descrição
ESC x n 120 78 Seleciona o modo Near Letter Quality OU Draft n=0: modo Draft 1: modo Near Letter Quality (NLQ) ESC k n 107 6B Seleciona família de fontes n=0: Roman 1: Sans serif ESC ! n 33 21 Master Select Para achar o valor de n, adicione os números de tipos/estilos que se deseja combinar. n= 0: 10 pitch 4:17 pitch 1: 12 pitch 5: 20 pitch 2: proporcional 4: condensado 8: enfatizado ESC g: 15 pitch 16: batida dupla 32: largura dupla 64: itálico 128: sublinhado
Tamanho e densidade do caractere ASCII Dec. Hex. Descrição
ESC P 80 50 Seleciona 10 cpp ESC M 77 4D Seleciona 12 cpp ESC p 1/0 112 70 Ativa/Cancela modo proporcional SI 15 0F Seleciona o modo condensado ESC SI 15 0F Seleciona o modo condensado DC2 18 12 Cancela mo modo condensado SO 14 0E Seleciona o modo largura dupla (uma linha) ESC SO 14 0E Seleciona o modo largura dupla (uma linha) DC4 20 14 Cancela o modo largura dupla (uma linha) ESC W 1/0 87 57 Ativa/Cancela o modo largura dupla ESC w 1/0 119 77 Ativa/Cancela o modo altura dupla
Impressão realçada ASCII Dec. Hex. Descrição
ESC E 69 45 Seleciona o modo enfatizado ESC F 70 46 Cancela o modo enfatizado ESC G 71 47 Seleciona o modo batida dupla ESC H 72 48 Cancela o modo batida dupla ESC S 0 83 53 Seleciona o modo Sobrescrito ESC S 1 83 53 Seleciona o modo Subescrito ESC T 84 54 Cancela o modo Sobrescrito/subescrito ESC 4 52 34 Seleciona o modo itálico ESC 5 53 35 Cancela o modo itálico ESC - 1/0 45 2D Ativa/Cancela o modo sublinhado
Processamento de textos ASCII Dec. Hex. Descrição
ESC a n 97 61 Seleciona justificação n= 0: à esquerda 1: centro 2: à direita 3: total ESC SP n 32 20 Seleciona o espaço entre caractère n= 1/120 polegada (0-127) somado No lado direito de cada caractère
Tabelas de caractères ASCII Dec. Hex. Descrição [code:wl] ESC t n 116 74 Seleciona a tabela de caractères Seleciona a tabela de caractères n definida por ESC ( t n = 0, 1, 48 OU 49 ESC R n 82 52 Seleciona uma tabela de caractères internacional n = 0: EUA 7: Espanha 1 1: França 8: Japão 2: Alemanha 9: Noruega 3: Reino Unido 10: Dinamarca II 4: Dinamarca I 11: Espanha II 5: Suécia 12: América Latina 6: Itália ESC 6 54 36 Habilita caractères imprimíveis Habilita a impressão dos códigos decimais de 128 a 159 como caractères ESC 7 55 37 Habilita os códigos de controle superiores Cancela com ESC 6 ESC ( t nn 40 116 28 74 Define a tabela de caractères ESC (t 3 0 d1 d2 d3 define tabela de caractères com d2 e d3 para tabela registrada por ESC t d1=0: Define a tabela selecionada por ESC t 0 d1=1: Define a tabela selecionada por ESC t 1 d2 d3 Tabela de caractère 0 0 itálica 1 0 PC 437 (EUA) 1 16 PC 437 (GRÉCIA)* 3 0 PC 850 (MULTILINGUAL) 4 0 PC 851 (GRÉCIA)* 5 0 PC 853 (TURQUIA)* 6 0 PC 855 (CIRÍLICO)* 7 0 PC 860 (PORTUGUÊS) 8 0 PC 863 (CANADÁ-FRANÇA) 9 0 PC 865 (NORUEGA) 10 0 PC 852 (LESTE EUROPEU) 11 0 PC 857 (TURQUIA)* 14 0 PC 866 (RÚSSIA)* 15 0 PC 869 (GRÉCIA)* 16 0 USSR GOST* 24 0 PC 861 (ISLÂNDIA)* 25 0 BRASCII (BRASIL)** 26 0 ABICOMP (BRASIL)**
* Essas tabelas de caracteres estão disponíveis somente para Europa. ** Essas tabelas de caracteres estão disponíveis somente para Norte/Sul América.
Caracteres definidos pelo usuário ASCII Dec. Hex. Descrição
ESC & nn 38 26 caractères definidos pelo usuário ESC & 0 n1 n2 a1 Data n1=código ASCII para o primeiro caractère n2=código ASCII para o segundo caractère a1=byte de atributo que especifica a largura DO caractère e a os pinos à serem utilizados. Data:bytes de dados ESC : 0 n 0 58 3A Cópia da ROM para RAM n = 0: Roman 1: Sans Serif ESC % n 37 25 Seleciona conjunto definido pelo usuário n = 0: Normal n = 1: Definido pelo usuário ESC I n 73 49 Expansão da área de códigos imprimíveis códigos decimais de 0 a 31 e 128 a 159 n = 0: esses códigos não são impressos 1: imprime códigos de controle como Caract.
Seleção de Cores de Impressão (texto) ASCII Dec. Hex. Descrição
ESC r n 114 72 Seleciona a cor da impressão de acordo com a tabela abaixo: n Cor 0 Preto 1 Magenta 2 Ciano 3 Violeta 4 Amarelo 5 Vermelho 6 Verde
80 Colunas - 10 Cpi chr(27)+chr(33)+chr(0) 96 Colunas - 12 Cpi chr(27)+chr(33)+chr(1) 136 Colunas - 17 Cpi chr(27)+chr(33)+chr(4) 160 Colunas - 20 Cpi chr(27)+chr(33)+chr(5)
[ESC] 0 27 48 1/8" line spacing [ESC] 1 27 49 7/9" line spacing [ESC] 2 27 50 1/6" line spacing [ESC] 3 n 27 51 n n/216" line spacing [ESC] A n 27 65 n n/72" line spacing [ESC] T n 27 84 n n/216" line feed [ESC] C n 27 67 n Page Length (n = No. of lines) [ESC] C 0 n 27 67 48 n Page Length (n = No. of inches) [ESC] N n 27 78 n Perforation skip (n = No. of lines) [ESC] 0 27 48 Cancel peforation skip [ESC] D n n n n 27 68 Set TAB stops to n n n n [ESC] B n n n n 27 66 Set vertical TAB stops to n n n n [ESC] Q n 27 81 n Set Right margin [ESC] l n 27 108 n Set Left margin [BEL] 7 Sound bell [B 8 Backspace [HT] 9 Horizontal TAB [LF] 10 Line Feed [VT] 11 Vertical TAB [FF] 12 Form Feed (new page) [CR] 13 Carriage RETURN [DC1] 17 Printer Enable [DC3] 19 Printer Disable [CAN] 24 Cancel last line [DEL] 127 Delete last character [ESC] < 27 60 Home Print head [ESC] U 1 27 85 49 Undirectional printing on [ESC] U 0 27 85 48 Undirectional printing off [ESC] s 1 27 115 49 Half speed printing on [ESC] s 1 27 114 48 Half speed printing off [ESC] 8 27 56 Ignore paper empty [ESC] 9 27 57 Cancel ignore paper empty [ESC] K n1 n2 27 75 n1 n2 Single density graphics No. of Data = n2 * 256 + n1 [ESC] L n1 n2 27 76 n1 n2 Double density graphics No. of Data = n2 * 256 + n1 [ESC] Y n1 n2 27 89 n1 n2 Double speed, Double density graphics. [ESC] Z n1 n2 27 90 n1 n2 Quad density graphics [ESC] * m n1 n2 27 42 m n1 n2 8 dot graphics modes, m = mode [ESC] ? n m 27 63 n m Change graphics mode n to work as m. n is K, L, Y, OR Z [ESC] & 0 n m a p1 ...
From a DOS batch file you can often send codes to a printer using ECHO commands which have been entered using EDIT. This could be to a local printer or captured to a network printer, eg:
ECHO ~x1~M > LPT1: to put the printer into NLQ elite pitch.
where ~ is the [ESC] character which in edit can be entered with Control P then Control [ and shows as an arrow pointing to the left.
Note in Windows 2000 and XP the & symbol is used to run two or more commands from the same command line therefore if an & symbol is required you need to add a ^ before it to pass the & symbol directly rather than Windows interpreting it. Another alternative is to add the codes to a text file using EDIT then sending the text file to the printer with a line such as:
COPY textfile.txt LPT1: or COPY textfile.txt \\server\share or TYPE textfile.txt > LPT1: or PRINT textfile.txt or NPRINT textfile.txt (for Novell systems)
From a simple DOS based BASIC such as Quick Basic 4.5 (QB45) you can send codes in a number of ways. The easiest is to assign some codes to variables and use those in print # or lprint statements to the printer port. You use the chr$() function to send unprintable codes such as Escape and Form Feed or those difficult to enter such as the double quote " which is chr$(34) i.e.:
esc$=CHR$(27) boldon$=esc$+"E" boldoff$=esc$+"F" formfeed$=chr$(12)
filenum=FREEFILE OPEN "lpt1:" FOR OUTPUT AS filenum PRINT #filenum, boldon$ + "This is in bold" + boldoff$ CLOSE #filenum
LPRINT boldon$ + "This is in bold" + boldoff$
[ESC] is ascii 27, Control [. Enter in EDIT using Control P, Control [.
Oct Dec Hex Control-key Control Action
NUL 0 0 0 ^@ Null character SOH 1 1 1 ^A Start of heading, = console interrupt STX 2 2 2 ^B Start of text, maintenance mode on HP console ETX 3 3 3 ^C END of text EOT 4 4 4 ^D END of transmission, not the same as ETB ENQ 5 5 5 ^E Enquiry, goes with ACK; old HP flow control ACK 6 6 6 ^F Acknowledge, clears ENQ logon hang BEL 7 7 7 ^G Bell, rings the bell BS 10 8 8 ^H Backspace, works on HP terminals/computers HT 11 9 9 ^I Horizontal TAB, Move to next TAB STOP LF 12 10 a ^J Line Feed VT 13 11 b ^K Vertical TAB FF 14 12 c ^L Form Feed, page eject CR 15 13 d ^M Carriage RETURN SO 16 14 e ^N Shift Out, alternate character set SI 17 15 f ^O Shift IN, resume Default character set DLE 20 16 10 ^P Data Link escape DC1 21 17 11 ^Q XON, with XOFF to pause listings; "okay to send" DC2 22 18 12 ^R Device control 2, block-mode flow control DC3 23 19 13 ^S XOFF, with XON is TERM=18 flow control DC4 24 20 14 ^T Device control 4 NAK 25 21 15 ^U Negative acknowledge SYN 26 22 16 ^V Synchronous idle ETB 27 23 17 ^W END transmission block, not the same as EOT CAN 30 24 18 ^X Cancel line, MPE echoes !!! EM 31 25 19 ^Y END of medium, Control-Y interrupt SUB 32 26 1a ^Z Substitute ESC 33 27 1b ^[ Escape, next character is not echoed FS 34 28 1c ^\ File separator GS 35 29 1d ^] Group separator RS 36 30 1e ^^ Record separator, block-mode terminator US 37 31 1f ^_ Unit separator
Printing Characters
Char Octal Dec Hex DescriptionSP 40 32 20 Space ! 41 33 21 Exclamation mark " 42 34 22 Quotation mark (" in HTML)# 43 35 23 Cross hatch (number sign)$ 44 36 24 Dollar sign% 45 37 25 Percent sign& 46 38 26 Ampersand' 47 39 27 Closing single quote (apostrophe)( 50 40 28 Opening parentheses) 51 41 29 Closing parentheses* 52 42 2a Asterisk (star, multiply)+ 53 43 2b Plus, 54 44 2c Comma- 55 45 2d Hypen, dash, minus. 56 46 2e Period/ 57 47 2f Slant (forward slash, divide)0 60 48 30 Zero 1 61 49 31 One2 62 50 32 Two3 63 51 33 Three4 64 52 34 Four5 65 53 35 Five6 66 54 36 Six7 67 55 37 Seven8 70 56 38 Eight9 71 57 39 Nine: 72 58 3a Colon; 73 59 3b Semicolon< 74 60 3c Less than sign (< in HTML)= 75 61 3d Equals sign 76 62 3e Greater than sign (> in HTML)? 77 63 3f Question mark@ 100 64 40 At-signA 101 65 41 Uppercase AB 102 66 42 Uppercase BC 103 67 43 Uppercase CD 104 68 44 Uppercase DE 105 69 45 Uppercase EF 106 70 46 Uppercase FG 107 71 47 Uppercase GH 110 72 48 Uppercase HI 111 73 49 Uppercase IJ 112 74 4a Uppercase JK 113 75 4b Uppercase KL 114 76 4c Uppercase LM 115 77 4d Uppercase MN 116 78 4e Uppercase NO 117 79 4f Uppercase OP 120 80 50 Uppercase PQ 121 81 51 Uppercase QR 122 82 52 Uppercase RS 123 83 53 Uppercase ST 124 84 54 Uppercase TU 125 85 55 Uppercase UV 126 86 56 Uppercase VW 127 87 57 Uppercase WX 130 88 58 Uppercase XY 131 89 59 Uppercase YZ 132 90 5a Uppercase Z[ 133 91 5b Opening square bracket\ 134 92 5c Reverse slant (Backslash)] 135 93 5d Closing square bracket^ 136 94 5e Caret (Circumflex)_ 137 95 5f Underscore` 140 96 60 Opening single quotea 141 97 61 Lowercase ab 142 98 62 Lowercase bc 143 99 63 Lowercase cd 144 100 64 Lowercase de 145 101 65 Lowercase ef 146 102 66 Lowercase fg 147 103 67 Lowercase gh 150 104 68 Lowercase hi 151 105 69 Lowercase ij 152 106 6a Lowercase jk 153 107 6b Lowercase kl 154 108 6c Lowercase lm 155 109 6d Lowercase mn 156 110 6e Lowercase no 157 111 6f Lowercase op 160 112 70 Lowercase pq 161 113 71 Lowercase qr 162 114 72 Lowercase rs 163 115 73 Lowercase st 164 116 74 Lowercase tu 165 117 75 Lowercase uv 166 118 76 Lowercase vw 167 119 77 Lowercase wx 170 120 78 Lowercase xy 171 121 79 Lowercase yz 172 122 7a Lowercase z{ 173 123 7b Opening curly brace 174 124 7c Vertical line } 175 125 7d Closing curly brace~ 176 126 7e Tilde (approximate)DEL 177 127 7f Delete (rubout), cross-hatch box
Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 02 mai 2016 - 23:25 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 03 mai 2016 - 21:01 |
DEBATE SOBRE O ASSUNTO:
http://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/54665-api-winspool-drv-statut-imprimante/read.awp
Si l'utilisation de dotnet n'est pas un obstacle voici une autre méthode pour récupérer des infos imprimante avec Windev : En utilisant WMI avec assemblage DotNet Pour utiliser cela dans votre projet il vous faut : 1 - Utiliser l'assemblage .NET "System.Management" : Menu Atelier/.NET/Utiliser Un Assemblage .NET dans ce projet Dans la fenêtre qui s'ouvre cliquer sur "Lister les assemblages référencés" Quand la recherche est terminée cocher "Mscorlib" et "System.Management" 2 - Récupérer la collection de procédure pWMI.wdg qui se trouve dans l'exemple complet WD WMI DOTNET et l'inclure dans votre projet Rajouter la procédure suivante dans votre collection pWMI.wdg
Procedure RécupèreInfoImprimante()
sChaineRetour est une chaîne sListeInfo est une chaîne sUneInformation est une chaîne
sListeInfo = RécupèreContenu("win32_Printer",gsServeur + "root\CIMV2")
POUR TOUTE CHAINE sUneInformation DE sListeInfo SEPAREE PAR RC+RC
sChaineRetour += "Imprimante : " + TrouveInformation(sUneInformation,"Caption") + RC +...
"Status : " + TrouveInformation(sUneInformation,"PrinterStatus") + RC +...
"WorkOffLine : " + TrouveInformation(sUneInformation,"WorkOffLine") + RC +... "=====================================================" + RC FIN
RENVOYER sChaineRetour
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 03 mai 2016 - 21:08 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 04 mai 2016 - 19:31 |
Prezado,
Para pegar a lista de impressoras e colocar em uma combo:
sPrinterList is string sPrinterList = iListPrinter() ListAdd(COMBO_BARprn,sPrinterList)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 06 mai 2016 - 03:41 |
Prezados,
No repositório da Pcsoft encontrei esse material qui que foi postado nesse link:
http://depot.pcsoft.fr/resource.awp…
SpoolPrinter
Publicado por dotNuts
O componente SpoolPrinter permite-lhe gerir o spool a impressora desejada. Ele também oferece a capacidade de adicionar nova impressora, ou para excluir. Você também tem a opção para conhecer a impressora padrão ou conjunto, ou se ela está pronta. Usando em seu projeto Windev.
http://depot.pcsoft.fr/download.awp…
Sendo recursos importantes e podendo abrir novas oportunidades de negócios.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 05 novembre 2019 - 02:16 |
********************************************************************* sCurrentPrinter is string = iInfoPrinter()
sDefaultPrinter is string = iInfoPrinter(False)
sDriverUsadoImpressoraPadrao is string = iInfoPrinter(False,iDriverName)
sNomeImpressoraPadrao is string = iInfoPrinter(False,iPrinterName)
sPortaImpressoraPadrao is string = iInfoPrinter(False,iDeviceName)
sListaTodasImpressorasInstaladas is string = iListPrinter()
ok_situacao_01 is boolean = iConfigure("HP1200", False)
IF ok_situacao_01 = True
Info("Impressora foi alterada com sucesso no painel de controle")
Info("Printer has been successfully changed on the control panel")
ELSE Info(ErrorInfo()) END
ok_situacao_02 is boolean = iConfigure("HP1200", True)
IF ok_situacao_02 = True
Info("Impressora foi alterada com sucesso somente enquanto tiver usando o aplicativo windev")
Info("Printer has been successfully changed only while you are using the WINDEV application")
ELSE Info(ErrorInfo()) END
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 05 novembre 2019 - 02:18 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 15 novembre 2021 - 20:51 |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|