2
respostas

Criar uma licença mensal para o sistema

ostaria de saber métodos para criar uma licença mensal para aplicação em java Desktop.

Eu tinha começado a criar pegando a data do vencimento e a data do dia de (HOJE) e comprava elas, e depois dava o acesso caso tivesse antes do vencimento, e barrava se tivesse passado. Mas os if parar comparar " DiaAtual e DiaVenc / MesAtual e MesVenc / AnoAtual e AnoVenc " porem tive alguns problemas.

Os ifs tinham ficado +- Assim:


              if( (anoAt == anoVenc) && (diaAt <= diaVenc) && (mesAt <= mesVenc)  ){


             jfPrincipal frn = new jfPrincipal(jUsuario.getText()); 
             frn.setVisible(true);
             this.dispose();

              }else{

              FrmValidaSis frm = new FrmValidaSis();
              frm.setVisible(true);
              }

O Controle de verificação tava mais o menos assim :

valida = Integer.parseInt(rs.getString("datavenc"));
              int operacao = (valida+132)/4;
              int senhaValidacao = Integer.parseInt(senha);
               if(operacao == senhaValidacao){
              int dia, mes, ano;
              String AcertaMes,AcertaDia,ProxSenha;


                 SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
                 Date hoje = new Date();
                 String data = df.format(hoje);
               char [] senhachar = data.toCharArray();   
              dia = Integer.parseInt(""+senhachar[0]+senhachar[1]);     
              mes = Integer.parseInt(""+senhachar[3]+senhachar[4]);     
              ano = Integer.parseInt(""+senhachar[6]+senhachar[7]+senhachar[8]+senhachar[9]);     


                   if(mes<12){

                       mes = mes + 1;
                        if(mes<10){

                        AcertaMes = "0"+mes;
                        }
                        else{

                         AcertaMes = ""+mes;
                        }


                   }else{
                   mes=1;
                     ano++;

                      AcertaMes = "0"+mes;

                   }
                   if(dia<10){
                       dia++;
                   AcertaDia = "0"+dia;
                   }else{

                     AcertaDia = ""+dia;
                   }


                   ProxSenha = AcertaDia+AcertaMes+ano;

                 PreparedStatement ps = con.getConexao().prepareStatement("insert into vencimento (datavenc) values (?)");

                        ps.setString(1, ProxSenha);
                        ps.execute();



                         JOptionPane.showMessageDialog(null, "Seu sistema foi validado com sucesso!");  
              }else{

                     JOptionPane.showMessageDialog(null, "Codigo invalido!");  

               }

Mais tive problemas assim. Se alguém puder me ajudar VALEU:)

2 respostas

Fala aí Matheus blz?

Tem a nova api de datas do java 8: https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html

Ela facilita bastante a manipulação de datas.

Aqui tem até um post que o pessoal da caelum criou que pode te ajudar em como usar essa api: http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/

Espero ter ajudado!

Valeu fernando vou dar uma olhada!