Olá pessoal, Nosso Escovando Bits desta semana é sobre o JAVA.

Todos conhecem e já devem ter ouvido falar nesta linguagem orientada a objetos, ou até mesmo teve contato prático ainda que tenha sido apenas para compilar o famoso "Hello World".

public static void main(String[] args) {
System.out.println("Hello, world!");
}


O JAVA é muito procurado, pois ele é gratuito e uma linguagem multiplataforma, capaz de rodar em qualquer sistema Operacional. O mesmo utiliza uma máquina virtual que pode ser emulada em qualquer sistema que suporte a linguagem C.

Mas do que adianta ter uma linguagem multiplataforma que roda sem mexer em uma única linha de código nas plataformas Windows e Linux, sendo que o fabricante do seu equipamento oferece apenas uma camada para Windows?

Não adianta nada, não é?

A Daruma criou a camada multiplataforma para que possa trabalhar em igualdade com seu sistema.

Aí sim vale apena utilizar uma linguagem multiplataforma, não acha? Nós também pensamos assim! E desenvolvemos estas API's para que você possa desenvolver, sem ter que se preocupar se esta em plataforma Linux ou Windows.
Diagrama JNI / JNA


Hoje, vamos ver o quando é fácil fazer um Cupom Fiscal no Java utilizando a camada JNA.

Primeiramente crie um novo projeto.


Agora baixe o driver JNA em nosso site: http://www.desenvolvedoresdaruma.com.br

O conteúdo da pasta vem zipado, extraia estes arquivos.


Retorne ao Projeto Java, clique com o botão direito em Bibliotecas e em seguida clique em Adicionar JAR/pasta...


Selecione agora o conteúdo da pasta com o driver DarumaFramework.JAR, e clique em OK.

Pronto! Já esta importada a camada JNA DarumaFramework para seu projeto.  


Agora necessitamos importar a camada JNA de maneira que possamos manipular suas funções através do código do projeto. Em nosso caso iremos importar o pacote com os métodos uteis para todos os produtos que é representado pela classe UTIL e os métodos das Impressoras Fiscais contidos na classe ECF.

Conforme abaixo:

Crie uma pequena interface gráfica em um formulário, semelhante ao exemplo abaixo:

Agora na prática!

Verificando Porta e a Velocidade da Impressora

private void mainPanelPropertyChange(java.beans.PropertyChangeEvent evt) {

        int iRetorno;

        iRetorno= ECF.eBuscarPortaVelocidade();

}

Abertura de Cupom Fiscal

private void cmd_abrirMouseClicked(java.awt.event.MouseEvent evt) {

   int iRetorno;

   iRetorno= ECF.iCFAbrirPadrao();


}

Registro de Item

 
private void cmd_venderMouseClicked(java.awt.event.MouseEvent evt) {

       int iRetorno;
       cmd_abrir.setEnabled(false);
       String aliquota, preco, codigo, descricao;

       aliquota= txt_aliquoata.getText();

       preco=txt_preco.getText();

       codigo=txt_cod.getText();

       descricao=txt_desc.getText();

       iRetorno= ECF.iCFVenderResumido(aliquota, preco, codigo, descricao);
}

Totalização do Cupom Fiscal


private void cmd_totalizarMouseClicked(java.awt.event.MouseEvent evt) {

        pnl_venda.setEnabled(false);

        cmd_vender.setEnabled(false);

        int iRetorno= ECF.iCFTotalizarCupomPadrao();

       
             if(iRetorno==1){

                   JOptionPane.showMessageDialog(null, "Cupom Fiscal Totalizado!");

                  }

            else

                   {

                   JOptionPane.showMessageDialog(null, "Cupom Fiscal não Totalizado!");

                    }


Efetua Pagamento Padrão (Dinheiro)

private void cmd_pgtoMouseClicked(java.awt.event.MouseEvent evt) {

        cmd_totalizar.setEnabled(false);

        int iRetorno= ECF.iCFEfetuarPagamentoPadrao();

 }

Encerramento de Cupom Fiscal

private void cmd_finalizaMouseClicked(java.awt.event.MouseEvent evt) {

        cmd_pgto.setEnabled(false);

        int iRetorno= ECF.iCFEncerrarConfigMsg("Volte Sempre!");

    }  

Viu só como é muito fácil utilizar nossa camada JNA!

Dúvidas estamos à disposição!

E-mails:
ddc.suporte@daruma.com.br
suporte.ddc@daruma.com.br
desenvolvedores.suporte@daruma.com.br
suporte.desenvolvedores@daruma.com.br
desenvolvedores.daruma@daruma.com.br
suporte@daruma.com.br
suporte.alexandre@daruma.com.br
claudenir@daruma.com.br
Skypes:
ddc_suporte_daruma
suporte_ddc_daruma
desenvolvedores_suporte_daruma
suporte_desenvolvedores_daruma
desenvolvedores_daruma
suporte_daruma
suporte_alexandre_daruma
claudenir_andrade