Plataforma de Comunicação Elgin versão 3.13.9
Documentação das bibliotecas de integração com hardware Elgin
Etiqueta

Fornece as funções da DLL E1_Etiqueta, em Linguagem A (PPLA). Mais...

Módulos

 Configuração de Sistema
 Comandos de Configuração de Sistema (System Setting Commands) fornecem funções para configurar as propriedades relacionadas à impressora.
 
 Nível de Sistema
 Comandos de Nível de Sistema (System Level Commands) fornecem funções para configurar as propriedades relacionadas à impressão e ao ambiente das etiquetas.
 
 Formatação de Label
 Comandos de Formatação de Label (Label Formatting Commands) fornecem funções para configurar as propriedades de formatação da etiqueta, tais como margens (offsets), calor e velocidade de impressão.
 
 Campos da Etiqueta
 Fornece funções para criar os campos da etiqueta (Image Editing Commands).
 

Funções

int Limpa (int keepProps)
 Comando para limpar a etiqueta, isto é, remover todos os campos criados. Mais...
 
int Imprime (int tipo, const char *modelo, const char *conexao, int param)
 Abre conexão com a impressora, imprime a etiqueta, depois de configurá-la com as funções dos módulos Nível de Sistema, Formatação de Label e Campos da Etiqueta, e fecha a conexão. Mais...
 
int Reset (int tipo, const char *modelo, const char *conexao, int param)
 Aplica um reset na impressora. Mais...
 
char * Status (int tipo, const char *modelo, const char *conexao, int param)
 Retorna uma sequência de 8 bytes que descreve o status geral da impressora. Mais...
 
char * StatusEPL (int tipo, const char *modelo, const char *conexao, int param)
 Retorna o status imediato da impressora. Mais...
 
int Feed (int tipo, const char *modelo, const char *conexao, int param)
 Produz um efeito similar ao de pressionar o botão Feed da impressora. Mais...
 
int Teste (int tipo, const char *modelo, const char *conexao, int param)
 Faz uma impressão de teste. Mais...
 
char * MemoryStatus (int tipo, const char *modelo, const char *conexao, int param, int tipoDados)
 Exibe o status da memória da impressora: as imagens, as fontes ou os labels carregados e o espaço disponível em cada módulo (RAM e Flash). Mais...
 
int LimpaMemoria (int tipo, const char *modelo, const char *conexao, int param)
 Apaga o conteúdo carregado nos dois módulos da impressora (RAM e Flash). Mais...
 
int LimpaModulo (int tipo, const char *modelo, const char *conexao, int param, int modulo)
 Apaga o conteúdo carregado em um módulo específico da impressora (RAM ou Flash). Mais...
 
int EnviaImagem (int tipo, const char *modelo, const char *conexao, int param, int modulo, int formato, const char *nome, const char *arquivo)
 Envia uma imagem para a memória da impressora (RAM ou Flash). Mais...
 
int ExcluiImagem (int tipo, const char *modelo, const char *conexao, int param, int modulo, const char *nome)
 Exclui uma imagem enviada à memória da impressora. Mais...
 
char * GetVersaoDLL ()
 Retorna a versão da DLL E1_Etiqueta. Mais...
 
int * DirectIO (int tipo, const char *modelo, const char *conexao, int param, unsigned char *writeData, unsigned int writeNum, unsigned char *readData, unsigned int readNum)
 Envia comandos, em protocolo suportado pela impressora, direto para a porta de comunicação. Mais...
 
int DespejarArquivo (int tipo, const char *modelo, const char *conexao, int param, const char *caminho)
 Envia um arquivo com comandos, em protocolo suportado, para impressora, que irá executá-los. Mais...
 

Descrição detalhada

Fornece as funções da DLL E1_Etiqueta, em Linguagem A (PPLA).

Ao longo do documento, o termo propriedade(s) pode aparecer como sinônimo das configurações afetadas pelas funções dos grupos Configuração de Sistema, Nível de Sistema e/ou Formatação de Label.

O termo campo(s), bastante utilizado, se refere às imagens que uma etiqueta pode ter, como textos, linhas, figuras/gráficos (imagens propriamente ditas) e códigos de barras. Para facilitar a distinção entre imagem (propriamente dita) e seus sinônimos e imagens (elementos da etiqueta), foi adotado o termo campos para se referir à este último.

Convenções usadas nas chamadas das funções da biblioteca:
Windows

‍__stdcall

Linux

‍__cdecl

Funções

◆ Limpa()

int Limpa ( int  keepProps)

Comando para limpar a etiqueta, isto é, remover todos os campos criados.

Parâmetros
keepProps- Parâmetro do tipo numérico que define se as propriedades configuradas nos módulos Nível de Sistema e Formatação de Label devem ser mantidas ou não.

Valores válidos:
Valor Manter propriedades?
0 Não
1 Sim

Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ Imprime()

int Imprime ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param 
)

Abre conexão com a impressora, imprime a etiqueta, depois de configurá-la com as funções dos módulos Nível de Sistema, Formatação de Label e Campos da Etiqueta, e fecha a conexão.

Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ Reset()

int Reset ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param 
)

Aplica um reset na impressora.

Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ Status()

char * Status ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param 
)

Retorna uma sequência de 8 bytes que descreve o status geral da impressora.

Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

Retorna
O retorno da função é do tipo caractere.
A função bem-sucedida deve retornar XXXXXXXX, em que cada X, que será Y ou N, representa o estado da impressora em determinado critério, conforme relação abaixo:

Byte # Significado
1 Y = Firmware parser ocupado
N = Firmware parser inativo
2 Y = Sem papel
N = Papel instalado
3 Y = Sem ribbon
N = Ribbon instalado
4 Y = Imprimindo arquivo em lote
N = Outros
5 Y = Está imprimindo
N = Não está imprimindo
6 Y = Impressora está pausada
N = Impressora não está pausada
7 Y = Label está presente
N = Label não está presente
8 Sempre será N

◆ StatusEPL()

char * StatusEPL ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param 
)

Retorna o status imediato da impressora.

  • OBS: A impressora L42 não suporta esta função.
  • OBS: Diferentemente de todas as demais funções desta DLL, esta não pertence à PPLA mas sim, à EPL; dessa forma, é possível que alguns status não sejam retornados.
Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

Retorna
O retorno da função é do tipo caractere.
A função bem-sucedida deve retornar XX<CR><LF>, em que XX representa o status imediato da impressora, conforme relação abaixo, e CR e LF são os caracteres Carriage Return e Label Feed, respectivamente.

Retorno Significado
00 Sem erro
01 Erro de sintaxe
02 Objeto excedeu borda da etiqueta
03 Erro no número de caracteres do barcode
04 Memória insuficiente para armazenar dado
05 Erro na configuração de memória
06 Erro na interface RS-232
07 Papel ou ribbon vazio
08 Nome duplicado: formulário, gráfico ou soft font
09 Nome não encontrado: formulário, gráfico ou soft font
10 Não está no modo de entrada de dados
11 Cabeça de impressão aberta
12 Impressora está pausada
50 Impressora ocupada - imprimindo
80* Indefinido
81* Erro no cutter
82* Falha de sensor
83* Ocorrência de interrupção ilegal
84* Alimentação excessiva

(*) Requer intervenção: Pressione Feed ou Reset

◆ Feed()

int Feed ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param 
)

Produz um efeito similar ao de pressionar o botão Feed da impressora.

Se a impressora não estiver em modo contínuo, avança o papel até encontrar um gap (avança uma etiqueta em branco). Se a impressora estiver em modo contínuo, avança o papel até uma certa distância.

Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ Teste()

int Teste ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param 
)

Faz uma impressão de teste.

Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ MemoryStatus()

char * MemoryStatus ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param,
int  tipoDados 
)

Exibe o status da memória da impressora: as imagens, as fontes ou os labels carregados e o espaço disponível em cada módulo (RAM e Flash).

  • OBS: A impressora L42PRO suporta parcialmente esta função.
Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

tipoDados- Parâmetro do tipo numérico que define qual tipo de dados armazenado na memória a impressora irá buscar e retornar.

Valores válidos:
Valor Dados
0 Fontes
1 Imagens
2 Labels

Retorna
O retorno da função é do tipo caractere.
A função bem-sucedida deve uma cadeia de caracteres que mostra os dados carregados nos dois módulos da memória (conforme o tipo especificado, em tipoDados) seguido do espaço disponível em cada módulo.

◆ LimpaMemoria()

int LimpaMemoria ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param 
)

Apaga o conteúdo carregado nos dois módulos da impressora (RAM e Flash).

  • OBS: A impressora L42PRO não suporta esta função.
Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ LimpaModulo()

int LimpaModulo ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param,
int  modulo 
)

Apaga o conteúdo carregado em um módulo específico da impressora (RAM ou Flash).

  • OBS: A impressora L42PRO suporta parcialmente esta função (os dados não são apagados imediatamente, mas somente depois de uma reinicialização).
Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

modulo- Parâmetro do tipo numérico que define o módulo que será apagado.

Valores válidos:
Valor Módulo
0 RAM
1 Flash

Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ EnviaImagem()

int EnviaImagem ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param,
int  modulo,
int  formato,
const char *  nome,
const char *  arquivo 
)

Envia uma imagem para a memória da impressora (RAM ou Flash).

  • OBS: A impressora L42PRO suporta parcialmente esta função (as imagens não são carregadas imediatamente, mas somente depois de uma reinicialização).
Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

modulo- Parâmetro do tipo numérico que define o módulo onde a imagem será carregada.

Valores válidos:
Valor Módulo
0 RAM
1 Flash

formato- Parâmetro do tipo numérico que define o formato da imagem que será enviada.

Valores válidos:
Valor Formato
0 BMP Flipped
1 BMP
2 IMG Flipped
3 IMG
4 PCX Flipped
5 PCX
6 HEX

nome- Parâmetro do tipo caractere que define um nome para a imagem.
Esse é o nome que identificará, na memória, a imagem enviada.

Valores válidos:

‍Qualquer string de dados alfanuméricos; máximo de 16 caracteres.


arquivo- Parâmetro do tipo caractere que define a imagem que será carregada.

Este parâmetro recebe como argumento o caminho, no sistema de arquivos, onde a imagem a ser enviada está armazenada, seguida do nome da imagem.

O argumento deve representar um arquivo de imagem válido, isto é, uma imagem acessível pela função e que esteja em algum dos formatos disponíveis no parâmetro formato.

‍Se a função for usada no Android, este parâmetro recebe o caminho relativo ao armazenamento interno do dispositivo.

Exemplo: o valor Download/Figura.bmp, passado neste parâmetro, envia o arquivo Figura.bmp, localizado no diretório Download (no armazenamento interno).


Veja, abaixo, um exemplo de uso válido desta função, seguido de um breve comentário sobre os argumentos passados:

EnviaImagem(1, "L42", "USB", 0, 1, 0, "LOGOTIPO", "C:\\Imagens\\LogoTipoEmpresa.bmp");


No exemplo acima a função enviará, ao módulo Flash da impressora, a imagem LogoTipoEmpresa.bmp, localizada no diretório C:\Imagens, com o nome LOGOTIPO. O argumento 0, imediatamente antes de LOGOTIPO, informa à impressora que o arquivo enviado é uma imagem BMP Flipped.

Os primeiros quatro argumentos permitem que a função envie o comando à impressora L42 via USB.

Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.
Se a impressora for a L42, um beep indicará o envio bem-sucedido da imagem.

◆ ExcluiImagem()

int ExcluiImagem ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param,
int  modulo,
const char *  nome 
)

Exclui uma imagem enviada à memória da impressora.

Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

modulo- Parâmetro do tipo numérico que define o módulo onde a imagem a ser excluída está.

Valores válidos:
Valor Módulo
0 RAM
1 Flash

nome- Parâmetro do tipo caractere que define o nome da imagem que será excluída.

Valores válidos:

‍Qualquer string de dados alfanuméricos; máximo de 16 caracteres.


Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ GetVersaoDLL()

char * GetVersaoDLL ( )

Retorna a versão da DLL E1_Etiqueta.

Retorna
O retorno da função é do tipo caractere.

A função bem-sucedida deve retornar ??.??.??, que representa a versão da DLL em que esta função foi chamada; cada ? é um dígito entre 0 e 9.

◆ DirectIO()

int * DirectIO ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param,
unsigned char *  writeData,
unsigned int  writeNum,
unsigned char *  readData,
unsigned int  readNum 
)

Envia comandos, em protocolo suportado pela impressora, direto para a porta de comunicação.

Observação
OBS: Este método apresenta algumas diferenças no ambiente Android - consulte sua documentação em Módulos > Android > Módulos > Impressora de Etiquetas > DirectIO.

Função de despejo de comandos na porta de comunicação. Essa função também recebe dados da porta.

Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

writeData- Sequência de bytes que devem ser enviados para a porta de comunicação.

writeNum- Quantidade de bytes enviados e que serão escritos.

readData- Alocação de memória que receberá os dados de retorno caso seja necessário.

readNum- Quantidade de dados que se espera ler. Para evitar a leitura da porta esse parâmetro deve estar em ZERO (0).

Veja, abaixo, um exemplo de uso válido desta função, em C++, seguido de um comentário detalhado sobre os argumentos passados:
unsigned char * esc = new unsigned char[4]{2, 70, 13, 13}; // Avanca papel
unsigned char * ler; // Armazena os dados retornados pela impressora
memset(ler, 0, 1); // "Apaga" lixo de memória presente na variável ler
int *ret = DirectIO(1, "L42PRO", "USB", 0, esc, 4, ler, 0);
// Imprime o retorno de DirectIO e a resposta da impressora:
printf("\n Ret: %d ; Escreveu: %d ; Leu: %d ; Dados lidos: %s \n", ret[0], ret[1], ret[2], ler);
int DirectIO(unsigned char *writeData, unsigned int writeNum, unsigned char *readData, unsigned int *readNum)
Envia comandos ESCPOS direto para a porta de comunicação.


‍No exemplo acima, os primeiros quatro argumentos permitem que a função envie o comando à impressora L42PRO via USB.

‍Em seguida, são passados a variável esc e o argumento 4 à função; a variável esc contém o comando que o DirectIO enviará à impressora - um avanço de papel, em PPLA - e o valor 4, a quantidade de bytes que devem ser escritos - no exemplo, todos os quatro bytes do comando armazenado na variável esc.

‍Note ainda o byte 13, duplicado, no comando: os comandos PPLA devem terminar, por padrão, com um byte 13 (caractere CR); a impressora L42PRO, no entanto, necessita de um CR adicional para que o comando seja reconhecido, dai o motivo do byte 13 estar duplicado.

‍Por fim, são passados à função a variável ler e o argumento 0; a variável ler armazenará os dados retornados pela impressora, em resposta ao comando enviado, e o valor 0, a quantidade de bytes que deverão ser lidos - no exemplo, o comando de avanço de papel não retorna nenhum dado, portanto, o argumento 0 passado faz com que o DirectIO não realize a leitura da porta.


Retorna
O retorno da função é um vetor de int, com três posições, cujo conteúdo é descrito a seguir:

‍Posição 0: Código de retorno da função (=0: Sucesso, <0: Falha de comunicação/leitura).
Posição 1: Quantidade de bytes escritos na porta (<0: Falha de escrita).
Posição 2: Quantidade de bytes lidos na porta.


◆ DespejarArquivo()

int DespejarArquivo ( int  tipo,
const char *  modelo,
const char *  conexao,
int  param,
const char *  caminho 
)

Envia um arquivo com comandos, em protocolo suportado, para impressora, que irá executá-los.

  • OBS: Existe também a função DespejarArquivoLF, idêntica a esta, exceto pelo único diferencial daquela incluir um byte 10 (caractere LF) ao final de cada linha lida do arquivo, antes de enviá-la à impressora (o arquivo original permanece inalterado). O método DespejarArquivoLF é útil nos casos em que esta função falhar no despejo.
Parâmetros
tipo- Parâmetro do tipo numérico que define o tipo de comunicação que será estabelecido.

Conforme tabela a seguir:
Valor Referência
1 USB
2 RS232
3 TCP/IP

modelo- Parâmetro do tipo caractere que especifica o modelo para conexão.

Conforme lista:

Valores
L42
L42PRO
TT042-50


conexao- Parâmetro do tipo caractere que define detalhes de conexão.

Detalhes de conexão:
Referência Valor exemplo
USB USB
RS232 COM2
TCP/IP 192.168.0.20

param- Parâmetro do tipo numérico auxiliar para a conexão com a impressora.

Utilizado para especificar baudrate ou porta de comunicação TCP/IP.
  • OBS: Quando a conexão estabelecida for a USB esse parâmetro é desconsiderado, podendo ser definido com o valor 0.

caminho- Parâmetro do tipo caractere que define o arquivo que será enviado.

Este parâmetro recebe como argumento o caminho, no sistema de arquivos, onde o arquivo está armazenado, incluindo seu nome.

‍Se a função for usada no Android, este parâmetro recebe o caminho relativo ao armazenamento interno do dispositivo.

Exemplo: o valor Download/Etiqueta.txt, passado neste parâmetro, despeja o arquivo Etiqueta.txt, localizado no diretório Download (no armazenamento interno).


Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.