Validar: CPF / CNPJ e consultar CEP
Boa tarde amigos, venho aqui solicitar uma grande ajuda de vcs amigos, estou desenvolvendo um sistema de controle patrimonial para empresa onde trabalho, mas um dos diretos esta exigindo que o sistema valide CPF / CNPJ e que consulte automaticamente o CEP, alguem tem alguma dica pra me ajudar??
Obrigado
Luis Antonio
Curtidas 0
Respostas
Sergio Pantano
09/04/2009
Aqui tem uma biblioteca muito útil: https://brazilutils.dev.java.net/
Além desses que você precisa tem outros documentos.
GOSTEI 0
Luis Antonio
09/04/2009
Humm, Obrigado Serp, realmente esta biblioteca aparenta ser muito boa...
Só tem um probleminha, vim aqui de ousado q sou na area de Java Avançado, mas ainda sou iniciante, e vou precisar de mais uma ajudinha...
Como faço para utilizar esta biblioteca??? Se podessem demonstrar um codigo simples mesmo de exemplo seria muito util pessoal...
Obrigado
GOSTEI 0
Luis Antonio
09/04/2009
Luiz,
abaixo a função que valida cpf e reotrma um boolean.
Quanto ao validação de CNPJ recomendo:
http://www.imasters.com.br/artigo/2451
/**
* Metodo validacaoCPF - Responsavel em validar o CPF
*
* @return Boolean
* @since 29/12/2006
*/
public boolean validacaoCPF(String cpf) {
int d1, d2;
int digito1, digito2, resto;
int digitoCPF;
String nDigResult;
d1 = d2 = 0;
digito1 = digito2 = resto = 0;
for (int nCount = 1; nCount < cpf.length() -1; nCount++)
{
digitoCPF = Integer.valueOf (cpf.substring(nCount -1, nCount)).intValue();
//multiplique a ultima casa por 2 a seguinte por 3 a seguinte por 4 e assim por diante.
d1 = d1 + ( 11 - nCount ) * digitoCPF;
//para o segundo digito repita o procedimento incluindo o primeiro digito calculado no passo anterior.
d2 = d2 + ( 12 - nCount ) * digitoCPF;
};
//Primeiro resto da divisão por 11.
resto = (d1 % 11);
//Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
if (resto < 2)
digito1 = 0;
else
digito1 = 11 - resto;
d2 += 2 * digito1;
//Segundo resto da divisão por 11.
resto = (d2 % 11);
//Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
if (resto < 2)
digito2 = 0;
else
digito2 = 11 - resto;
//Digito verificador do CPF que está sendo validado.
String nDigVerific = cpf.substring (cpf.length()-2, cpf.length());
//Concatenando o primeiro resto com o segundo.
nDigResult = String.valueOf(digito1) + String.valueOf(digito2);
//comparar o digito verificador do cpf com o primeiro resto + o segundo resto.
return nDigVerific.equals(nDigResult);
}GOSTEI 0
Jeferson Mayer
09/04/2009
[quote="testaal"]mas um dos diretos esta exigindo que o sistema valide CPF / CNPJ
Bem, a primeira pergunta é: "o que significa validar um CPF/CNPJ"? Se for [b]apenas[/b] calcular e checar os dígitos de verificação, é só procurar no Google o algoritmo e implementar. [b]Porém[/b], se "validar o CPF/CNPJ" significa "verificar se o CPF/CNPJ realmente existe", por exemplo, aí o buraco é muito mais embaixo.
A simples verificação do dígito é utilizada apenas para evitar erros de digitação, e não garante que o CPF/CNPJ seja realmente válido. Como em tese somente a Receita Federal possui esses dados, isso provavelmente não dá para fazer.
e que consulte automaticamente o CEP, alguem tem alguma dica pra me ajudar??
Consulte o CEP onde? Os Correios [b]vendem[/b] licenças para o DNE (Diretório Nacional de Endereços), seria isso?
GOSTEI 0
Luis Antonio
09/04/2009
hahaha então vamos deixar a consulta ao CEP de lado...
Quanto ao CPF e CNPJ só validação numérica mesmo...
Com isso já estaria bom d+...
Obrigado...
GOSTEI 0
Thomas Rafael
09/04/2009
caras estou precisando também fazer isso..
valeu pelas dicas,
mas como eu validaria o CPF mesmo ?? saber se o cara é devedor, ou se ele paga, essas coisas...é possivel ?
estou montando um site de E-Commerce e isso seria fundamental.
GOSTEI 0
Edson Amorim
09/04/2009
Prezado Ari e colegas,
E então, como é que eu implemento esta rotina da validação do cpf, para que após a digitação do mesmo, eu saber se foi digitado correto ou ter que voltar a digitar novamente ou ainda corrigir parte do que foi digitado? estou usando um campo textField de nome tCPF. Como ficaria o meu código para receber os dados com esta validação?
Grato,
Edson
GOSTEI 0
Edson Amorim
09/04/2009
Olá pessoal,
Alguma idéia de como fazer isso?
Grato,
Edson
GOSTEI 0
Rodrigo Scorsatto
09/04/2009
para validar cpf:
chamada:
Valida CNPJ:
Chamada:
/**
*
* @author Rodrigo Scorsatto
*/
public class ValidaCpf {
/** Creates a new instance of ValidaCpf */
public ValidaCpf() {
}
public boolean validacpf(String strCpf){ // formato XXX.XXX.XXX-XX
if (! strCpf.substring(0,1).equals("")){
try{
boolean validado=true;
int d1, d2;
int digito1, digito2, resto;
int digitoCPF;
String nDigResult;
strCpf=strCpf.replace('.',' ');
strCpf=strCpf.replace('-',' ');
strCpf=strCpf.replaceAll(" ","");
d1 = d2 = 0;
digito1 = digito2 = resto = 0;
for (int nCount = 1; nCount < strCpf.length() -1; nCount++) {
digitoCPF = Integer.valueOf(strCpf.substring(nCount -1, nCount)).intValue();
//multiplique a ultima casa por 2 a seguinte por 3 a seguinte por 4 e assim por diante.
d1 = d1 + ( 11 - nCount ) * digitoCPF;
//para o segundo digito repita o procedimento incluindo o primeiro digito calculado no passo anterior.
d2 = d2 + ( 12 - nCount ) * digitoCPF;
};
//Primeiro resto da divisão por 11.
resto = (d1 % 11);
//Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
if (resto < 2)
digito1 = 0;
else
digito1 = 11 - resto;
d2 += 2 * digito1;
//Segundo resto da divisão por 11.
resto = (d2 % 11);
//Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
if (resto < 2)
digito2 = 0;
else
digito2 = 11 - resto;
//Digito verificador do CPF que está sendo validado.
String nDigVerific = strCpf.substring(strCpf.length()-2, strCpf.length());
//Concatenando o primeiro resto com o segundo.
nDigResult = String.valueOf(digito1) + String.valueOf(digito2);
//comparar o digito verificador do cpf com o primeiro resto + o segundo resto.
return nDigVerific.equals(nDigResult);
}catch (Exception e){
System.err.println("Erro !"+e);
return false;
}
}else return false;
}
}
ValidaCpf cpf = new ValidaCpf();
validado=cpf.validacpf(strcpf.getText()); //validacpf
if(validado){
//faz alguma coisa
} else msgErroCpf();
/**
*
* @author Rodrigo Scorsatto
*/
public class ValidaCnpj {
/** Creates a new instance of ValidaCnpj */
public ValidaCnpj() {
}
public boolean validaCnpj( String str_cnpj ) {
if (! str_cnpj.substring(0,1).equals("")){
try{
str_cnpj=str_cnpj.replace('.',' ');
str_cnpj=str_cnpj.replace('/',' ');
str_cnpj=str_cnpj.replace('-',' ');
str_cnpj=str_cnpj.replaceAll(" ","");
int soma = 0, aux, dig;
String cnpj_calc = str_cnpj.substring(0,12);
if ( str_cnpj.length() != 14 )
return false;
char[] chr_cnpj = str_cnpj.toCharArray();
/* Primeira parte */
for( int i = 0; i < 4; i++ )
if ( chr_cnpj[i]-48 >=0 && chr_cnpj[i]-48 <=9 )
soma += (chr_cnpj[i] - 48 ) * (6 - (i + 1)) ;
for( int i = 0; i < 8; i++ )
if ( chr_cnpj[i+4]-48 >=0 && chr_cnpj[i+4]-48 <=9 )
soma += (chr_cnpj[i+4] - 48 ) * (10 - (i + 1)) ;
dig = 11 - (soma % 11);
cnpj_calc += ( dig == 10 || dig == 11 ) ?
"0" : Integer.toString(dig);
/* Segunda parte */
soma = 0;
for ( int i = 0; i < 5; i++ )
if ( chr_cnpj[i]-48 >=0 && chr_cnpj[i]-48 <=9 )
soma += (chr_cnpj[i] - 48 ) * (7 - (i + 1)) ;
for ( int i = 0; i < 8; i++ )
if ( chr_cnpj[i+5]-48 >=0 && chr_cnpj[i+5]-48 <=9 )
soma += (chr_cnpj[i+5] - 48 ) * (10 - (i + 1)) ;
dig = 11 - (soma % 11);
cnpj_calc += ( dig == 10 || dig == 11 ) ?
"0" : Integer.toString(dig);
return str_cnpj.equals(cnpj_calc);
}catch (Exception e){
System.err.println("Erro !"+e);
return false;
}
}else return false;
}
}
ValidaCnpj cnpj = new ValidaCnpj();
validado=cnpj.validaCnpj(strcnpj.getText());
if (validado){//validacnpj
// faz alguma coisa
else msgerroCnpj();
GOSTEI 0
Edson Amorim
09/04/2009
Prezado Rodrigo,
Lhe agradeço muito por ter postado este código. Gostaria na oportunidade, se for possível é clar, que voce me mostrasse como é que eu uso a chamada da classe ValidaCpf a partir da minha classe de inclusão dos dados.
Não sei fazer isso ainda. Eu tenho na minha tela de inclusão os campos:
Nome
Cpf
Endereço
Ficarei mais uma vez muito agradecido com mais essa ajuda,
Edson
GOSTEI 0
Rodrigo Scorsatto
09/04/2009
cara recomendo você ler um bom livro de java ou mais de um, a chamada eu postei no codigo acima, na tua clase é só vc usar o que eu coloquei...
GOSTEI 0
Edson Amorim
09/04/2009
Rdrigo,
Boa dica quanto a ler um bom livro, já estou fazendo isso mas leva tempo para aprender e muitas vezes a gente tem mesmo que perguntar sobre uma dúvida e outra, nem sempre a gente deve deixar tudo para resolver só mesmo com as leituras. A gente precisa de ajudas como esta que voce mesmo já postou aqui. Só que tem mais detalhes, por exemplo: eu estou na tela de inclusão e num determinado momento, chega a hora de digitar o numero do cpf aí tudo bem eu digito o cepf e como não tem critica nehuma a fazer neste campo, automaticamente após um "entra" ou "tab", eu vou para o outro campo onde eu digito o endereço e assim sucessivamente. Quero saber como é que eu faço aí neste momento quando eu acabo de digitar o cpf, como que eu completo o código do meu programa.
Conto com a ajuda de voce e de outras colegas também.
Antecipadamente, meus agradecimentos.
Edson
GOSTEI 0
Rodrigo Scorsatto
09/04/2009
cara o que vc pode fazer eh adicionar um evento no teu proximo campo, quando o usuário da um tab ou clicar com o mouse no proximo campo faz a validação do cpf...
GOSTEI 0
Edson Amorim
09/04/2009
Prezado Rodrigo,
Acho que já estou entendendo. Ainda não deu certo mas vai aí mais uma pergunta: Assim que eu defino o campo JtextField eu já devo chamar a rotina de validação? Como?
Grato,
Edson
GOSTEI 0
Rodrigo Scorsatto
09/04/2009
[quote="Amamorim"]Prezado Rodrigo,
Acho que já estou entendendo. Ainda não deu certo mas vai aí mais uma pergunta: Assim que eu defino o campo JtextField eu já devo chamar a rotina de validação? Como?
Grato,
Edson
digamos que teu proximo campo JtextField seja o rg que chamamos de strrg, vc deve criar um evento nesse campo e dai vc faz a validação ex:
private void strrgActionPerformed (java.awt.event.ActionEvent evt) {
aqui vc chama a rotina de validação
}
strrg.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
strrgActionPerformed(evt);
}
});
GOSTEI 0
Edson Amorim
09/04/2009
Prezado Rodrigo,
Tá quase!!. Peguei o seu código e inseri na minha classe. Ele esta comentado onde aparecem 3 barras mas ainda tá dando um erro!. Veja se estou no caminho certo!!
Qualquer coisa se for possivel me mostrar o correto, lhe agradeço muito.
Veja o meu código:
Atenciosamente,
Edson
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class Alterar extends JFrame {
JButton botao, botao2;
JLabel l1, l2, l3, l4, l5, l6, l7, l8;
JTextField t1, t2, t3, t4, t5, t6, t7, t8;
String result;
int num;
public Alterar(){
super ("Alteração de Registros");
Container tela = getContentPane();
tela.setLayout(null);
l1 = new JLabel("Código"); t1 = new JTextField(5);
l2 = new JLabel("Nome"); t2 = new JTextField(50);
l3 = new JLabel("Idade"); t3 = new JTextField(2);
l4 = new JLabel("CPF"); t4 = new JTextField(14);
l5 = new JLabel("RG"); t5 = new JTextField(12);
l6 = new JLabel("Data Nascimento"); t6 = new JTextField(10);
l7 = new JLabel("Salario"); t7 = new JTextField(15);
l8 = new JLabel("Deficiente"); t8 = new JTextField(5);
l1.setBounds(20, 30, 80, 20); t1.setBounds(100, 30,150, 20);
l2.setBounds(20, 70, 80, 20); t2.setBounds(100, 70,300, 20);
l3.setBounds(20,110, 80, 20); t3.setBounds(100,110, 30, 20);
l4.setBounds(195,110,40, 20); t4.setBounds(240,110,160, 20);
l5.setBounds(20,150, 80, 20); t5.setBounds(100,150, 80, 20);
l6.setBounds(195,150,90, 20); t6.setBounds(280,150,120, 20);
l7.setBounds(20,190, 80, 20); t7.setBounds(100,190, 70, 20);
l8.setBounds(20,230, 80, 20); t8.setBounds(100,230, 70, 20);
botao = new JButton("Consultar Registro"); botao.setBounds(20, 270, 150, 20);
botao2 = new JButton("Alterar Registro"); botao2.setBounds(250, 270, 150, 20);
tela.add(l1); tela.add(t1);
tela.add(l2); tela.add(t2);
tela.add(l3); tela.add(t3);
tela.add(l4); tela.add(t4);
tela.add(l5); tela.add(t5);
tela.add(l6); tela.add(t6);
tela.add(l7); tela.add(t7);
tela.add(l8); tela.add(t8);
tela.add(botao); tela.add(botao2);
botao.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
//String url = "jdbc:odbc:Agenda";
//String usuario = "";
//String senha = "";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//Connection con;
Connection con =
DriverManager.getConnection("jdbc:odbc:Agenda", "","");
//con = DriverManager.getConnection(url,usuario,senha);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM tabela1 WHERE Codigo ="+ t1.getText());
rs.next();
t2.setText(rs.getString("Nome"));
t3.setText(rs.getString("Idade"));
t4.setText(rs.getString("Cpf"));
t5.setText(rs.getString("strg"));
t6.setText(rs.getString("Dn"));
///**************************************************************
///**************************************************************
/// strrg.addActionListener(new java.awt.event.ActionListener() {
/// public void actionPerformed(java.awt.event.ActionEvent evt) {
/// strgActionPerformed(evt);
/// }
/// });
///**************************************************************
///************************************************************** t6.setText(rs.getString("Dn"));
t7.setText(rs.getString("Sal"));
num=Integer.parseInt(rs.getString("Def"));
if (num == 1)
result = "Sim";
{
if (num == 0)
result = "Não";
}
t8.setText(result);
st.close();
}
catch(Exception event ){
JOptionPane.showMessageDialog(null, "Conexão não estabelecida ou \nPessoa não encontrada \n Verifique se voce digitou o código para consulta", "Mensgaem do programa ", JOptionPane.ERROR_MESSAGE);
}
}});
/// private void strgActionPerformed (java.awt.event.ActionEvent evt) {
/// // aqui vc chama a rotina de validação
/// ValidaCpf cpf = new ValidaCpf();
/// validado=cpf.validacpf(strcpf.getText()); //validacpf
/// if(validado){
/// //faz alguma coisa
/// } else msgErroCpf();
/// }
botao2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
if (t8.getText().equals("sim")) //|| (((t6.getText()).equals("S")))
result = "Sim";
//t8.Text("Sim");
if (t8.getText().equals("S")) //|| (((t6.getText()).equals("S")))
result = "Sim";
// t8.Text("Sim");
if (t8.getText().equals("n")) //|| (((t6.getText()).equals("n")))
result = "Não";
// t8.Text("Não");
if (t8.getText().equals("N")) //|| (((t6.getText()).equals("N")))
result = "Não";
//t8.Text("Não");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =
DriverManager.getConnection("jdbc:odbc:Agenda", "","");
Statement st = con.createStatement();
//st.executeUpdate("UPDATE.Tabela1 SET Nome ='"+t2.getText()+"', Idade = "+t3.getText()+",Dn=#"+t4.getText()+"#,Sal="+t5.getText()+",Def="+ result+" WHERE Codigo = "+t1.getText());
st.executeUpdate("UPDATE.Tabela1 SET Nome ='"+t2.getText()+"', Idade = "+t3.getText()+", Cpf = "+t4.getText()+", strg = "+t5.getText()+", Dn=#"+t6.getText()+"#,Sal="+t7.getText()+" WHERE Codigo = "+t1.getText());
JOptionPane.showMessageDialog(null,"Registro Alterado com sucesso!...", "Mensagem do Programa", JOptionPane.INFORMATION_MESSAGE);
t1.requestFocus();
st.close();
con.close();
}
catch(Exception event){
JOptionPane.showMessageDialog(null, "Conexão não estabelecida", "Mensagem do Programa", JOptionPane.ERROR_MESSAGE);
}
}});
setSize(450,350);
setVisible(true);
setLocationRelativeTo(null);
}
public static void main (String args[]){
Alterar app = new Alterar();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
GOSTEI 0
Rodrigo Scorsatto
09/04/2009
segue o programa com algumas atualizações:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class Alterar extends JFrame {
JButton botao, botao2;
JLabel l1, l2, l3, l4, l5, l6, l7, l8;
JTextField t1, t2, t3, t4, t5, t6, t7, t8;
String result;
int num;
public Alterar (){
super ("Alteração de Registros");
Container tela = getContentPane ();
tela.setLayout (null);
l1 = new JLabel ("Código"); t1 = new JTextField (5);
l2 = new JLabel ("Nome"); t2 = new JTextField (50);
l3 = new JLabel ("Idade"); t3 = new JTextField (2);
l4 = new JLabel ("CPF"); t4 = new JTextField (14);
l5 = new JLabel ("RG"); t5 = new JTextField (12);
l6 = new JLabel ("Data Nascimento"); t6 = new JTextField (10);
l7 = new JLabel ("Salario"); t7 = new JTextField (15);
l8 = new JLabel ("Deficiente"); t8 = new JTextField (5);
l1.setBounds (20, 30, 80, 20); t1.setBounds (100, 30,150, 20);
l2.setBounds (20, 70, 80, 20); t2.setBounds (100, 70,300, 20);
l3.setBounds (20,110, 80, 20); t3.setBounds (100,110, 30, 20);
l4.setBounds (195,110,40, 20); t4.setBounds (240,110,160, 20);
l5.setBounds (20,150, 80, 20); t5.setBounds (100,150, 80, 20);
l6.setBounds (195,150,90, 20); t6.setBounds (280,150,120, 20);
l7.setBounds (20,190, 80, 20); t7.setBounds (100,190, 70, 20);
l8.setBounds (20,230, 80, 20); t8.setBounds (100,230, 70, 20);
botao = new JButton ("Consultar Registro"); botao.setBounds (20, 270, 150, 20);
botao2 = new JButton ("Alterar Registro"); botao2.setBounds (250, 270, 150, 20);
tela.add (l1); tela.add (t1);
tela.add (l2); tela.add (t2);
tela.add (l3); tela.add (t3);
tela.add (l4); tela.add (t4);
tela.add (l5); tela.add (t5);
tela.add (l6); tela.add (t6);
tela.add (l7); tela.add (t7);
tela.add (l8); tela.add (t8);
tela.add (botao); tela.add (botao2);
botao.addActionListener (new ActionListener (){
public void actionPerformed (ActionEvent e){
try{
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection ("jdbc:odbc:Agenda", "","");
Statement st = con.createStatement ();
ResultSet rs = st.executeQuery ("SELECT * FROM tabela1 WHERE Codigo ="+ t1.getText ());
rs.next ();
t2.setText (rs.getString ("Nome"));
t3.setText (rs.getString ("Idade"));
t4.setText (rs.getString ("Cpf"));
t5.setText (rs.getString ("strg"));
t6.setText (rs.getString ("Dn"));
t7.setText (rs.getString ("Sal"));
num=Integer.parseInt (rs.getString ("Def"));
if (num == 1)
result = "Sim";
{
if (num == 0)
result = "Não";
}
t8.setText (result);
st.close ();
} catch(Exception event ){
JOptionPane.showMessageDialog (null, "Conexão não estabelecida ou"
+ "\nPessoa não encontrada \n Verifique se voce digitou o código para consulta", "Mensgaem do programa ", JOptionPane.ERROR_MESSAGE);
}
}});
t5.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
System.out.println ("usou o mouse"); // aqui vc coloca a rotina de validacao
}
});
t5.addCaretListener(new javax.swing.event.CaretListener() {
public void caretUpdate(javax.swing.event.CaretEvent evt) {
System.out.println ("usou o teclado");// aqui vc coloca a rotina de validacao
}
});
botao2.addActionListener (new ActionListener (){
public void actionPerformed (ActionEvent e){
try{
if (t8.getText ().equals ("sim")) //|| (((t6.getText()).equals("S")))
result = "Sim";
//t8.Text("Sim");
if (t8.getText ().equals ("S")) //|| (((t6.getText()).equals("S")))
result = "Sim";
// t8.Text("Sim");
if (t8.getText ().equals ("n")) //|| (((t6.getText()).equals("n")))
result = "Não";
// t8.Text("Não");
if (t8.getText ().equals ("N")) //|| (((t6.getText()).equals("N")))
result = "Não";
//t8.Text("Não");
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =
DriverManager.getConnection ("jdbc:odbc:Agenda", "","");
Statement st = con.createStatement ();
//st.executeUpdate("UPDATE.Tabela1 SET Nome ='"+t2.getText()+"', Idade = "+t3.getText()+",Dn=#"+t4.getText()+"#,Sal="+t5.getText()+",Def="+ result+" WHERE Codigo = "+t1.getText());
st.executeUpdate ("UPDATE.Tabela1 SET Nome ='"+t2.getText ()+"', Idade = "+t3.getText ()+", Cpf = "+t4.getText ()+", strg = "+t5.getText ()+", Dn=#"+t6.getText ()+"#,Sal="+t7.getText ()+" WHERE Codigo = "+t1.getText ());
JOptionPane.showMessageDialog (null,"Registro Alterado com sucesso!...", "Mensagem do Programa", JOptionPane.INFORMATION_MESSAGE);
t1.requestFocus ();
st.close ();
con.close ();
}
catch(Exception event){
JOptionPane.showMessageDialog (null, "Conexão não estabelecida", "Mensagem do Programa", JOptionPane.ERROR_MESSAGE);
}
}});
setSize (450,350);
setVisible (true);
setLocationRelativeTo (null);
}
public static void main (String args[]){
java.awt.EventQueue.invokeLater (new Runnable () {
public void run () {
new Alterar ().setVisible (true);
}
});
}
}
GOSTEI 0
Edson Amorim
09/04/2009
Prezado Rodrigo,
Ótimo, implementei aqui a partir de suas modificações e felizmente, graças a Deus deu certo!! Está funcionando!! agora estou ajustando e adaptando para um melhor visul e acredito que este é um grande empuerrão para as próximas coisas a fazer deste tipo. E assim a gente vai aprendendo!
Valeu muito!!
Obrigado mais uma vez,
Edson
GOSTEI 0
Rodrigo Scorsatto
09/04/2009
beleza, qualquer duvida posta ai, que o pessoal do forum ajuda.
:smile:
GOSTEI 0
Eustorgésilio
09/04/2009
[quote="SerP"]Aqui tem uma biblioteca muito útil: https://brazilutils.dev.java.net/
Além desses que você precisa tem outros documentos.
Cara Interessei-me nessa biblioteca.
vc faz parte dos desenvolvedores?
como faça para conseguir ela?
ja me registrei no site e pedi um papel pra mim, soh que naum acho onde eu baixo a biblioteca!
vlw!
:smile:
GOSTEI 0
Fabio Cardoso
09/04/2009
Existe um site que disponibiliza uma api ( biblioteca, .dll) que pode ser usada em varias linguagens para consultar os dados da receita federal, sintegra e outros sites:
http://knu.com.br
Contratei aqui pra minha empresa e funciona muito bem. Usamos para confirmar dados cadastrais de clientes a partir de um CPF ou CNPJ (nome completo, razão social, situação cadastral, endereço, etc). É bom também para confirmar se a empresa existe e não apenas validar se o CNPJ ou CPF são válidos. Recomendo.
GOSTEI 0
Fabio Cardoso
09/04/2009
[quote="Bugs99"]Existe um site que disponibiliza uma api ( biblioteca, .dll) que pode ser usada em varias linguagens para consultar os dados da receita federal, sintegra e outros sites:
http://knu.com.br
Contratei aqui pra minha empresa e funciona muito bem. Usamos para confirmar dados cadastrais de clientes a partir de um CPF ou CNPJ (nome completo, razão social, situação cadastral, endereço, etc). É bom também para confirmar se a empresa existe e não apenas validar se o CNPJ ou CPF são válidos. Recomendo.
Meio atrasada a resposta (o tópico é de ALGUNS anos atrás), mas valeu a intenção! Os outros usuários agradecem!
GOSTEI 0
Lucas Iorio
09/04/2009
Lol a IDE JAVAFREE rolou solta aqui =)
GOSTEI 0