Desenvolvedor e Analista de Sistemas | IFPA

domingo, 24 de maio de 2015

Como passar a consulta dinamicamente para o JasperReports / iReport

com 0 Comentário
Defina um parâmetro do tipo String que receberá a consulta vinda da aplicação java:


Parâmetros do Relatório

Observe que temos dois parâmetros definidos por mim: Filtro – servirá para receber uma descrição textual do filtro que o usuário aplicou na geração do relatório e consulta – receberá a consulta a ser executada no banco de dados pelo JasperReports.
Configurar a consulta do relatório como sendo o parâmetro recebido:



Consulta do Relatório


A consulta do relatório será exatamento o parâmetro consulta. Observe o símbolo de exclamação depois da letra P. Sem ele o iReport dá erro no momento de efetuar a compilação do relatório.
Passar a consulta para o relatório através da aplicação Java:

  1. private String geraRelatorioEmPdfConsulta(String consulta, String jasper, String nomeRelatorio) {  
  2.     // Seto a variável saida como nulo  
  3.     saida = null;  
  4.   
  5.     try {  
  6.         JasperPrint print = JasperFillManager.fillReport(jasper, getMapComFiltroEConsulta(filtroAplicado, consulta), getNovaConexao());  
  7.         saida = RelatorioUtil.getDiretorioReal("/relatorios/relatorio.pdf");  
  8.         JasperExportManager.exportReportToPdfFile(print, saida);  
  9.         saida = RelatorioUtil.getContextPath() + "/relatorios/relatorio.pdf";  
  10.     } catch (Exception e) {  
  11.         addErrorMessage("Formulario""erro.geracao.relatorio", nomeRelatorio);  
  12.         e.printStackTrace();  
  13.     } finally {  
  14.         fechaConexao();  
  15.     }  
  16.   
  17.     // mostro o erro ou o relatório na janela que abre  
  18.     return "geraRelatorio";  
  19. }  
  20.   
  21. /* 
  22. * Esse método retorna o map com o filtro e a consulta que o usuário gerou. 
  23. */  
  24. public Map<String, String> getMapComFiltroEConsulta(String filtroAplicado, String consulta) {  
  25.     Map<String, String> map = new HashMap<String, String>();  
  26.   
  27.     // Se o usuário não aplicou nada no filtro, retorno nulo para o relatório  
  28.     if (filtroAplicado == null)  
  29.         filtroAplicado = "";  
  30.     else  
  31.         filtroAplicado = "Você aplicou o seguinte filtro no relatório:\n" + filtroAplicado;  
  32.   
  33.     map.put("Filtro", filtroAplicado);  
  34.     map.put("consulta", consulta);  
  35.   
  36.     return map;  

Observe, pelo código acima, que eu passo a consulta e o filtro que foram gerados para o relatório dentro de um HashMap, como o JasperReports exige. No final, o relatório com um campo do filtro fornecido ficou assim.

Relatório Gerado

O campo marcado em vermelho foi o filtro aplicado pelo usuário que eu mandei para o relatório como um parâmetro chamado Filtro e que na verdade é apenas uma descrição textual.

Obs.: cada coluna retornada pela minha consulta deve ter o mesmo nome do field no relatório. Caso isso não ocorra, haverá um erro na geração.
Mais informações »

domingo, 17 de maio de 2015

Artigo - Diferença entre java.sql.Time, java.sql.Timestamp e java.sql.Date | JAVA

com 0 Comentário
Neste artigo iremos mostrar as principais diferenças entre  java.sql.Time, java.sql.Timestamp e java.sql.Date. Vale a pena conferir:

Primeiro 

Diferença em java.sql.Time, java.sql.Timestamp e java.sql.Date é sobre a informação que eles representam:
JDBC TIME ou java.sql.Time representam apenas informações de tempo por exemplo, horas , minutos e segundos , sem qualquer informação da data .
JDBC DATA ou java.sql.Date representam apenas informações atualizadas por exemplo ano , mês e dia , sem qualquer informação de tempo .
JDBC TIMESTAMP ou java.sql.Timestamp selo representam tanto informações de data e hora , incluindo detalhes nanossegundos.

Segundo

O java.sql.Time e java.sql.Timestamp selo estende java.util.Date classe, mas java.sql.Date é independente.

Terceiro

As informações de Tempo do java.sql.Date e Data informações de java.sql.Time é normalizada e pode definir a zero, a fim de confirmar ANSI SQL DATA e HORA tipos.


Então diferença entre Time, Timestamp e Data de pacote SQL é clara em termos do que eles representam. Em contrário java.util.Date também representam informações de data e hora, mas sem detalhes nanossegundos e é por isso que muitas pessoas preferem data store contanto valor (milissegundo passou da época 01 de janeiro de 1970 00: 00: 00.000 GMT). Se você comparar a java.sql.Time selo com método equals () retornará false como valor de nanossegundo é desconhecida.

Isso é tudo na diferença entre java.sql.Date , java.sql.Time e java.sql.Timestamp. Todas as diferenças encontra-se sobre o que exatamente a representar. Este tipo de questões valem a pena olhar antes de ir para qualquer entrevista JDBC como hora e data são parte integrante de qualquer entrevista JDBC

Leia mais em: http://javarevisited.blogspot.com/2012/10/difference-between-javasqltime-date-timestamp-jdbc-interview-question.html#ixzz3aQZNZ5pw
Mais informações »

Tutorial - JTable com seleção única | JAVA

com 0 Comentário

Nesse tutorial iremos mostrar como fazer a seleção de uma JTable, de forma única, ou seja, apenas uma seleção. É um método simples, mas que faz muita diferença. Confira no exemplo do código JAVA abaixo:

  1. jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);  //seleção única

Para mais informações, não esqueça de dá uma olhada na API do JAVA
https://docs.oracle.com/javase/8/docs/api/javax/swing/JTable.html
Mais informações »

Tutorial - Break e Continue | JAVA

com 0 Comentário
Break e Continue são dois comandos de controle de estruturas largamente utilizados em loops (repetições) como for e while.

Break

O comando break serve para determinar uma quebra de estrutura, ou seja, ele faz com que, por exemplo, um loop (repetição) pare. No comando switch, por exemplo, ele determina que não pode ser executado o case seguinte, e assim por diante.

No exemplo abaixo, temos uma repetição que se inicia em 1 e deve terminar em mil (1.000), mas dentro desta estrutura há uma condição: se a variável for igual a 10 saia da estrutura de repetição. Vejamos:

  1. public class ExemploBreak {  
  2.   
  3.         public static void main(String args[]) {  
  4.             for (int contador = 1; contador <= 1000; contador++) {  
  5.                 System.out.println("Esta é a repetição nr: " + contador);  
  6.                 if (contador == 10) {  
  7.                     break;  
  8.                 }  
  9.             }  
  10.         }  
  11.     }  

Como podemos observar, mesmo a estrutura de repetição for determinando que a repetição deve ir até 1000, ao executarmos esse código, apenas conseguimos chegar até a repetição número 10. Isso ocorre porque quando if for verdadeiro ele executa o break. Dessa forma, conseguimos sair do loop sem ele ter terminado.

Continue

Continue também é muito utilizado em estruturas e repetição e sua função é ignorar o código, e não sair como acontece com o break.

Exemplificando, faremos um código contendo uma estrutura de repetição que irá contar de 1 a 100, mas sempre que o número não for múltiplo de 5 o código para apresentar o número na tela será ignorado e a repetição continuará com o número seguinte.

  1. public class ExemploContinue {  
  2.   
  3.         public static void main(String args[]) {  
  4.   
  5.             for (int contador = 1; contador <= 100; contador++) {  
  6.   
  7.                 if (contador % 5 != 0) {  
  8.                     continue;  
  9.                 }  
  10.                 /* Se o contador não for múltiplo de 5 
  11.                  * Todo o código abaixo será ignorado 
  12.                  * e o loop continua com o próximo nr */  
  13.                 System.out.println("Contador: " + contador);  
  14.             }  
  15.         }  
  16.     } 

Ou seja, desta forma, apenas os múltiplos de 5 entre 1 e 100 aparecem na tela.
Mais informações »

sexta-feira, 15 de maio de 2015

Tutorial - Desbloquear planilhas do Excel sem VBA

com 0 Comentário
Olá, pessoal. Alguns usuários relataram no nosso site que muitas vezes não conseguem desbloquear as planilhas com senha, por não ter conhecimentos suficientes de programação e VBA, ou então porque o Excel 2013 tem outra criptografia.

Pensando nisso, trouxemos hoje um novo método, que não usa VBA e também quebrará a proteção da versão 2013 do Excel. Detalhe: Esse processo também funciona em outras versões, como a 2007.

Primeiro temos que configurar nosso Windows para exibir as extensões dos arquivos. Para isso vá no painel de controle do seu computador e nas 'Opções de Pasta' ou então apenas digite 'Opções de Pasta' na busca do seu computador:



Na janela que abrir vá em 'Modo de Exibição' e desmarque a opção 'Ocultar as extensões dos tipos de arquivo conhecidos'.



Agora pegue o arquivo bloqueado por senha e substitua a extensão dele, que está em .xlsx para .rar (pode ser também .zip, depende do programa descompactador que você possui instalado).



O próximo passo é clicar 2 vezes para abrir esse arquivo compactado e então você terá uma série de pastas, entre na pasta 'xl' e depois em 'Worksheets'. Nesta pasta tem um arquivo chamado sheet1.xml.



Abra vamos ter que abrir o arquivo sheet.xml com o bloco de notas e aqui, depende do seu sistema. Pode ser assim: 2 cliques no arquivo e abrirá a seguinte tela



Ou então clique com o direito no arquivo .xml e vá em 'Abrir com' e depois em 'Bloco de notas'



Ou por último, clique em direito e vá em propriedades. Na nova janela vá em 'Alterar...' e então a janela anterior aparecerá e você poderá clicar no bloco de notas.



Enfim, não importa a forma, você tem que selecionar para abrir o .xml com o bloco de notas. Após ser aberto, você terá uma série de códigos. No Excel 2013 procure o código

< sheetProtection algorithmName='SHA-512? hashValue='Q6BznOFrrKH7/99WiuTBjsLp6yTXgFh4VyoMlurQiL0fqc/c7usLfKNaEgpywZ6jqr5LRFRmysdGJhN/pv6cJw==' saltValue='nqZrWj1H7ESKJ5chS1fTwg==' spinCount='100000? sheet='1? objects='1? scenarios='1? selectLockedCells='1?/>

e substitua por

< sheetProtection selectLockedCells='1? selectUnlockedCells='1?/> Observação: O sinal < do início da linha não pode ter espaço em relação à próxima palavra. Remova-o.



Se a sua versão do Excel for 2007, a linha a ser buscada é

< sheetProtection password='XXXXX' sheet='1? objects='1? scenarios='1?/>

Substitua pelo mesmo código de antes:

< sheetProtection selectLockedCells='1? selectUnlockedCells='1?/>



Agora salve o arquivo de texto e depois feche o arquivo .rar. O programa perguntará se você quer salvar, diga que sim.



Para terminar reverta o processo anterior, e passe o arquivo .rar para .xlsx.



Uma observação final, pode ser que o arquivo do Excel 2013 tenha mais linhas de códigos, mas o básico é o de sempre: Procure < sheetProtection algorithmName ? até selectLockedCells='1?/> e substitua.
Mais informações »

quarta-feira, 13 de maio de 2015

Tutorial - Remover todas as linhas de um jTable - JAVA

com 0 Comentário
Neste tutorial veremos como deletar/apagar todas as linhas de uma jTable.


Através de uma laço de repetição while, iremo remover todas as linhas existentes na tabela.
Utilize DefaultTableModel para remover as linhas
  1. while (jTable1.getModel().getRowCount() > 0) {  
  2.            ((DefaultTableModel) jTable1.getModel()).removeRow(0);  
  3.        } 
Mais informações »

domingo, 10 de maio de 2015

Tutorial - Como configurar o Android no Eclipse

com 0 Comentário
Um programa para desenvolver aplicação em Android pode ser encontrado de várias formas. Mas uma forma mais integrada e fácil de usar que o Eclipse com o plugin Android eu desconheço ainda. Mas conforme comentei no Curso em Programação em Dispositivos Móveis, acoplar esse plugin Android no Eclipse dá uma dor de cabeça. Não é difícil, mas tem momentos que você faz aquela pergunta “Aonde errei?” por derrepente o plugin não funcionar mais no Eclipse.
Mas, como eu não gosto de dificultar a vida dos meus alunos, pois a vida deles já é muito difícil, achei uma versão já integrada com o plugin e prática de usar. Basta apenas configurar o SDK Manager e começar a programar!



Antes de começar a instalar, verifica qual é a versão de seu S.O (Sistema Operacional) se é 32 ou 64 bits. Tecla do Windows no teclado + a tecla Pause/Break é um atalho mais fácil para isso.

Verifique também se o JDK Java está instalado juntamente com o JRE.

Eclipse com Android + Instalador SDK Android – Versão Windows 32 bits (clique aqui).
Chave no MEGA : K8SWq3_iYCRNxrlFjINw-Fup-O5DhRzpWEDOjcP6mTU

Eclipse com Android + Instalador SDK Android – Versão Windows 64 bits (clique aqui).
Chave no MEGA: G2hYomplnkoIheKrnyMz-x2-EJd0l1CseyrEAa_M2-g


Descompacte o arquivo baixado e comece pelo “SDK Manager” primeiramente para configurar o emulador android.
Eu sempre recomendo baixar 2 API (Interface de Programação de Aplicativos). A API Android 2.3 e a Android 4.0. Pois se desenvolver uma aplicação para essas duas versões de Android, você vai conseguir mercado com aparelhos baratos, caros, smartphones e tablets.


Então marque as opções das API’s desejadas (Android 4.0 e 2.3 ) juntamente com todos os itens da pasta “Tools”. Aguarde o programa baixar todos esses pacotes selecionados pela Internet que geralmente demora um pouco.


Finalizado esse processo, abra a pasta eclipe e selecione o item “eclipse.exe” e envie como atalho para a área de trabalho. Em seguida abra.


Agora vamos cria um projeto Android e testar se tudo está correto. Vá na barra de menu “File – New – Other...”.Na pasta Android, escolha o item “Android Aplication Project”. Avance clicando em “Next”.


Digite apenas no campo “Application Name” o nome Teste. (automaticamente irá preencher os outros) Escolha o campos abaixos de acordo com a versão Android que está desenvolvendo. No meu caso quero testar na versão FROYO 2.2. Avance clicando em “Next”.


Como só queremos testar se o programa está tudo certo com o SDK, deixe marcado os itens “Create activity e Create Project in Workspace”. Clique em “Next”.


Verifique se está marcado “create Activity” juntamente com o item BlankActivity e clique em “Next”.


Conclua a criação do projeto clicando em “Finish”. E aguarde, pois geralmente nesse processo, ele irá criar um conjunto de várias pastas e arquivos. Pode parecer que travou, mas é normal acontecer isso.


Depois de criar o projeto, temos uma tela parecida com um dispositivo Android. Precisamos também configurar sua execução para ver no emulador. Na barra de menu, escolha Run – Run configurations..


Na categoria ao lado esquerdo, clique com o botão direito do mouse sobre o item “Androi” e escolha “New”. Escolha a pasta o projeto no botão “Browse...” e de um nome para entender que essa configuração é baseada nesse projeto no campo “Name”. Por isso coloquei o mesmo nome do projeto.


Na aba “Target” defina o AVD clicando na versão emulada criada para testar as aplicações. Se por acaso não tiver nada, vou montar um outro post de como configurar o AVD (clique aqui). Após isso clique no botão “Apply” e depois no botão “Run”.


Pronto! O eclipse jogou o aplicativo “teste” para o emulador e agora é só começar a programar em Android! Bons estudos!
Mais informações »

Tutorial - Como configurar o Notepad++ com JAVA

com 0 Comentário
Notepad++ é um editor de texto e de código fonte de código aberto. Suporta várias linguagens de programação rodando sob o sistema Microsoft Windows e muito prático para quem está começando a estudar uma linguagem

de programação pois faz o aluno treinar diretamente com a linguagem sem acomodar com facilidades que algumas IDEs possuem (NetBeans, Eclipse, etc). Resolvi elaborar um tutorial de como instalar e configurar oNotepad++ no Windows 7 para compilar códigos em Java, então vamos lá!

Instalando o JDK
1º Passo: Antes de tudo, baixe o JDK de acordo com o seu sistema operacional (segura a tecla com a logomarca do Windows e depois pressione a tecla “pause/break”) conforme é mostrado abaixo:

Caso já saiba, escolha abaixo a versão do JDK correta para fazer o download.


- JDK Java 7 atualizado até 14/02/14 32 bits (baixar)
- JDK Java 7 atualizado até 14/02/14 64 bits (baixar)


2º Passo: O processo de instalação é bem simples, Depois de baixar vamos instalar o JDK. Execute o instalador e irá deparar com a seguinte tela:
Clique em “Next” para continuar a instalação.

Novamente clique em “Next” para continuar, pois apenas está informando o local e quais itens serão instalados. Aguarde até que todos os itens sejam instalados.

Clique em “Next” para confirmar o destino da instalação em seu disco e aguarde até o processo concluir.

Caso desejar registrar o produto na Oracle, clique no botão “Product Registration Information”. Mas como vamos apenas instalar a ferramenta, clique no botão “Continue”.

Para ter certeza que o JDK já está integrado ao sistema, vá até o prompt de comando (Iniciar – Executar – digitar CMD e clicar no botão OK) e digite java –version e pressione a tecla enter. Se tudo der certo irá aparecer uma mensagem semelhante a essa imagem abaixo.

Configurando as Variáveis de Ambiente
3º Passo: Aproveite que está no prompt e digite javac (comando para chamar o compilador em JAVA), se apareceu uma tela igual essa abaixo, teremos que configurar as variáveis do ambiente do Windows para reconhecer o compilador.

Vá nas propriedades do sistema (segura a tecla com a logomarca do Windows e depois pressione a tecla “pause/break”) e olhe ao lado esquerdo e clique na opção “Configurações avançadas do sistema”.

Clique no botão “Variáveis de Ambiente”. Em variáveis de usuário, clique no botão “Novo”. As variáveis de ambiente podem também ser definidas em “Variáveis do sistema” em vez de “Variáreis de usuário”. A diferença é que quando definidas em “Variáveis do usuário”, elas funcionam somente para o seu usuário, e em “Variáveis de sistema” funcionam para todos os usuários.

Surge a janela Nova Variável do usuário. No campo Nome da variável coloque o nome da variável conforme a tela abaixo “JAVA_HOME”, e no campo Valor da variável coloque o caminho referente à variável do jdk que instalou anteriormente “C:\Arquivos de programas\Java\jdk1.7.0_51” (sem as aspas). Clique no botão OK.

Agora localize nas variáveis do sistema a variável path e de um duplo clique nela. Irá aparecer uma janela para editar a variável (imagem abaixo). Coloque um ; (ponto e vírgula) no final dos endereços e apenas digite o endereço “C:\Arquivos de programas\Java\jdk1.7.0_51\bin”.

Em seguida, crie uma nova variável de sistema (clicando inicialmente no botão Novo) e coloque o nome classpath (caso existir, de um duplo clique nela) e endereço “C:\Arquivos de programas\Java\jdk1.7.0_51\lib;.;”.

De ok em todas as janelas, volte ao prompt de comando e digite novamente javac, se apareceu essa tela abaixo, seu computador poderá compilar e interpretar a linguagem JAVA!

Instalando a IDE Notepad++
4º Passo: Baixe o instalador do programa Notepad++ (Baixar).
Depois de baixar vamos instalar a IDE. Execute o instalador e irá surgir uma tela para confirmar o idioma de instalação, confirme no botão OK. Na tela que surge, apenas pressione o botão Próximo.

Apenas pressione o botão Eu Concordo.

Confirme o local para a instalação do programa clicando no botão Próximo.

Como só queremos a instalação limpa sem nenhum plugin, clique no botão Próximo.

Marque apenas a opção “Create a Shortcut on Desktop”, para criar um atalho em sua Área de Trabalho. E clique em Instalar. Aguarde o processo.

Prontinho! Agora é só marcar em terminar, deixando a opção marcada para executar o programa! Se aparecer umas telas pedindo atualização de alguns plug-ins, pode cancelar pois não iremos precisar por enquanto disso.


Configurando a IDE Notepad++ para Compilar e Interpretar JAVA
5º Passo: Com o Notepad++ aberto, vá na barra de menu para abrir a tela de configuração de plug-ins: Plugins – Plugin Manager – Show Plugin Manager. Irá abrir a janela abaixo:





Encontre e marque apenas o plugin NppExec e clique no botão install e aguarde aparecer alguma janela informando que o programa terá que reiniciar. Clique no botão Sim.

Agora com o plugin já instalado, vamos colocar os comandos para compilar e executar a linguagem Java. Vá em Plugins – NppExec – Execute...

Com a janela de executar comandos digite as linhas abaixo:
cd $(CURRENT_DIRECTORY)
javac "$(FILE_NAME)"
java "$(NAME_PART)"


Após digitar o comando, clique no botão Save... e dê o nome para esse script de “Compila e Executa”, só para facilitar na hora de criar o atalho.

Criando uma tecla de atalho para compilar e executar Java no Notepad++
6º Passo: Uma comodidade que gosto é poder apertar apenas uma tecla e Compilar e Executar. Vamos criar o atalho então!
Vá em Plugins – NppExec – Advanced Options... você irá depara com essa janela de configuração abaixo. Escolha na caixa Associated script o item que acabou de configurar atrás chamado Compila e Executa.


Marque a opção Place to the Macros submenu e clique no botão Add/Modify. E em seguida pressione o botão Ok. Caso aparecer alguma janela alertando que as modificações só deverão surgir efeito após reiniciar o programa pressione OK, feche e abra o programa novamente.

Clique na Barra de menu em Macro. Veja que agora já foi colocado o item para Compila e Executa o código, mas vamos definir uma tecla de atalho para ele. Vá em Macro – Modificar atalho/Deletar macro...

Com a janela aberta, clique no botão Plugin commands e use a barra de rolagem para achar o plugin escrito Compila e Executa. De um duplo clique escolha a tecla que mais agradar (eu gosto da tecla F9 ^^). Confirme clicando no botão OK e close para fechar a janela.

Vamos testar para verificar se deu tudo certo? Primeiro precisa mudar o ambiente para Java. Vá na barra de menu em Linguagem – J – Java. Digite o código abaixo e lembre de salvar (Arquivo – salvar como...) com o mesmo nome após o class (Test). Feito isso agora é só pressionar a tecla de atalho definida anteriormente (F9) no meu caso e veja a compilação e execução no console abaixo! Prontinho!


Caso apresentou algum problema volte desde o início pois algum passo não foi bem feito. Ah, vale lembrar que fiz esse tutorial no Windows 7, para o Windows 8 eu tive que reiniciar o computador para fazer efeito! É isso ai pessoal, dá trabalho mas é só uma vez, depois é só usar a ferramenta! Bons programas! ;)
Mais informações »

Total de visualizações