tag:blogger.com,1999:blog-72658763464638184402024-03-18T22:33:12.887-05:00JARC BLOGjarchttp://www.blogger.com/profile/12591571565320605055noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-7265876346463818440.post-55707267862649870692011-12-14T12:28:00.000-05:002011-12-14T12:32:08.385-05:00Programacion De 4500 Fingerprint Reader Digital Persona En Java Con Windows 7 -Parte 3 FINAL<div style="text-align: center;">
PROGRAMACION DE 4500 FINGERPRINT READER DIGITAL PERSONA EN JAVA CON WINDOWS 7-PARTE3 </div>
<div style="text-align: center;">
FINAL</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDE9oSmUJHa-ZsrHH1BTb_A8pIipZOxrM6jYETxRac2Xxh_RmPr2BxddM3ENJ4ZbyatBVesj6JUwsMPijfWn_f4Ogi5v2jhxNJf8H9ZQ0Sl9IlLGOYF9XUML0pzllrGLqwGALa3E4sDfhN/s1600/uareu4500-500x500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDE9oSmUJHa-ZsrHH1BTb_A8pIipZOxrM6jYETxRac2Xxh_RmPr2BxddM3ENJ4ZbyatBVesj6JUwsMPijfWn_f4Ogi5v2jhxNJf8H9ZQ0Sl9IlLGOYF9XUML0pzllrGLqwGALa3E4sDfhN/s200/uareu4500-500x500.jpg" width="200" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQzD6u2Qb1hyphenhyphenpAL7IXrUb482rArjvnU1nHIs80Gm-o1bVRGvHTMewGVr8Zzywsp6lDDwg6lXNd65g4pRQ6PS13n5rtkYvKJtkMv4yPs1H0oK1sFn9rajsfeL_egvEzX8BlpRifWu8WIchP/s1600/img1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
Para todos aquellos que con tanta paciencia estuvieron pendientes del blog y de esta entrada, espero culminar el año entregándoles la parte final de la programación del lector digital persona 4500, es por ello que en esta ultima parte, centraremos la atención de programar las huellas capturada desde el lector hacia o dirigida a una base de datos; como base proyecto que en los que necesitemos estos métodos de guardar, verificar y verificar.</div>
Por otra parte recordamos que en la parte 2, habíamos quedado hasta como mostrar en el en el panel de JFrame la huella dactilar capturada por el lector, como además una área de texto que nos permitía visualizar los distintos eventos que habíamos declarado para el lector, y también la cantidad de huellas dactilares necesarias para construir un template de una huella con el fin de que en esta parte, podamos guardarla, verificarla e identificarla.<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQzD6u2Qb1hyphenhyphenpAL7IXrUb482rArjvnU1nHIs80Gm-o1bVRGvHTMewGVr8Zzywsp6lDDwg6lXNd65g4pRQ6PS13n5rtkYvKJtkMv4yPs1H0oK1sFn9rajsfeL_egvEzX8BlpRifWu8WIchP/s1600/img1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQzD6u2Qb1hyphenhyphenpAL7IXrUb482rArjvnU1nHIs80Gm-o1bVRGvHTMewGVr8Zzywsp6lDDwg6lXNd65g4pRQ6PS13n5rtkYvKJtkMv4yPs1H0oK1sFn9rajsfeL_egvEzX8BlpRifWu8WIchP/s1600/img1.png" /></a></div>
<div style="text-align: justify;">
Continuando con esta última parte lo que realizaremos será; </div>
<div style="text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtks3a59n9J_ujXbLuqSOnrCiCuSpJuEvDRuNBADmDXFoaJXAXn9gWBFmPfZkL67C3KA5b-FB-g8-szbRJPERDoRLyhugN8O4UOUnRY8JV-YR3ufZFuEzf0HQuHQYbgbzHVi0oWCKqIlYP/s1600/img2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div style="text-align: justify;">
1. Crearemos un nuevo paquete, que llamaremos BD, y dentro de este creamos una clase llamada ConexionBD.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtks3a59n9J_ujXbLuqSOnrCiCuSpJuEvDRuNBADmDXFoaJXAXn9gWBFmPfZkL67C3KA5b-FB-g8-szbRJPERDoRLyhugN8O4UOUnRY8JV-YR3ufZFuEzf0HQuHQYbgbzHVi0oWCKqIlYP/s1600/img2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="101" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtks3a59n9J_ujXbLuqSOnrCiCuSpJuEvDRuNBADmDXFoaJXAXn9gWBFmPfZkL67C3KA5b-FB-g8-szbRJPERDoRLyhugN8O4UOUnRY8JV-YR3ufZFuEzf0HQuHQYbgbzHVi0oWCKqIlYP/s320/img2.png" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: justify;">
2. Luego en la clase creada declararemos lo siguiente:</div>
<div style="text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIz-JAhpu_Ywcy1QNEmfBxp-tuNh-T1XVYQv3QI3SlVzO-PMmYmqvj69VIkSCWMLo1Fytp25Ig3L0EZY0vf891QG7hFjGjydR514TBOcQuvxOa3OkMbwnoOh0FVLTI2NK23vsbCLkvDGog/s1600/img3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div style="text-align: justify;">
• Los imports necesarios para establecer la conexión respectiva con la BD, que hemos creado en MySQL, en la primera parte de este tutorial.<br />
<br />
<div style="text-align: center;">
import java.sql.Connection;<br />
import java.sql.DriverManager;<br />
import java.sql.SQLException;<br />
import javax.swing.JOptionPane;</div>
</div>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIz-JAhpu_Ywcy1QNEmfBxp-tuNh-T1XVYQv3QI3SlVzO-PMmYmqvj69VIkSCWMLo1Fytp25Ig3L0EZY0vf891QG7hFjGjydR514TBOcQuvxOa3OkMbwnoOh0FVLTI2NK23vsbCLkvDGog/s1600/img3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIz-JAhpu_Ywcy1QNEmfBxp-tuNh-T1XVYQv3QI3SlVzO-PMmYmqvj69VIkSCWMLo1Fytp25Ig3L0EZY0vf891QG7hFjGjydR514TBOcQuvxOa3OkMbwnoOh0FVLTI2NK23vsbCLkvDGog/s1600/img3.png" /></a> </div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: justify;">
No importa que marque que los import aun no esten usados, ya que esto lógico porque aun no hemos declarado ninguna sentecia o varible que use estos imports.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
• Declaremos estas variables después de la clase principal, que nos permitaran contener los valores de la conexión de la BD, el servidor, user, password, etc.<br />
Hay que recordar que los valores de estas variables pueden cambiar según la lógica de programación de cada uno, y además de cómo tengan configurado Mysql en su equipo. Por defecto estos son los valores con lo que la mayoría intalan mysql como además el nombre de la BD que habíamos creado en la primera parte.<br />
<br />
<div style="text-align: center;">
public String puerto="3306";<br />
public String nomservidor="localhost";<br />
public String db="huellas";<br />
public String user="root";<br />
public String pass="root";<br />
Connection conn=null;</div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMfMB6QftlyYoBZGu61cOvqC0azLTKYvPBaA0D82447w1VjrPzGt2_s2UhDd1di50CQs6ODL8CYgmhMzzCAoOKgGod4OA-73p1WEnof-Gy9GgcaK9vTia6h67oUAVx1q7xXjIk1L0jWHLa/s1600/img4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMfMB6QftlyYoBZGu61cOvqC0azLTKYvPBaA0D82447w1VjrPzGt2_s2UhDd1di50CQs6ODL8CYgmhMzzCAoOKgGod4OA-73p1WEnof-Gy9GgcaK9vTia6h67oUAVx1q7xXjIk1L0jWHLa/s1600/img4.png" /></a></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
• Crearemos una función o método llamado conectar y otro desconectar, el cual contendrá los parámetros de conexión y desconexión con la BD, como además un try catch que permitirá capturar las excepciones que puedan presentar a la hora de intentar conectar con la BD.</div>
<div style="text-align: justify;">
<br />
<div style="text-align: center;">
public Connection conectar(){<br />
try{<br />
String ruta="jdbc:mysql://";<br />
String servidor=nomservidor+":"+puerto+"/";<br />
Class.forName("com.mysql.jdbc.Driver");<br />
conn = DriverManager.getConnection(ruta+servidor+db,user,pass);<br />
<br />
if (conn!=null){<br />
System.out.println("Conección a base de datos listo...");<br />
}<br />
else if (conn==null)<br />
{<br />
throw new SQLException();<br />
}<br />
}catch(SQLException e){<br />
JOptionPane.showMessageDialog(null, e.getMessage());<br />
} catch (ClassNotFoundException e) {<br />
JOptionPane.showMessageDialog(null, "Se produjo el siguiente error: "+e.getMessage());<br />
}catch (NullPointerException e){<br />
JOptionPane.showMessageDialog(null, "Se produjo el siguiente error: "+e.getMessage());<br />
}finally{<br />
return conn;<br />
}<br />
}<br />
<br />
public void desconectar(){<br />
conn = null;<br />
System.out.println("Desconexion a base de datos listo...");<br />
}</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIJX3y4iHlfT7l7CMXFMPKLrVM3gvJ6XQOEEsa6KC7ncQHFW4JWSQ805HNNzLoQ24EPaJfVQh2qddmRCRW5T1Fk6lJ4-pEKIo8Pi3rfY2_jM-iGzQCY4JuJU1R4wJinIU5IMmw8aU9pCa7/s1600/img5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIJX3y4iHlfT7l7CMXFMPKLrVM3gvJ6XQOEEsa6KC7ncQHFW4JWSQ805HNNzLoQ24EPaJfVQh2qddmRCRW5T1Fk6lJ4-pEKIo8Pi3rfY2_jM-iGzQCY4JuJU1R4wJinIU5IMmw8aU9pCa7/s320/img5.png" width="320" /></a></div>
<div style="text-align: center;">
</div>
</div>
<div style="text-align: justify;">
<div style="text-align: center;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
3. Luego de haber creado la clase de ConexionBD, volvemos a la vista fuente del jframe principal, e importamos el import que me permitara ver los procedimientos de la clase conexionBD.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid4LbH2XufoQ_oNK2bGV1BEckedge8trVpJf6IgqquBdChaRD3ru3kRchl45HJ7x79ZpXqsMXiU6rh05XWSMeXpPwxLKZzJp6Y2XpZs05zb_TWroV2LscpJ64EuWVh90fJqyBKA9kUN9gS/s1600/img6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid4LbH2XufoQ_oNK2bGV1BEckedge8trVpJf6IgqquBdChaRD3ru3kRchl45HJ7x79ZpXqsMXiU6rh05XWSMeXpPwxLKZzJp6Y2XpZs05zb_TWroV2LscpJ64EuWVh90fJqyBKA9kUN9gS/s320/img6.png" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: center;">
También declaramos un constructor que me permitirá llamar una nueva intancia de la clase ConexionBD.</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5ES2gJsFhYzCY1sssFjT1BlA4oyjngZu8W9de-1E2WRAzgBoc6G0skx0CnbtLuKlwAV-4fmH9vriQqT6EFqU-vbduGlECoGC4yTJ27bJmsJqR_1KaJMKcN0kBsjrNs1Y95MEsstHNoGdm/s1600/img7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5ES2gJsFhYzCY1sssFjT1BlA4oyjngZu8W9de-1E2WRAzgBoc6G0skx0CnbtLuKlwAV-4fmH9vriQqT6EFqU-vbduGlECoGC4yTJ27bJmsJqR_1KaJMKcN0kBsjrNs1Y95MEsstHNoGdm/s1600/img7.png" /></a></div>
<div style="text-align: center;">
</div>
</div>
<div style="text-align: justify;">
<div style="text-align: center;">
<br /></div>
<div style="text-align: justify;">
4. Ahora nos centraremos en crear cada método, para guardar, verificar e identificar la huella dactilar capturada.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<b>• Así que empezamos creando el método de guardarHuella.</b><br />
<br />
/*<br />
* Guarda los datos de la huella digital actual en la base de datos<br />
*/<br />
<br />
public void guardarHuella(){<br />
//Obtiene los datos del template de la huella actual<br />
ByteArrayInputStream datosHuella = new ByteArrayInputStream(template.serialize());<br />
Integer tamañoHuella=template.serialize().length;<br />
<br />
//Pregunta el nombre de la persona a la cual corresponde dicha huella<br />
String nombre = JOptionPane.showInputDialog("Nombre:");<br />
try {<br />
//Establece los valores para la sentencia SQL<br />
Connection c=con.conectar();<br />
PreparedStatement guardarStmt = c.prepareStatement("INSERT INTO somhue(huenombre, huehuella) values(?,?)");<br />
guardarStmt.setString(1,nombre);<br />
guardarStmt.setBinaryStream(2, datosHuella,tamañoHuella);<br />
//Ejecuta la sentencia<br />
guardarStmt.execute();<br />
guardarStmt.close();<br />
JOptionPane.showMessageDialog(null,"Huella Guardada Correctamente");<br />
con.desconectar();<br />
btnGuardar.setEnabled(false);<br />
btnVerificar.grabFocus();<br />
} catch (SQLException ex) {<br />
//Si ocurre un error lo indica en la consola<br />
System.err.println("Error al guardar los datos de la huella.");<br />
}finally{<br />
con.desconectar();<br />
}<br />
}<br />
</div>
<div style="text-align: justify;">
Luego de haber declarado este método se marcaran 4 errores sobre algunas líneas de código, y esto es porque no se han importado los imports necesarios para cada línea así que lo que haremos es con la ayuda de Netbeans, posicionamos el cursor sobre cada símbolo que marca error, y presionamos clic izquierdo, y le daremos añadir import… así;</div>
<div style="text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhihZN3Ggt-oOqVw8FPEx_sPrnkX_8FFn50SC31TeOon8fMTQekmSP5vIDEKCnANyNEutX6ZcC_yN7xO5bAXWPFHfCdqLRJLQqHJrw7zZ5TUPuXE81YOfBdLKCGnaQDHHoSe9-ELCMsuS9p/s1600/img8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhihZN3Ggt-oOqVw8FPEx_sPrnkX_8FFn50SC31TeOon8fMTQekmSP5vIDEKCnANyNEutX6ZcC_yN7xO5bAXWPFHfCdqLRJLQqHJrw7zZ5TUPuXE81YOfBdLKCGnaQDHHoSe9-ELCMsuS9p/s320/img8.png" width="320" /></a></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<b>• Seguimos creando el método de verificarHuella.</b></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Luego declararemos el método de verificarHuella, la cual funciona con la ayuda del usuario, es decir este método se basa en que el usuario le pasa un parámetro especifico al sistema de la BD, para que este filtre según este parámetro, que para este caso sería el nombre con que se guardo la huella dactilar, pero cabe resaltar que puede ser usado con cualquier otro tipo de parámetro con que se halla guardado la huella, puede ser con el ID, si sabe y si también hay un campo en la tabla de CC o ID de usuario, en fin, la lógica con que se use es variada.<br />
<br />
/**<br />
* Verifica la huella digital actual contra otra en la base de datos<br />
*/<br />
public void verificarHuella(String nom) {<br />
try {<br />
//Establece los valores para la sentencia SQL<br />
Connection c=con.conectar();<br />
//Obtiene la plantilla correspondiente a la persona indicada<br />
PreparedStatement verificarStmt = c.prepareStatement("SELECT huehuella FROM somhue WHERE huenombre=?");<br />
verificarStmt.setString(1,nom);<br />
ResultSet rs = verificarStmt.executeQuery();<br />
<br />
//Si se encuentra el nombre en la base de datos<br />
if (rs.next()){<br />
//Lee la plantilla de la base de datos<br />
byte templateBuffer[] = rs.getBytes("huehuella");<br />
//Crea una nueva plantilla a partir de la guardada en la base de datos<br />
DPFPTemplate referenceTemplate = DPFPGlobal.getTemplateFactory().createTemplate(templateBuffer);<br />
//Envia la plantilla creada al objeto contendor de Template del componente de huella digital<br />
setTemplate(referenceTemplate);<br />
<br />
// Compara las caracteriticas de la huella recientemente capturda con la<br />
// plantilla guardada al usuario especifico en la base de datos<br />
DPFPVerificationResult result = Verificador.verify(featuresverificacion, getTemplate());<br />
<br />
//compara las plantilas (actual vs bd)<br />
if (result.isVerified())<br />
JOptionPane.showMessageDialog(null, "Las huella capturada coinciden con la de "+nom,"Verificacion de Huella", JOptionPane.INFORMATION_MESSAGE);<br />
else<br />
JOptionPane.showMessageDialog(null, "No corresponde la huella con "+nom, "Verificacion de Huella", JOptionPane.ERROR_MESSAGE);<br />
<br />
//Si no encuentra alguna huella correspondiente al nombre lo indica con un mensaje<br />
} else {<br />
JOptionPane.showMessageDialog(null, "No existe un registro de huella para "+nom, "Verificacion de Huella", JOptionPane.ERROR_MESSAGE);<br />
}<br />
} catch (SQLException e) {<br />
//Si ocurre un error lo indica en la consola<br />
System.err.println("Error al verificar los datos de la huella.");<br />
}finally{<br />
con.desconectar();<br />
}<br />
} </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Cuando se crea este método también veremos algunos errores, por lo que al igual que en el método anterior, importaremos los imports necesarios para corregir estos errores.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZBkq6fDWCv5k7PTMWL6UVAlfVwSl-cNv85qE86VkiQTTAbNPEwsZiaFKUr6JEzafuzTrgUmQxRWJ5dZwEoB8aXyVFAbLXLaQeGYG3KjaS8I3Xlyw-CWGJu1Yyx3krDHC6ozMil0nEB004/s1600/img9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZBkq6fDWCv5k7PTMWL6UVAlfVwSl-cNv85qE86VkiQTTAbNPEwsZiaFKUr6JEzafuzTrgUmQxRWJ5dZwEoB8aXyVFAbLXLaQeGYG3KjaS8I3Xlyw-CWGJu1Yyx3krDHC6ozMil0nEB004/s320/img9.png" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<b>• Finalmente creamos el método de identificarHuella.</b></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Por ultimo declararemos el método de identificarHuella, el cual se basa en que al capturar la huella dactilar, prescionando el botón de identificar, este se encarga de comparar cada huella dactilar guardada en la BD con la capturada y decir a quien pertenece esta huella.<br />
<br />
/**<br />
* Identifica a una persona registrada por medio de su huella digital<br />
*/<br />
public void identificarHuella() throws IOException{<br />
try {<br />
//Establece los valores para la sentencia SQL<br />
Connection c=con.conectar();<br />
<br />
//Obtiene todas las huellas de la bd<br />
PreparedStatement identificarStmt = c.prepareStatement("SELECT huenombre,huehuella FROM somhue");<br />
ResultSet rs = identificarStmt.executeQuery();<br />
<br />
//Si se encuentra el nombre en la base de datos<br />
while(rs.next()){<br />
//Lee la plantilla de la base de datos<br />
byte templateBuffer[] = rs.getBytes("huehuella");<br />
String nombre=rs.getString("huenombre");<br />
//Crea una nueva plantilla a partir de la guardada en la base de datos<br />
DPFPTemplate referenceTemplate = DPFPGlobal.getTemplateFactory().createTemplate(templateBuffer);<br />
//Envia la plantilla creada al objeto contendor de Template del componente de huella digital<br />
setTemplate(referenceTemplate);<br />
<br />
// Compara las caracteriticas de la huella recientemente capturda con la<br />
// alguna plantilla guardada en la base de datos que coincide con ese tipo<br />
DPFPVerificationResult result = Verificador.verify(featuresverificacion, getTemplate());<br />
<br />
//compara las plantilas (actual vs bd)<br />
//Si encuentra correspondencia dibuja el mapa<br />
//e indica el nombre de la persona que coincidió.<br />
if (result.isVerified()){<br />
//crea la imagen de los datos guardado de las huellas guardadas en la base de datos<br />
JOptionPane.showMessageDialog(null, "Las huella capturada es de "+nombre,"Verificacion de Huella", JOptionPane.INFORMATION_MESSAGE);<br />
return;<br />
}<br />
}<br />
//Si no encuentra alguna huella correspondiente al nombre lo indica con un mensaje<br />
JOptionPane.showMessageDialog(null, "No existe ningún registro que coincida con la huella", "Verificacion de Huella", JOptionPane.ERROR_MESSAGE);<br />
setTemplate(null);<br />
} catch (SQLException e) {<br />
//Si ocurre un error lo indica en la consola<br />
System.err.println("Error al identificar huella dactilar."+e.getMessage());<br />
}finally{<br />
con.desconectar();<br />
}<br />
}<br />
</div>
<div style="text-align: justify;">
Cuando se crea este método también veremos algunos errores, por lo que al igual que en los método anteriores, importaremos los imports necesarios para corregir estos errores.</div>
<div style="text-align: justify;">
</div>
</div>
</div>
<div style="text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpE-wfHgBiKxOYinbCK6hov6jj2HnyGbj1f0wmQ7nFPt5UZ4NYvI1-vNvT_HnJb0yPoEBpUrPEnMmJzy42W-yIOl_hWt0Nkwgf5_Sfcv-VcoJUZ2sVuwI2br2EsfFn8dB_1gHjDNj55HQe/s1600/img10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpE-wfHgBiKxOYinbCK6hov6jj2HnyGbj1f0wmQ7nFPt5UZ4NYvI1-vNvT_HnJb0yPoEBpUrPEnMmJzy42W-yIOl_hWt0Nkwgf5_Sfcv-VcoJUZ2sVuwI2br2EsfFn8dB_1gHjDNj55HQe/s320/img10.png" width="320" /></a></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
5. Finalmente, después de haber creado todo esto métodos, solo resta llamar los respectivos métodos en los eventos cuando se presionen cada botón.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: center;">
• Empezamos con el botón de Guardar.<br />
guardarHuella();<br />
Reclutador.clear();<br />
lblImagenHuella.setIcon(null);<br />
start();</div>
<div style="text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrTpCh61ZDRZHi-umqepCYIkju67TuioAwbD6yc9GkSI4UBFyuF3PnNGaQcKJXrJ6piEH-HOXO7i8Bb2-lh7k4KsLLQoiWZXFjFwzg0kxEB5uixTn-thzHD-oaZBaIohsvnLdX5DM-Sfsb/s1600/img11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrTpCh61ZDRZHi-umqepCYIkju67TuioAwbD6yc9GkSI4UBFyuF3PnNGaQcKJXrJ6piEH-HOXO7i8Bb2-lh7k4KsLLQoiWZXFjFwzg0kxEB5uixTn-thzHD-oaZBaIohsvnLdX5DM-Sfsb/s1600/img11.png" /></a></div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV8NNRsam_BeOSzJ5f-9wgNsbQ9oYt69CcIIkb99pY40klqTULI2O-eK9mGS-d3LRl59qT4n91cHK2t-L-9jPOmKTMFdvhD6esQT4StpGoRvnhryh9T74xKwYBknx8ozNmoRJux2pyHH9M/s1600/img12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div style="text-align: center;">
<br />
• Seguimos con el botón de Verificar.<br />
String nombre = JOptionPane.showInputDialog("Nombre a verificar:");<br />
verificarHuella(nombre);<br />
Reclutador.clear();<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV8NNRsam_BeOSzJ5f-9wgNsbQ9oYt69CcIIkb99pY40klqTULI2O-eK9mGS-d3LRl59qT4n91cHK2t-L-9jPOmKTMFdvhD6esQT4StpGoRvnhryh9T74xKwYBknx8ozNmoRJux2pyHH9M/s1600/img12.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV8NNRsam_BeOSzJ5f-9wgNsbQ9oYt69CcIIkb99pY40klqTULI2O-eK9mGS-d3LRl59qT4n91cHK2t-L-9jPOmKTMFdvhD6esQT4StpGoRvnhryh9T74xKwYBknx8ozNmoRJux2pyHH9M/s1600/img12.png" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
• Por último el botón Identificar.<br />
try {<br />
identificarHuella();<br />
Reclutador.clear();<br />
} catch (IOException ex) {<br />
Logger.getLogger(CapturaHuella.class.getName()).log(Level.SEVERE, null, ex);<br />
}<br />
En este punto también, importaremos los import necesario que permitan corregir los errores presentado.</div>
<div style="text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsHTJ9hfubY_XG9klkBipNZDaSdQJFAHYhzVHm3LWiXCnTzwQcPIRggyR-sbP-Mjx0-Ynf_tSkMoJ_W58Bn7BfxEM65jlJBSfgZk7VhzN4rTo2kXbnHMxREHCdI1E9UGeOmucYycz9vpBM/s1600/img13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsHTJ9hfubY_XG9klkBipNZDaSdQJFAHYhzVHm3LWiXCnTzwQcPIRggyR-sbP-Mjx0-Ynf_tSkMoJ_W58Bn7BfxEM65jlJBSfgZk7VhzN4rTo2kXbnHMxREHCdI1E9UGeOmucYycz9vpBM/s1600/img13.png" /></a></div>
<div style="text-align: center;">
-------------------------------------------------------------------------------------------------------------</div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>Eso es todo, espero le sirva y no olviden en comentar, nos vemos después cuando surja una inquietud y podamos resolverla… SALUDOS JARC..!<br /><br />QUE DIOS BENDIGA A TODOS LOS QUE ESTUVIERON PENDIENTES DE ESTA ENTRADA Y LE HALLA SERVIDO DE ALGO, QUE PASEN UNA FELIZ NAVIDAD Y UN PROSPERO AÑO NUEVO.</i></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Tambien les dejos un documento pdf con el desarrollo de esta ultima parte del Tutorial. <a href="https://sites.google.com/site/jarcsite/Programacion4500DigitalPersonaenJavaW7byJ@RC-parte3.rar" target="_blank">Aqui</a><br />
<br />
Y lo que todos esperan, el codigo fuente, pues aqui se los dejo y espero por lo menos comenten si de algo le ha servido. <a href="https://sites.google.com/site/jarcsite/HuellaJARCDigitalPersona4500-FINAL.rar" target="_blank">Aqui</a><br />
<br />
DEDICADO A TODOS AQUELLOS QUE CON PACIENCIA ESPERARON AL DESARROLLO DE ESTE TUTORIAL Y OJALA HALLAMOS ENTENDIDO EL TEMA, ESPERO ESTA ULTIMA PARTE SEA EL REGALO QUE MUCHOS NECESISTABAN, SALUDOS... </div>
<div style="text-align: center;">
<br />
!EL CONOCIMIENTO AUMENTA CUANDO SE COMPARTE¡<br />
<br />
<i>¡feliz navidad a todas las familias de colombia y en especial aquellas que han sido asotadas por estos desastres naturales, que recuerden que Dios nunca nos olvida.</i>!</div>
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFIWtKf1XIpe6RdUU_bHm4RpK8jrHPr30qFYV5obbT07C0ha4mo1uI1oFFjB8CzhzZc9BJRl9JlOt5s4SALsYRfAXkIvF7JVUfJh8Q6ADDSeJcCWZyCxAztBw_-9wDFdAZCtnqEiU4VKM/s1600/feliznavidad.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFIWtKf1XIpe6RdUU_bHm4RpK8jrHPr30qFYV5obbT07C0ha4mo1uI1oFFjB8CzhzZc9BJRl9JlOt5s4SALsYRfAXkIvF7JVUfJh8Q6ADDSeJcCWZyCxAztBw_-9wDFdAZCtnqEiU4VKM/s320/feliznavidad.gif" width="281" /></a></div>
<br /></div>jarchttp://www.blogger.com/profile/12591571565320605055noreply@blogger.com150tag:blogger.com,1999:blog-7265876346463818440.post-84372963631465736062011-10-20T19:51:00.000-05:002011-12-14T12:03:09.740-05:00Programacion De 4500 Fingerprint Reader Digital Persona En Java Con Windows 7 -Parte 2<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQwZIGwSRANxi8Jw_pcqeJnvfj6oS28PM52bRC_aCSAZH3gZPHe94lOtdXVOG5dp4KOYoLqGNZh5ZPxvDTda2VSabmycAbr4kl_B_nKrN0KOr02h-oLo_GhV7KQvuDe20v2ji4X59pyBJu/s1600/imag8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div style="text-align: justify;">
<div style="text-align: center;">
PROGRAMACION DE 4500 FINGERPRINT READER DIGITAL PERSONA EN JAVA CON WINDOWS 7-PARTE 2</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjepHtZC17Y4OhqNIWIdI37UUWMph-ikj2dQe06RTwWnnZ_zvwgWKkGlHxlfSpK_FL3ZgBpmsej_Ranv06YQtYtK4ZvTrsxFkvZod9u5qdhZ9nz6Z1c2MS-PYT3c8j3uJxS6S0LnY8muLu5/s1600/uareu4500-500x500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjepHtZC17Y4OhqNIWIdI37UUWMph-ikj2dQe06RTwWnnZ_zvwgWKkGlHxlfSpK_FL3ZgBpmsej_Ranv06YQtYtK4ZvTrsxFkvZod9u5qdhZ9nz6Z1c2MS-PYT3c8j3uJxS6S0LnY8muLu5/s200/uareu4500-500x500.jpg" width="200" /></a></div>
Continuando con el desarrollo de este articulo, en esta parte nos encargaremos quizás de la parte más importante en el desarrollo del artículo, el cual hace referencia a la creación de los métodos abstractos que se implementan para el correcto funcionamiento de la previas captura de las huellas digitales por medio del lector, y nuestra tercera parte estaremos desarrollando las parte de cómo guardar, autentificar y verificar huellas desde la base de datos creadas en la primera parte, entonces sin más aquí vamos:<br />
• Creamos un nuevo proyecto el IDE Netbeans 6.9.1<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqN62IH-jhTpjtAEDj9EYog_jDcIVqiD3H56dv6BWDOfPKE7n9tgHuJE7hZnCOySGYHiahOmILBGxM_rP1hZl3wpz7hBiDk2mFSrvkzZgPAEXvwZtmShV29FINIRifdK0uzgWNt4h8fawl/s1600/imag1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqN62IH-jhTpjtAEDj9EYog_jDcIVqiD3H56dv6BWDOfPKE7n9tgHuJE7hZnCOySGYHiahOmILBGxM_rP1hZl3wpz7hBiDk2mFSrvkzZgPAEXvwZtmShV29FINIRifdK0uzgWNt4h8fawl/s320/imag1.png" width="320" /></a></div>
• Creamos un nuevo directorio o carpeta, que podremos llamar Formularios.</div>
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX9o9SGjo4Mm1C-hd9sCfAhgPiiD_wpyjya0GtFqc4gNsTRsWb7k_r-IRSW4lM5CJM-vcwod3naJ7HloGG4GneG9xsnsL1_c2pf-cnZ11PJsNxicP2gs8LVpznf_lNgbSXxVCP3w8U3PJf/s1600/imag2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX9o9SGjo4Mm1C-hd9sCfAhgPiiD_wpyjya0GtFqc4gNsTRsWb7k_r-IRSW4lM5CJM-vcwod3naJ7HloGG4GneG9xsnsL1_c2pf-cnZ11PJsNxicP2gs8LVpznf_lNgbSXxVCP3w8U3PJf/s320/imag2.png" width="320" /></a></div>
<br />
• Creamos un JFrame, que llamaremos CapturaHuella<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPUIpDdALMJ3jdpL5DUXQ8Zyp7QSqkRQtbFUiiblSjWTacL7BjSJlKbzmKO7rpZd_epoJb0epw3M8cK5TGopR5K98HOzztnOBb57MLYj4RTnp0T3gEr0Ue-vI-VaP7Dvf7C05ck4Z3DHJu/s1600/imag3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPUIpDdALMJ3jdpL5DUXQ8Zyp7QSqkRQtbFUiiblSjWTacL7BjSJlKbzmKO7rpZd_epoJb0epw3M8cK5TGopR5K98HOzztnOBb57MLYj4RTnp0T3gEr0Ue-vI-VaP7Dvf7C05ck4Z3DHJu/s1600/imag3.png" /></a></div>
En este punto no es necesario, dar ningún toque de apariencia a nuestro formulario, ya que nos vamos a dedicar a desarrollar los métodos abstractos con las respectivas variables, y además todo lo vamos a realizar en el espacio de Fuente del formulario, sin usar ninguna clase, aunque para muchos no sea uno forma modulada de programar, pero con el fin de explicar es mas q suficiente, y pues de ahí cada quien adapta su aplicación a como lo requieran.</div>
<div style="text-align: justify;">
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp-sIzvy7zdJi6bjt2cfamqfRgcUCGefEtyeyZAEEdcotKQCjlBQvGtmo2_qfP7r4wE61PCz65GuCougGHXPsJbIbyPTdxX_RSB967EMpFahhhQ-Efg8l-vciFZdeLvT1XDLmU9osOYWrL/s1600/imag4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp-sIzvy7zdJi6bjt2cfamqfRgcUCGefEtyeyZAEEdcotKQCjlBQvGtmo2_qfP7r4wE61PCz65GuCougGHXPsJbIbyPTdxX_RSB967EMpFahhhQ-Efg8l-vciFZdeLvT1XDLmU9osOYWrL/s320/imag4.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ8un2aakGX0YaTwezuHkQM_ChWiKW0DV0qgdilVyvtF06DsLDUqOQ-4XUOOmt1lufKkKE_Ep4auuw-kwy_ExUsXf1g-nmuUTkGaoXbyONNNxC8Tr5gqYbK4JciH8_Xui4IIB9CPKUrT1t/s1600/imag5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
1. Verficamos que los .jar, que copiamos a los jre de java están correctamente instalados y aceptados por el IDE de Netbeans para luego programarl IDE de Digital Persona.<br />
Realizamos un pequeño import para darnos cuenta ha sido aceptado el IDE de DigitalPersona.<br />
<br />
<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ8un2aakGX0YaTwezuHkQM_ChWiKW0DV0qgdilVyvtF06DsLDUqOQ-4XUOOmt1lufKkKE_Ep4auuw-kwy_ExUsXf1g-nmuUTkGaoXbyONNNxC8Tr5gqYbK4JciH8_Xui4IIB9CPKUrT1t/s1600/imag5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ8un2aakGX0YaTwezuHkQM_ChWiKW0DV0qgdilVyvtF06DsLDUqOQ-4XUOOmt1lufKkKE_Ep4auuw-kwy_ExUsXf1g-nmuUTkGaoXbyONNNxC8Tr5gqYbK4JciH8_Xui4IIB9CPKUrT1t/s320/imag5.png" width="320" /></a></div>
<div style="text-align: center;">
Al aparecernos import com.digitalpersona…. quiere decir que está bien y podremos continuar…</div>
<br />
2. En el constructor del JFrame, antes de initComponents(); insertamos el siguiente código con el fin de cambiarle el estilo visual a la aplicación.<br />
try {<br />
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());<br />
} catch (Exception e) {<br />
JOptionPane.showMessageDialog(null, "Imposible modificar el tema visual", "Lookandfeel inválido.",<br />
JOptionPane.ERROR_MESSAGE);<br />
}<br />
En este momentos nos sales una cantidad de errors y es porque no se han hecho los imports correspondientes, asi que simplemente hacemos clic sobre el icono que denota el error y se agregan los imports necesarios.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5MUf-ETu7JckAYU8OmFtlONztSotpDHl6nQOXpJc9273HoO8VzdlvXnMJ6ccegKkM4RT4vpkqQ8TbixHtUrM_692YHa5qkxD4gfBiYFxKyrB_EQlpP7tkuQgHRK1LudP96Vb6R0QF66hA/s1600/imag6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="119" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5MUf-ETu7JckAYU8OmFtlONztSotpDHl6nQOXpJc9273HoO8VzdlvXnMJ6ccegKkM4RT4vpkqQ8TbixHtUrM_692YHa5qkxD4gfBiYFxKyrB_EQlpP7tkuQgHRK1LudP96Vb6R0QF66hA/s320/imag6.png" width="320" /></a></div>
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
3. Ahora declaramos 5 variables principales para la captura, verificación, inserción y template de la huella digital que se pretende capturar y también importamos los imports que necesiten esas variables.<br />
private DPFPCapture Lector = DPFPGlobal.getCaptureFactory().createCapture();<br />
private DPFPEnrollment Reclutador = DPFPGlobal.getEnrollmentFactory().createEnrollment();<br />
private DPFPVerification Verificador = DPFPGlobal.getVerificationFactory().createVerification();<br />
private DPFPTemplate template;<br />
public static String TEMPLATE_PROPERTY = "template";</div>
<div style="text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFrVBt8ve70V-KQOJZgST84wqdKl0N_6lD-UOWJCvrhm3aa6agTe_ESpyAJSJBW4FP6qAN_Oja-IE6e76l5if4xGSLI9Wdb0sTD0xjnMyjTkPQ_GnhJ7OOwlA19MIxsHi5u9ZvBb877m5Y/s1600/imag7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFrVBt8ve70V-KQOJZgST84wqdKl0N_6lD-UOWJCvrhm3aa6agTe_ESpyAJSJBW4FP6qAN_Oja-IE6e76l5if4xGSLI9Wdb0sTD0xjnMyjTkPQ_GnhJ7OOwlA19MIxsHi5u9ZvBb877m5Y/s320/imag7.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
4. Creamos los métodos abstractos, para la variable Lector, creando un Nuevo método que podemos llamar Iniciar, en el cual vamos a colocar los distintos métodos programable del lector, bien sea cuando ocurre la captura de la huella, cuando el lector se conecta o desconecta, cuando se coloca el dedo o se retira y cuando se presenta algún error, estos suelen ser los más importantes pero puede existir uno o dos más que para este ejemplo no los tocaremos.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
protected void Iniciar(){<br />
Lector.addDataListener(new DPFPDataAdapter() {<br />
@Override public void dataAcquired(final DPFPDataEvent e) {<br />
SwingUtilities.invokeLater(new Runnable() { public void run() {<br />
EnviarTexto("La Huella Digital ha sido Capturada");<br />
ProcesarCaptura(e.getSample());<br />
}});}<br />
});<br />
<br />
Lector.addReaderStatusListener(new DPFPReaderStatusAdapter() {<br />
@Override public void readerConnected(final DPFPReaderStatusEvent e) {<br />
SwingUtilities.invokeLater(new Runnable() { public void run() {<br />
EnviarTexto("El Sensor de Huella Digital esta Activado o Conectado");<br />
}});}<br />
@Override public void readerDisconnected(final DPFPReaderStatusEvent e) {<br />
SwingUtilities.invokeLater(new Runnable() { public void run() {<br />
EnviarTexto("El Sensor de Huella Digital esta Desactivado o no Conecatado");<br />
}});}<br />
});<br />
<br />
Lector.addSensorListener(new DPFPSensorAdapter() {<br />
@Override public void fingerTouched(final DPFPSensorEvent e) {<br />
SwingUtilities.invokeLater(new Runnable() { public void run() {<br />
EnviarTexto("El dedo ha sido colocado sobre el Lector de Huella");<br />
}});}<br />
@Override public void fingerGone(final DPFPSensorEvent e) {<br />
SwingUtilities.invokeLater(new Runnable() { public void run() {<br />
EnviarTexto("El dedo ha sido quitado del Lector de Huella");<br />
}});}<br />
});<br />
<br />
Lector.addErrorListener(new DPFPErrorAdapter(){<br />
public void errorReader(final DPFPErrorEvent e){<br />
SwingUtilities.invokeLater(new Runnable() { public void run() {<br />
EnviarTexto("Error: "+e.getError());<br />
}});}<br />
});<br />
}<br />
Lector.addErrorListener(new DPFPErrorAdapter(){<br />
public void errorReader(final DPFPErrorEvent e){<br />
SwingUtilities.invokeLater(new Runnable() { public void run() {<br />
enviarTexto("Error: "+e.getError());<br />
}});}<br />
});<br />
}<br />
Para este punto existen dos métodos que aun no hemos creado y aun después de importar todos los imports necesarios que son:<br />
import com.digitalpersona.onetouch.DPFPGlobal;<br />
import com.digitalpersona.onetouch.DPFPTemplate;<br />
import com.digitalpersona.onetouch.capture.DPFPCapture;<br />
import com.digitalpersona.onetouch.capture.event.DPFPDataAdapter;<br />
import com.digitalpersona.onetouch.capture.event.DPFPDataEvent;<br />
import com.digitalpersona.onetouch.capture.event.DPFPErrorAdapter;<br />
import com.digitalpersona.onetouch.capture.event.DPFPErrorEvent;<br />
import com.digitalpersona.onetouch.capture.event.DPFPReaderStatusAdapter;<br />
import com.digitalpersona.onetouch.capture.event.DPFPSensorAdapter;<br />
import com.digitalpersona.onetouch.processing.DPFPEnrollment;<br />
import com.digitalpersona.onetouch.verification.DPFPVerification;<br />
<br />
Marcara errores en los metodos:<br />
EnviarTexto();<br />
ProcesarCaptura();<br />
No importa porque ahora desarrollaremos estos métodos.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQwZIGwSRANxi8Jw_pcqeJnvfj6oS28PM52bRC_aCSAZH3gZPHe94lOtdXVOG5dp4KOYoLqGNZh5ZPxvDTda2VSabmycAbr4kl_B_nKrN0KOr02h-oLo_GhV7KQvuDe20v2ji4X59pyBJu/s1600/imag8.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQwZIGwSRANxi8Jw_pcqeJnvfj6oS28PM52bRC_aCSAZH3gZPHe94lOtdXVOG5dp4KOYoLqGNZh5ZPxvDTda2VSabmycAbr4kl_B_nKrN0KOr02h-oLo_GhV7KQvuDe20v2ji4X59pyBJu/s1600/imag8.png" /></a></div>
<div style="text-align: justify;">
<br />
5. Antes de comenzar a crear el método EnviarTexto(), declararemos dos variable que son las mas importante en el proyecto, y sirven para procesar las características de la huella capturada, bien sea para verificarla o para crear una nueva e importamos los imports necesarios para estas variables.<br />
<br />
public DPFPFeatureSet featuresinscripcion;<br />
public DPFPFeatureSet featuresverificacion;</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg25pKhxz-2sbecMi3hOog1mXOzvr0Zp_ijKCSEFVlP0Wc8_zrcNDF_XCurDLYo9_HP41OYBVrbRkFa21foBG97wLieCJojrYYHAmnPfwM0En-izvOBeGzfXVzZ9Ya7e3FPxfYw5wehfaUW/s1600/imag9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg25pKhxz-2sbecMi3hOog1mXOzvr0Zp_ijKCSEFVlP0Wc8_zrcNDF_XCurDLYo9_HP41OYBVrbRkFa21foBG97wLieCJojrYYHAmnPfwM0En-izvOBeGzfXVzZ9Ya7e3FPxfYw5wehfaUW/s1600/imag9.png" /></a></div>
<br />
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
6. Creamos el metodo ProcesarCaptura(); y para cada item donde presente error no se les olvide importar los imports correspondientes.<br />
Pero antes declararemos una serie de métodos que son llamados dentro de este método de ProcesarCaptura.<br />
public DPFPFeatureSet extraerCaracteristicas(DPFPSample sample, DPFPDataPurpose purpose){<br />
DPFPFeatureExtraction extractor = DPFPGlobal.getFeatureExtractionFactory().createFeatureExtraction();<br />
try {<br />
return extractor.createFeatureSet(sample, purpose);<br />
} catch (DPFPImageQualityException e) {<br />
return null;<br />
}<br />
}</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxW5RQWSb-u8JEeHZcvk0xgCudkBoE-XykqC3-7Hgv65LjqbtIWq3SBcCJa8QG_xO8VTDLCCQg230kj4QQjbEhaGDzxgjZgNKPaKuyfJg2ePi27IHWa9IzUo03-uS12DNZVJqJI9jb8LrS/s1600/imag10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="57" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxW5RQWSb-u8JEeHZcvk0xgCudkBoE-XykqC3-7Hgv65LjqbtIWq3SBcCJa8QG_xO8VTDLCCQg230kj4QQjbEhaGDzxgjZgNKPaKuyfJg2ePi27IHWa9IzUo03-uS12DNZVJqJI9jb8LrS/s320/imag10.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2oV7fbCss5DOWu-ziF8osaLcRvdUmhZTEBwLhYOcZnGkj71MmK2GPL0kMJaryg09bQcbllD6oEAwtI3csXi5rOfPP476GyYBjkKxoNPZCgsYIhcwOivLZ9XjJf2MixYzcmNWwTZjp4z3c/s1600/imag11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
public Image CrearImagenHuella(DPFPSample sample) {<br />
return DPFPGlobal.getSampleConversionFactory().createImage(sample);<br />
}<br />
public void DibujarHuella(Image image) {<br />
lblImagenHuella.setIcon(new ImageIcon(<br />
image.getScaledInstance(lblImagenHuella.getWidth(), lblImagenHuella.getHeight(), Image.SCALE_DEFAULT)));<br />
repaint();<br />
}<br />
<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2oV7fbCss5DOWu-ziF8osaLcRvdUmhZTEBwLhYOcZnGkj71MmK2GPL0kMJaryg09bQcbllD6oEAwtI3csXi5rOfPP476GyYBjkKxoNPZCgsYIhcwOivLZ9XjJf2MixYzcmNWwTZjp4z3c/s1600/imag11.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="56" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2oV7fbCss5DOWu-ziF8osaLcRvdUmhZTEBwLhYOcZnGkj71MmK2GPL0kMJaryg09bQcbllD6oEAwtI3csXi5rOfPP476GyYBjkKxoNPZCgsYIhcwOivLZ9XjJf2MixYzcmNWwTZjp4z3c/s320/imag11.png" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxW5RQWSb-u8JEeHZcvk0xgCudkBoE-XykqC3-7Hgv65LjqbtIWq3SBcCJa8QG_xO8VTDLCCQg230kj4QQjbEhaGDzxgjZgNKPaKuyfJg2ePi27IHWa9IzUo03-uS12DNZVJqJI9jb8LrS/s1600/imag10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div style="text-align: justify;">
Aquí, nos daremos cuenta que marcara error y es por aun no hemos agregado un objeto a JFrame creado, después nos encargaremos de esto.<br />
public void EstadoHuellas(){<br />
EnviarTexto("Muestra de Huellas Necesarias para Guardar Template "+ Reclutador.getFeaturesNeeded());<br />
}</div>
<div style="text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr7xduqKPiEyre1_HoiduER3l-DueXgC_RkNo7lYMu2yDsEP9Z1_m2KL3ilhcoWhStbb5gq_sMGMk_eZ7IiB-5gHKCiycvrk1vcfyxzFGZnbVQrJNZjidqOH_ZHP7RsAZmJ_U4OkvtDZwx/s1600/imag12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="24" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr7xduqKPiEyre1_HoiduER3l-DueXgC_RkNo7lYMu2yDsEP9Z1_m2KL3ilhcoWhStbb5gq_sMGMk_eZ7IiB-5gHKCiycvrk1vcfyxzFGZnbVQrJNZjidqOH_ZHP7RsAZmJ_U4OkvtDZwx/s320/imag12.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
</div>
<div style="text-align: justify;">
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxZEPoR1lS8OYMUtiUSZoCec1TwX5_6eMaUjyuCdOifLPGk5xy6qr3ryXb6vORu2gW7WpqCu2vcUHQ7unMw6KuoQkPamSFoVZWO8IBzewsSgwgQTYXqFdnKxvcrnPzsza0z1vVsaSjlfq4/s1600/imag13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div style="text-align: justify;">
Aquí tambien nos aparece un error porque no hemos creado el método EnviarTexto();<br />
Ahora lo creamos:<br />
<br />
public void EnviarTexto(String string) {<br />
txtArea.append(string + "\n");<br />
}</div>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxZEPoR1lS8OYMUtiUSZoCec1TwX5_6eMaUjyuCdOifLPGk5xy6qr3ryXb6vORu2gW7WpqCu2vcUHQ7unMw6KuoQkPamSFoVZWO8IBzewsSgwgQTYXqFdnKxvcrnPzsza0z1vVsaSjlfq4/s1600/imag13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxZEPoR1lS8OYMUtiUSZoCec1TwX5_6eMaUjyuCdOifLPGk5xy6qr3ryXb6vORu2gW7WpqCu2vcUHQ7unMw6KuoQkPamSFoVZWO8IBzewsSgwgQTYXqFdnKxvcrnPzsza0z1vVsaSjlfq4/s1600/imag13.png" /> </a></div>
<div style="text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwyue53Li2FIKFAl0uu55P30UCV0q1Tp3IgFO8WXcgOu2wmYmXY5k320nD_oKvGWAqOoym5XHnkEKhq9a5vaGzYW6JfyIpfp29imrZM3uL9RfYUc-bqZHNoHT-OcO4cR28F5WFi_w0YROD/s1600/imag14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div style="text-align: justify;">
También nos aparece un error y es porque no hemos añadido el objeto TextArea al JFrame. <br />
Pero todos esos errores de objetos, los resolveremos cuando dediquemos el tiempo de organizar el espacio de captura de huella en el JFrame.<br />
Continuamos declarando los métodos y en este caso continuamos con los métodos que nos permiten que el lector de huella dactilar inicie para las capturas y/o para que pare.<br />
public void start(){<br />
Lector.startCapture();<br />
EnviarTexto("Utilizando el Lector de Huella Dactilar ");<br />
}<br />
<br />
public void stop(){<br />
Lector.stopCapture();<br />
EnviarTexto("No se está usando el Lector de Huella Dactilar ");<br />
} </div>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwyue53Li2FIKFAl0uu55P30UCV0q1Tp3IgFO8WXcgOu2wmYmXY5k320nD_oKvGWAqOoym5XHnkEKhq9a5vaGzYW6JfyIpfp29imrZM3uL9RfYUc-bqZHNoHT-OcO4cR28F5WFi_w0YROD/s1600/imag14.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwyue53Li2FIKFAl0uu55P30UCV0q1Tp3IgFO8WXcgOu2wmYmXY5k320nD_oKvGWAqOoym5XHnkEKhq9a5vaGzYW6JfyIpfp29imrZM3uL9RfYUc-bqZHNoHT-OcO4cR28F5WFi_w0YROD/s1600/imag14.png" /></a> </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRZnvpcpyFGyB7NoIGrWrC3Vrvm1bFXFsD6vjFX-FvBxkIoFvnYHUjju1VPa1y3BwmrBf6_bGEctkc0M4p-U9YvQRKQyFuiZSvNnZfvgPVdt2my6kKUicq8M0WBOoLBRZF04kKCNoXp2O2/s1600/imag15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div style="text-align: justify;">
Por ultimo creamos los insertamos los códigos de getter() y setter() de la variable que declaramos al inicio; private DPFPTemplate template;<br />
<br />
Prescionamos Clic derecho sobre una area de en blanco de espacio de Fuente del JFrame asi;</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRZnvpcpyFGyB7NoIGrWrC3Vrvm1bFXFsD6vjFX-FvBxkIoFvnYHUjju1VPa1y3BwmrBf6_bGEctkc0M4p-U9YvQRKQyFuiZSvNnZfvgPVdt2my6kKUicq8M0WBOoLBRZF04kKCNoXp2O2/s1600/imag15.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRZnvpcpyFGyB7NoIGrWrC3Vrvm1bFXFsD6vjFX-FvBxkIoFvnYHUjju1VPa1y3BwmrBf6_bGEctkc0M4p-U9YvQRKQyFuiZSvNnZfvgPVdt2my6kKUicq8M0WBOoLBRZF04kKCNoXp2O2/s320/imag15.png" width="271" /></a><br />
<div style="text-align: justify;">
<div style="text-align: center;">
Lo cual nos creara los siguiente métodos:</div>
<div style="text-align: center;">
public DPFPTemplate getTemplate() {</div>
<div style="text-align: center;">
return template;</div>
<div style="text-align: center;">
}</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
public void setTemplate(DPFPTemplate template) {</div>
<div style="text-align: center;">
this.template = template;</div>
<div style="text-align: center;">
}</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Pero este ultimo lo modificamos, quedando asi:</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
public void setTemplate(DPFPTemplate template) {</div>
<div style="text-align: center;">
DPFPTemplate old = this.template;</div>
<div style="text-align: center;">
this.template = template;</div>
<div style="text-align: center;">
firePropertyChange(TEMPLATE_PROPERTY, old, template);</div>
}<br />
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<br />
Finalmente hemos terminado la creación del código de los métodos abstractos que vamos a usar en esta segunda fase del artículos, pues ahora nos concentraremos en desarrollar la interfaz del JFrame:<br />
Volvemos a la vista de Diseño del JFrame, y desarrollaremos una interfaz similar a esta:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWvfI89OSslRRsXABHH8KYwyr-SCSmsgrr9pQNV4uTdPM87ov6kEyeqQgzAM33K4WLNilr7ZuRieSIWTYi3kjGYGMM9IQq3cl2aId7d3_kuvZJHif65Lv67Z0J4xTllVPmB1jEOtG6uM7N/s1600/imag16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWvfI89OSslRRsXABHH8KYwyr-SCSmsgrr9pQNV4uTdPM87ov6kEyeqQgzAM33K4WLNilr7ZuRieSIWTYi3kjGYGMM9IQq3cl2aId7d3_kuvZJHif65Lv67Z0J4xTllVPmB1jEOtG6uM7N/s1600/imag16.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSdfGNVIzXyQVRcs4gvClIMoHiivQSMzaBe3FfVXi_T-5JdhBp2VJYVCr5lRUmeOJimLU9upvC_qLD5tmWEPXkSS_DFFENEob6w8GHpCUUi4_UOaJnHeqMQOvt_XVfBJXMOHz8vBKCVYt5/s1600/imag25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSdfGNVIzXyQVRcs4gvClIMoHiivQSMzaBe3FfVXi_T-5JdhBp2VJYVCr5lRUmeOJimLU9upvC_qLD5tmWEPXkSS_DFFENEob6w8GHpCUUi4_UOaJnHeqMQOvt_XVfBJXMOHz8vBKCVYt5/s1600/imag25.png" /></a></div>
Agregamos Dos JPanel, uno panHuellas con dirección Norte, y otro panBtns con dirección Sur.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh90LBG5uy0cGI-xGcUwK-i_u4YNoQRAbA6o9wBbKS2NL8nVj_LWcVGxH-V3FW0XgGf1ygnhQ3doX9df30UExsKKxXaIfSayOs3fjl1pGbkdHz0WAeKIkcxeRfr2Q_gIluCJfP-Q2G-uDac/s1600/imag21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUj1p9GwF-G1baj5JIc-crlgzOQRAvLTRErkpwfUKiQokBBKVGpDqVIOADhbJXrbfICneoWQXEr7zmyqSCMJHBN6G8wowT91UzO-dJBlA8aKTbszP04_Lo13x9eVpkxe7Z4u1TxIGupeUM/s1600/imag18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUj1p9GwF-G1baj5JIc-crlgzOQRAvLTRErkpwfUKiQokBBKVGpDqVIOADhbJXrbfICneoWQXEr7zmyqSCMJHBN6G8wowT91UzO-dJBlA8aKTbszP04_Lo13x9eVpkxe7Z4u1TxIGupeUM/s1600/imag18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUj1p9GwF-G1baj5JIc-crlgzOQRAvLTRErkpwfUKiQokBBKVGpDqVIOADhbJXrbfICneoWQXEr7zmyqSCMJHBN6G8wowT91UzO-dJBlA8aKTbszP04_Lo13x9eVpkxe7Z4u1TxIGupeUM/s1600/imag18.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitG6XnDClnXno6qRNey-0WQ_35UQ83nVWupofN8hAs7Ya7fZP8cxi_-JRq3Kyj9PKG-3Z9yXfeEz-Y6E2EgbPDiKpeVGlcOHSs3DpD-kh9ZnmCrbjlOILc01wXuszlQe6TZKUnaoNPA229/s1600/imag19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitG6XnDClnXno6qRNey-0WQ_35UQ83nVWupofN8hAs7Ya7fZP8cxi_-JRq3Kyj9PKG-3Z9yXfeEz-Y6E2EgbPDiKpeVGlcOHSs3DpD-kh9ZnmCrbjlOILc01wXuszlQe6TZKUnaoNPA229/s1600/imag19.png" /></a></div>
<div style="text-align: center;">
Al panel de Huella Digital Capturada, le activamos el gestor de distribución BorderLayout y agregamos otro JPanel, no interesa el nombre y también activamos un gestor de distribución BordeLayout con una caracterictica de hundido y añadimos un JLabel que llamaremos lblImagenHuella la cual se ajustara automáticamente al contendor del panel, y le borramos el nombre:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaFF4tN_XXbxO_f6ThlPzNQfUmWe6ogeoVHRQCbSRcihZunqqrcLCRikSPlVcPY94AjzjcmHloQ7YrPm-0WlWYYckOlgyDL0N-uBG-2Z6IYGPDK20EdSejGQo6paUoLQYKoaM2ZJDV2BMR/s1600/imag17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju3g_NGZVkLMSHcLGRZselgSP55SvIeMBXVyjNmszQEaqbxvogeRivJSmEZbzivPonVplqyezC05Zy0b-EaDx_ybVfO0Wp9oKfVF6TKOYhP1_LyHqddX02Jw2h-1e1wUVTWRocn1Airofr/s1600/imag20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju3g_NGZVkLMSHcLGRZselgSP55SvIeMBXVyjNmszQEaqbxvogeRivJSmEZbzivPonVplqyezC05Zy0b-EaDx_ybVfO0Wp9oKfVF6TKOYhP1_LyHqddX02Jw2h-1e1wUVTWRocn1Airofr/s320/imag20.png" width="320" /></a></div>
Hasta este punto si volvemos a la vista de fuente nos daremos cuenta que ya se han corregido los errores del método DibujarHuella();.<br />
<br />
Para el panel de Acciones también activamos el gestor BorderLayout y agregaremos dos paneles mas, aquí no interesan como se llamen.<br />
<br />
En el primero añadiremos cuatros botones que se llamaran; btnSalir, btnGuardar, btnIdentificicar, btnVerificar, esto tres últimos no serán usados en esta fase pero se necestitan para que no se presente error en el fuente:<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh90LBG5uy0cGI-xGcUwK-i_u4YNoQRAbA6o9wBbKS2NL8nVj_LWcVGxH-V3FW0XgGf1ygnhQ3doX9df30UExsKKxXaIfSayOs3fjl1pGbkdHz0WAeKIkcxeRfr2Q_gIluCJfP-Q2G-uDac/s1600/imag21.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh90LBG5uy0cGI-xGcUwK-i_u4YNoQRAbA6o9wBbKS2NL8nVj_LWcVGxH-V3FW0XgGf1ygnhQ3doX9df30UExsKKxXaIfSayOs3fjl1pGbkdHz0WAeKIkcxeRfr2Q_gIluCJfP-Q2G-uDac/s1600/imag21.png" /></a></div>
<div style="text-align: center;">
En el segundo JPanel, que agreguemos activamos también el gestor BorderLayout y agregamos un JScrollPane que llamaremos txtArea.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRzoY3XbeRhLbK1PW0XywhEnIBJukqqz2wq6dvzvyFa-E5k9cd__HEhyphenhyphenUtxXWaZXWSMo8C5pG_j4EkC9q6vIBfZshEH4ZPOwpdzh3JdhC7xjrTehFBiMu0Cu_fgBal0NAExVqqFy8zRKVc/s1600/imag22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="229" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRzoY3XbeRhLbK1PW0XywhEnIBJukqqz2wq6dvzvyFa-E5k9cd__HEhyphenhyphenUtxXWaZXWSMo8C5pG_j4EkC9q6vIBfZshEH4ZPOwpdzh3JdhC7xjrTehFBiMu0Cu_fgBal0NAExVqqFy8zRKVc/s320/imag22.png" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Por ultimo podemos darnos cuenta que en la vista de fuente, ya se han corregido todos los errores presentados, ahora solo nos queda programar simplemente en botón de Salir,<br />
System.exit(0);<br />
<br />
Ahora simplemente nos toca llamar a los métodos correspondientes en los eventos en los que se abra o se cierre el JFrame:</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0mmZ9z3BN-MrnAGBX0jz7jNxi4QX5JsQvQCUrDo2Q92fhO8FptxtA0ZL1Eub0mrU3SfrJw1cmmieg5cdfNhTIrYMEVK3ms5IT339PYPK_UfsV4-J81BuG1k1m-s3n7Ubjgs12U946vsFp/s1600/imag23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0mmZ9z3BN-MrnAGBX0jz7jNxi4QX5JsQvQCUrDo2Q92fhO8FptxtA0ZL1Eub0mrU3SfrJw1cmmieg5cdfNhTIrYMEVK3ms5IT339PYPK_UfsV4-J81BuG1k1m-s3n7Ubjgs12U946vsFp/s320/imag23.png" width="301" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVHOR58nXz3nQEBJ3HFb8iSu5WZU6Ja_WNO-RdYYfCrD_uSeCiW-x1J0rLDky4r79ttfNn_ISsF8h4SFlupFcrq0JrCfd1c7OrAUixG9n-_MS4BUw8rlV8HWMznKdRUyQAdsRZrqrDSSGM/s1600/imag24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="277" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVHOR58nXz3nQEBJ3HFb8iSu5WZU6Ja_WNO-RdYYfCrD_uSeCiW-x1J0rLDky4r79ttfNn_ISsF8h4SFlupFcrq0JrCfd1c7OrAUixG9n-_MS4BUw8rlV8HWMznKdRUyQAdsRZrqrDSSGM/s320/imag24.png" width="320" /></a></div>
Y tambien en el constructor del JFrame agregar después de initComponents();, <br />
txtArea.setEditable(false);<br />
<br />
NOTA: Recuerden que los otros botones por lo pronto no serán usados, mas sin embargo se comportaran como si tuvieran alguna acción.<br />
<br />
Eso es todo, espero le sirva y no olviden en comentar, nos vemos después con la parte de Gurdar, Verificar e Identificar desde una BD.., SALUDOS JARC..!<br />
<br />
<div style="text-align: justify;">
Tambien les dejos un documento pdf con el desarrollo de esta segunda parte del Tutorial. <a href="https://sites.google.com/site/jarcsite/Programacion4500DigitalPersonaenJavaW7byJ@RC-parte2.rar">Aqui</a><br />
<br />
Y lo que todos esperan, el codigo fuente, pues aqui se los dejo y espero por lo menos comenten si de algo le ha servido. <a href="https://sites.google.com/site/jarcsite/HuellaJARCDigitalPersona4500.rar">Aqui</a> </div>
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
DEDICADO A TODOS AQUELLOS QUE CON PACIENCIA ESPERARON AL DESARROLLO DE ESTA SEGUNDA PARTE, ESPERO PODER TENER LA ULTIMA PARTE LO ANTES POSIBLE, SALUDOS...<br />
<div style="text-align: center;">
<i>!EL CONOCIMIENTO AUMENTA CUANDO SE COMPARTE¡</i></div>
</div>
</div>
</div>jarchttp://www.blogger.com/profile/12591571565320605055noreply@blogger.com59tag:blogger.com,1999:blog-7265876346463818440.post-41288147097347311882011-10-06T15:55:00.000-05:002011-10-20T20:35:55.441-05:00Programacion de U.are.U 4500 Fingerprint Reader Digital Persona en Java con W7 -parte 1<br />
<div style="text-align: center;">
PROGRAMACIÓN DE 4500 FINGERPRINT READER DIGITAL PERSONA EN JAVA CON W7 – PARTE 1</div>
<i><span class="Apple-style-span" style="font-size: xx-small;"><br /></span></i><br />
<i><span class="Apple-style-span" style="font-size: xx-small;">Nota: Cabe resaltar que algunos términos de esta explicación fueron sacados del blog de monillo que me sirvió de inquietud para el desarrollo de este programa en vista de los problemas que presentaban muchos de sus seguidores.</span></i><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7cFmlLETTTcMTfn459Hhbe5TECQppmnPs-n3TvUNAr7P5xLDl75H3rJJ_3ikjq87rLZx8aNbAGTyw8pYj7hUV6tAiCIO9XFweZ_n4dh4nIVgAoqzeZRy4FB2VXykoS8TZIYFbsumBeto0/s1600/uareu4500-500x500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7cFmlLETTTcMTfn459Hhbe5TECQppmnPs-n3TvUNAr7P5xLDl75H3rJJ_3ikjq87rLZx8aNbAGTyw8pYj7hUV6tAiCIO9XFweZ_n4dh4nIVgAoqzeZRy4FB2VXykoS8TZIYFbsumBeto0/s200/uareu4500-500x500.jpg" width="200" /></a></div>
<div>
<div style="text-align: justify;">
Como ya se ha mencionado en muchos blogs y foros, en la actualidad la seguridad en las transacciones electrónicas se ha vuelto una parte indispensable para los programadores de sistemas, la identificación para el acceso a los registros y demás cuestiones relacionadas deben de ser tomadas en cuenta para poder validar que alguna persona está accediendo realmente a lo que debe acceder, es esencial hacer que (en medida de lo posible) nadie pueda hacerse pasar por alguien que no es al momento de identificarse en un sistema. Aquí es donde la biometría juega un papel sumamente interesante (más información sobre la biometría en éste artículo) así que dedicaré una serie de artículos a tratar de explicar cómo programar un lector de huella digital en Java con windows 7 utilizando el SDK del proveedor de los dispostivos de Digital Persona, que nos permitirán realizar todos los procedimientos sin ningún problema. Primeramente hablaré de lo que necesitamos para poder empezar a programar un sistema completo de registro y verificación de identidades por medio de la huella digital:</div>
<div style="text-align: justify;">
<br /></div>
<div>
<ul>
<li style="text-align: justify;">El JRE (Java Runtime Environment) más reciente, al momento de la publicación de este artículo es la jdk1.6.0_24 y jre6... <a href="http://java.com/es/download/">Aqui</a></li>
<li style="text-align: justify;">IDE de programación NetBeans en su versión más reciente, al momento de publicar este artículo es la 6.9.1. en Español.</li>
<li style="text-align: justify;">Un lector de huella digital de la linea de Digital Persona, como DigitalPersona U.are.U 4000B/4500 or later fingerprint readers and modules, DigitalPersona U.are.U Fingerprint Keyboard</li>
<li style="text-align: justify;">El SDK de programación de lectores de huella digital de Digital Persona, que en este caso fue el DigitalPersona One Touch for Windows SDK 1.6.1 que es libre y es los mas interesante de todo esto y cabe resalatar que ya hoy uno mas actualizado con mejores caracteristicas, pero para este desarrollo con el libre esta bien como face inicial, y el que lo quiera comprar pues nada mas es ponerse en contacto con este proveedor... <a href="http://www.digitalpersona.com/Biometrics/SDK-Products/One-Touch-for-Windows-SDK/One-Touch-for-Windows-Software-Development-Kit/">Aqui</a></li>
<li style="text-align: justify;">Un servidor de bases de datos en MySQL para este caso.</li>
</ul>
</div>
<div style="text-align: justify;">
Una vez que tenemos todo lo anterior procedemos con la instalación del SDK que hemos descargado y descomprimido.</div>
</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg71BTUQS5dfH8gUG-g8VuotTafD-KBVVIrYWOtctAo4M8lv4SmfYrQaBZygIZb_A-SKFKH8VFI_6smMvfZWdC8BGit67lIIfY7zlECBTsyEhozWga9GZdBLhSdqn4dYGf4O_MBHkqKGaei/s1600/img1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg71BTUQS5dfH8gUG-g8VuotTafD-KBVVIrYWOtctAo4M8lv4SmfYrQaBZygIZb_A-SKFKH8VFI_6smMvfZWdC8BGit67lIIfY7zlECBTsyEhozWga9GZdBLhSdqn4dYGf4O_MBHkqKGaei/s1600/img1.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhfcWYfn5twRQd4pO2nhYFfWrmWI13rDBIjQPOr0Wfx7N6i9twTE1gwXBa0JjEW4KlwOyogBn2ZPNFuHJ5hKNtaJLwONJw99c9PU_Ur8FM3S-29EbHoSPB0fVnEVligurJNqqDbJ1exmZI/s1600/img2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhfcWYfn5twRQd4pO2nhYFfWrmWI13rDBIjQPOr0Wfx7N6i9twTE1gwXBa0JjEW4KlwOyogBn2ZPNFuHJ5hKNtaJLwONJw99c9PU_Ur8FM3S-29EbHoSPB0fVnEVligurJNqqDbJ1exmZI/s1600/img2.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijtti6aD3mWbsPEFHq5y_haPkp3BWshxaMk6o8psnVra62LHMuaWdgZ8iVQ27_Kp_3F1tKt7eddceNOgQ6qCDv6639bE8b7FtDjEY5cfqwGAtWBjplY_S9lE6wTOlnm-Sjj6sKLBHNWOEj/s1600/img3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijtti6aD3mWbsPEFHq5y_haPkp3BWshxaMk6o8psnVra62LHMuaWdgZ8iVQ27_Kp_3F1tKt7eddceNOgQ6qCDv6639bE8b7FtDjEY5cfqwGAtWBjplY_S9lE6wTOlnm-Sjj6sKLBHNWOEj/s1600/img3.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Se ejecuta el setup.exe</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqQLze9RZMlmvyfQ4wBV6SC2vUd_gRXS0_HUMlkpBXAyQnbJKAKgGeylts2c3LQzSiSV9F-JAr_l1XsMskRupt1uEMMWQPUa_Xx2tnTTTq9NRzEOpQplRM6eEMas65tDWIZW4gmTEogxpg/s1600/img4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqQLze9RZMlmvyfQ4wBV6SC2vUd_gRXS0_HUMlkpBXAyQnbJKAKgGeylts2c3LQzSiSV9F-JAr_l1XsMskRupt1uEMMWQPUa_Xx2tnTTTq9NRzEOpQplRM6eEMas65tDWIZW4gmTEogxpg/s1600/img4.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div align="center" class="MsoNormal" style="text-align: center;">
Le damos continuar,
“next”<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNZKk7M4SonHd0zH0DjvZfwRyxdSsBcoZiO6vSkI4MOhosbZ33pN5GXoOpphc0CDkFPpBcGnUhaK5aszc2S-Fbs4Tox6Kknr6fI0boOL_9_HzQZV0yjRQB3-AXSY7jxjJeRNtg34JnvaBo/s1600/img5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNZKk7M4SonHd0zH0DjvZfwRyxdSsBcoZiO6vSkI4MOhosbZ33pN5GXoOpphc0CDkFPpBcGnUhaK5aszc2S-Fbs4Tox6Kknr6fI0boOL_9_HzQZV0yjRQB3-AXSY7jxjJeRNtg34JnvaBo/s320/img5.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Aceptamos los terminos del contrato y presionamos next o continuar…</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg40HCWQ3-b1NHXVqdhqinvZeQX70-ExvXUyFKsOjt8QXLfVdLB8JRNVu2Lk2sKo3OCJUuYfuu0IkPSoqrXv6w0f4EXln1V4_qFQxmDfpwuXCdVZ98S4nW65eGR1wehl0EdhcMig241Ls8g/s1600/img6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg40HCWQ3-b1NHXVqdhqinvZeQX70-ExvXUyFKsOjt8QXLfVdLB8JRNVu2Lk2sKo3OCJUuYfuu0IkPSoqrXv6w0f4EXln1V4_qFQxmDfpwuXCdVZ98S4nW65eGR1wehl0EdhcMig241Ls8g/s320/img6.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Seguimos presionando next…</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhyphenhyphenVODlVzv0ty-JeQa31sYuzusOViAPjbW0uKsKezroRj55huo63n8IizJxfU4BLc1XwEzpl56Sz_2TqPrjF96N__J2Y0g8C3iYg-uDjBZqsHIRe9HSuqYRIfhhXy5QewyYTzF27NXlX1X/s1600/img7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhyphenhyphenVODlVzv0ty-JeQa31sYuzusOViAPjbW0uKsKezroRj55huo63n8IizJxfU4BLc1XwEzpl56Sz_2TqPrjF96N__J2Y0g8C3iYg-uDjBZqsHIRe9HSuqYRIfhhXy5QewyYTzF27NXlX1X/s320/img7.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Dejamos todo igual, como aparece por default y presionamos next…</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK7vw2SH1xcXdQF6zs0Pn4jgSLL1hgILov96bQRktUAkHQNd9a3nmX_2o4rkvgvYnf2pzvGOt1f2LtQ1ojX-fUEEnxpI7QmbwMyIUAT9BaYdmV4LmcGWzdUjLN_nys0z5Q6edo9A4BWr9N/s1600/img8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK7vw2SH1xcXdQF6zs0Pn4jgSLL1hgILov96bQRktUAkHQNd9a3nmX_2o4rkvgvYnf2pzvGOt1f2LtQ1ojX-fUEEnxpI7QmbwMyIUAT9BaYdmV4LmcGWzdUjLN_nys0z5Q6edo9A4BWr9N/s320/img8.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
Por ultimo presionamos instalar y esperamos que a que se instale el sdk respectivo en nuestro SO, y configure automaticamente los drivers para lector de huella compatible con este sdk…</div>
<div class="separator" style="clear: both; text-align: center;">
•<span class="Apple-tab-span" style="white-space: pre;"> </span>DigitalPersona U.are.U 4000B/4500 or later fingerprint readers and modules</div>
<div class="separator" style="clear: both; text-align: center;">
•<span class="Apple-tab-span" style="white-space: pre;"> </span> DigitalPersona U.are.U Fingerprint Keyboard</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS3eVvnPUKi25VKytFRtygLAllY5RngNWfr_4yU_Q6027KJfXA5hDw9LWEUp-CjF6Fu0I9teYgdnIyrjbGxgUvl3ff5vUH2nit93Ifb_Em65aBcWDYfIwMQ0Vjs_ga5P3Bz8cq82pcnrH0/s1600/img9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS3eVvnPUKi25VKytFRtygLAllY5RngNWfr_4yU_Q6027KJfXA5hDw9LWEUp-CjF6Fu0I9teYgdnIyrjbGxgUvl3ff5vUH2nit93Ifb_Em65aBcWDYfIwMQ0Vjs_ga5P3Bz8cq82pcnrH0/s320/img9.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcOUzLMtSkAE8_z1vKPlo33b0X24oa7yOp4nbRghaZpWfy3xJhBl-WPOtWxfo2uF3yXTOGxvj0IXLwkEe4_VgMVIJuLLahTvpK738xk3aZvrs6PktAMnqkuNfdLlw_vRmcynhDmGCG5WPw/s1600/img10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcOUzLMtSkAE8_z1vKPlo33b0X24oa7yOp4nbRghaZpWfy3xJhBl-WPOtWxfo2uF3yXTOGxvj0IXLwkEe4_VgMVIJuLLahTvpK738xk3aZvrs6PktAMnqkuNfdLlw_vRmcynhDmGCG5WPw/s320/img10.png" width="320" /></a></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOJKxqZ5v5JRXxIUYN1iprDwpv1bqvMgqeYHhfyrF0wuPPjSINswaY12t_V5xWDn0eWOctFP04avwSYkkmLQtx91E09YNRd6y9dlgq7g1jPDTyi88qsisGo8-_2QTkW3KUzOp6Mo1X7G4e/s1600/img11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOJKxqZ5v5JRXxIUYN1iprDwpv1bqvMgqeYHhfyrF0wuPPjSINswaY12t_V5xWDn0eWOctFP04avwSYkkmLQtx91E09YNRd6y9dlgq7g1jPDTyi88qsisGo8-_2QTkW3KUzOp6Mo1X7G4e/s320/img11.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div align="center" class="MsoNormal" style="text-align: center;">
Le damos finalizar… y
nos aparecera la opcion de reiniciar el pc o no, es prefereible reiniciarlo
para que el sistema tome los cambios…</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJCXPe7-zqMfE7Xiz3Xb-WaMxjbMMYwlfynnknu7WQwt1PY8PRRFTXkSTOQnfef0_dTUUDpwxZylF22fLtqrQpDaSzy9LYiiUbLsW9BLpKTVUd_tzGAes-ahVEr6Pyea6uWTuSlU8P7Kzw/s1600/img12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJCXPe7-zqMfE7Xiz3Xb-WaMxjbMMYwlfynnknu7WQwt1PY8PRRFTXkSTOQnfef0_dTUUDpwxZylF22fLtqrQpDaSzy9LYiiUbLsW9BLpKTVUd_tzGAes-ahVEr6Pyea6uWTuSlU8P7Kzw/s1600/img12.png" /></a></div>
<div align="center" class="MsoNormal" style="text-align: center;">
------------------------------------------------------------------------------------------------------------</div>
<div align="center" class="MsoNormal" style="text-align: center;">
</div>
<div class="MsoNormal" style="text-align: center;">
<div style="text-align: justify;">
Preparación de las librerías : Una vez que se tiene todo lo anterior correctamente instalado y configurado se deben de preparar las librerías colocándolos en los directorios que deben de estar, para ello se realiza lo siguiente:</div>
</div>
<div class="MsoNormal" style="text-align: center;">
<div style="text-align: justify;">
<br /></div>
</div>
<div class="MsoNormal" style="text-align: center;">
<div style="text-align: justify;">
1.<span class="Apple-tab-span" style="white-space: pre;"> </span>Luego que hallamos reiniciado la pc, el siguiente paso es ubicar el directorio en el cual se intalo DigitalPersona, que para este caso seria: C:\Program Files\DigitalPersona</div>
</div>
<div>
<br /></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj89_japsiOklTA5a2kilO1GNR2OTE2JFpuuDO33AfpCPmSccG593vqWxXo8s9KATChdj-1vS7rK4pEAs5GkCcA639Ci9LW9BiFScak8Gcq4RXlyiOoJ4M1LVXvseCTsNo8BANIj2jnDiFg/s1600/img13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj89_japsiOklTA5a2kilO1GNR2OTE2JFpuuDO33AfpCPmSccG593vqWxXo8s9KATChdj-1vS7rK4pEAs5GkCcA639Ci9LW9BiFScak8Gcq4RXlyiOoJ4M1LVXvseCTsNo8BANIj2jnDiFg/s1600/img13.png" /></a><br />
<br />
<div style="text-align: justify;">
2.<span class="Apple-tab-span" style="white-space: pre;"> </span>Y procederemos a ubicar dentro del directorio Bin la carpeta Java y copiar los 4 archivos .jar que se encuentra en ella hacia hacia las carpetas C:\Archivos de programa\Java\ jdk*\jre\lib\ext (donde jdk* es la versión que tienes instalada, si tienes varias se puede colocar en todas) y en la carpeta C:\Archivos de programa\Java\ jre*\lib\ext (donde jre* es la versión más reciente).</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHOUajbqOXj7ZdXlGf_Qd-ZItgLlksHZr1ayjlKOlTLXyL-cykk2M52gieyQKxIEOx7KkvrGrdIWuC0bJZNPrGV9UP6p4J05EKoTh1-Db7wNjZesmXKKCTJ1h2mW1c58wDCz9V71ZGUCLL/s1600/img14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHOUajbqOXj7ZdXlGf_Qd-ZItgLlksHZr1ayjlKOlTLXyL-cykk2M52gieyQKxIEOx7KkvrGrdIWuC0bJZNPrGV9UP6p4J05EKoTh1-Db7wNjZesmXKKCTJ1h2mW1c58wDCz9V71ZGUCLL/s1600/img14.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Preparación de la base de datos:: Ya realizados los pasos anteriores únicamente nos falta crear una base de datos que almacene los registros de las huellas, en este caso prepararemos dentro de dicha base una tabla sencilla que contenga únicamente 3 datos, un ID, el nombre de la persona y la huella registrada. Para efectos de este ejemplo usaremos una base de datos de nombre huellas y una tabla dentro de dicha base de nombre somhue que contendrá los datos descritos a continuación:</div>
<div class="separator" style="clear: both; text-align: justify;">
1.<span class="Apple-tab-span" style="white-space: pre;"> </span>Nombre de campo: ID , tipo: INT</div>
<div class="separator" style="clear: both; text-align: justify;">
2.<span class="Apple-tab-span" style="white-space: pre;"> </span>Nombre de campo: huenombre , tipo: VARCHAR(100)</div>
<div class="separator" style="clear: both; text-align: justify;">
3.<span class="Apple-tab-span" style="white-space: pre;"> </span>Nombre de campo: huehuella , tipo: BLOB</div>
<div class="separator" style="clear: both; text-align: justify;">
Ya tenemos todo para comenzar a programar nuestra aplicación de reconocimiento de huella digital en nuestra proxima sesion.</div>
<div class="separator" style="clear: both; text-align: justify;">
Cualquiera duda espero la comenten</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Tambien les dejos un documento pdf con el desarrollo de esta primera parte del Tutorial. <a href="https://sites.google.com/site/jarcsite/Programacion4500DigitalPersonaenJavaW7byJ@RC-parte1.rar">Aqui</a></div>
<div>
<br /></div>
<br />
<br />
<br /></div>
<div>
<br /></div>jarchttp://www.blogger.com/profile/12591571565320605055noreply@blogger.com88tag:blogger.com,1999:blog-7265876346463818440.post-68924814664917481912011-09-30T22:59:00.000-05:002011-10-06T15:36:26.287-05:00Programacion de U.are.U 4500 Fingerprint Reader Digital Persona en Java<br />
<div style="text-align: center;">
<b><span class="Apple-style-span" style="font-size: large;">Programacion de U.are.U 4500 Fingerprint Reader Digital Persona en Java </span></b></div>
<div style="text-align: justify;">
<b><span class="Apple-style-span" style="font-size: large;"><br /></span></b></div>
<div style="text-align: justify;">
En vista de que no hay mucha informacion, sobre la programacion en java, windows 7 y 4500 Digital Persona, tuve la tarea de estudiar el sdk, que provee Digital Persona, que para este caso de desarrollo de este ejemplo fue DigitalPersona One Touch for Windows SDK 1.6.1.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Debido a esto, en mucho foros siempre me tope con en el problema que tenian muchos y era que el 4500 Digital Persona no funcionaba con el SDK Fingerprint 2009 de Grialu, es por ello que para todo ustedes en los proximos dias, estare colgando una entrada completa al desarrollo del mismo, y como si fuera poco les estara suministrando el codigo, para que puedan ajustarlo a segun gusten.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y recuerden que el conocimiento hay que compartirlo, asi tendremos una mejor calidad de programadores....</div>
<div style="text-align: justify;">
No se les olvide comentar....</div>
<div style="text-align: justify;">
Saludos a todos y gracias.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpdxrXR4EUPYvWAM7nm-m8hQp7HuDvKauwwocMFJinpCfDMzTJySSyUm2dLMHnlV4BI2Gao64yVS1QDo5HHwjI7ixtQg5vv5zrWhPHxFb6vmt0AlWtefs9ezBFiaRCih7_SQ1tlYXChxZG/s1600/uareu4500-500x500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpdxrXR4EUPYvWAM7nm-m8hQp7HuDvKauwwocMFJinpCfDMzTJySSyUm2dLMHnlV4BI2Gao64yVS1QDo5HHwjI7ixtQg5vv5zrWhPHxFb6vmt0AlWtefs9ezBFiaRCih7_SQ1tlYXChxZG/s200/uareu4500-500x500.jpg" width="200" /></a></div>
jarchttp://www.blogger.com/profile/12591571565320605055noreply@blogger.com39tag:blogger.com,1999:blog-7265876346463818440.post-73229963803879827192011-09-06T13:10:00.000-05:002011-10-06T16:26:55.605-05:00Estilos de Aprendizajes<div style="text-align: center;">
<b>QUE SON LOS ESTILOS DE APRENDIZAJE</b></div>
<br />
<div style="text-align: justify;">
El término 'estilo de aprendizaje' se refiere al hecho de que cuando queremos aprender algo cada uno de nosotros utiliza su propio método o conjunto de estrategias. Aunque las estrategias concretas que utilizamos varían según lo que queramos aprender, cada uno de nosotros tiende a desarrollar unas preferencias globales. Esas preferencias o tendencias a utilizar más unas determinadas maneras de aprender que otras constituyen nuestro estilo de aprendizaje.<br />
<br />
Definir el constructo estilo de aprendizaje es tarea esencial para delimitar las áreas que abarca y sobre todo sus posibles aplicaciones, pero resulta difícil ofrecer una definición única que pueda explicar adecuadamente aquello que es común a todos los estilos descritos en la literatura, Witkin Herman (1985).<br />
<br />
Es por ello que no existe, una única definición de estilos de aprendizaje, sino que son muchos los autores que dan su propia definición del término, como por ejemplo las que presentamos a continuación:<br />
<br />
"Los estilos de aprendizaje son los rasgos cognitivos, afectivos y fisiológicos que sirven como indicadores relativamente estables, de cómo los alumnos perciben interacciones y responden a sus ambientes de aprendizaje". Keefe (1988).</div>
<br />
<div style="text-align: justify;">
Los rasgos cognitivos tienen que ver con la forma en que los estudiantes estructuran los contenidos, forman y utilizan conceptos, interpretan la información, resuelven los problemas, seleccionan medios de representación (visual, auditivo, kinestésico), etc. Los rasgos afectivos se vinculan con las motivaciones y expectativas que influyen en el aprendizaje, mientras que los rasgos fisiológicos están relacionados con el biotipo y el biorritmo del estudiante.</div>
<br />
<div style="text-align: justify;">
<i><b>Es constante un estilo de aprendizaje en una persona?</b></i><br />
<b><br /></b><br />
<i><b>Cada persona aprende de manera distinta a las demás: utiliza diferentes estrategias, aprende con diferentes velocidades e incluso con mayor o menor eficacia incluso aunque tengan las mismas motivaciones, el mismo nivel de instrucción, la misma edad o estén estudiando el mismo tema. Sin embargo más allá de esto, es importante no utilizar los estilos de aprendizaje como una herramienta para clasificar a los alumnos en categorías cerradas, ya que la manera de aprender evoluciona y cambia constantemente.</b></i></div>
<br />
<div style="text-align: justify;">
Revilla (1998) destaca, finalmente, algunas características de los estilos de aprendizaje: son relativamente estables, aunque pueden cambiar; pueden ser diferentes en situaciones diferentes; son susceptibles de mejorarse; y cuando a los alumnos se les enseña según su propio estilo de aprendizaje, aprenden con más efectividad.<br />
<br />
En general (Woolfolk, 1996:126), los educadores prefieren hablar de ‘estilos de aprendizaje’, y los psicólogos de ‘estilos cognoscitivos’.<br />
<br />
No hay que interpretar los estilos de aprendizaje, ni los estilos cognitivos, como esquemas de comportamiento fijo que predeterminan la conducta de los individuos. Los estilos corresponden a modelos teóricos, por lo que actúan como horizontes de la interpretación en la medida en que permiten establecer el acercamiento mayor o menor de la actuación de un sujeto a un estilo de aprendizaje. En este sentido, los estilos se caracterizan por un haz de estrategias de aprendizaje que se dan correlacionadas de manera significativa, es decir cuya frecuencia de aparición concurrente permite marcar una tendencia. Sin embargo, ello no significa que en un mismo sujeto no puedan aparecer estrategias pertenecientes en teoría a distintos estilos de aprendizaje. Podríamos decir que la noción de estilo actúa como instrumento heurístico que hace posible el análisis significativo de las conductas observadas empíricamente. Al mismo tiempo hay que señalar que es fundamental analizar desde un punto de vista sistémico cómo un conjunto de estrategias se dan relacionadas en un individuo concreto. Ello nos lleva a afirmar que tan importante es efectuar un estudio de las correlaciones de ciertas estrategias, que permitirían establecer las tendencias de un grupo respecto de un determinado estilo, como realizar un estudio de casos que permitiera describir cómo se dan asociadas en un mismo individuo las distintas estrategias de aprendizaje (Villanueva Mª Luisa 1997)<br />
<br />
Otros autores, por último, sugieren hablar de ‘preferencias de estilos de aprendizaje’ más que de ‘estilos de aprendizaje’. Para Woolfolk (Woolfolk, 1996:128), las preferencias son una clasificación más precisa, y se definen como las maneras preferidas de estudiar y aprender, tales como utilizar imágenes en vez de texto, trabajar solo o con otras personas, aprender en situaciones estructuradas o no estructuradas y demás condiciones pertinentes como un ambiente con o sin música, el tipo de silla utilizado, etc. La preferencia de un estilo particular tal vez no siempre garantice que la utilización de ese estilo será efectiva. De allí que en estos casos ciertos alumnos pueden beneficiarse desarrollando nuevas formas de aprender.<br />
<br />
En resumen, si habláramos del estilo de aprendizaje de un niño surge como efecto de diversos factores y representa su estilo más natural de aprender.</div>
<br />
<div style="text-align: center;">
<b>LAS DISTINTAS TEORÍAS Y COMO SE RELACIONAN ENTRE SÍ</b></div>
<br />
<div style="text-align: justify;">
En las últimas décadas se han elaborado todo tipo de teorías y modelos para explicar las diferencias en la forma de aprender. Pero, de todas esas teorías y modelos ¿cuál es la buena?<br />
<br />
La respuesta es que todas y ninguna. La palabra "aprendizaje" es un término muy amplio que abarca fases distintas de un mismo y complejo proceso. Cada uno de los modelos y teorías existentes enfoca el aprendizaje desde un ángulo distinto. Cuando se contempla la totalidad del proceso de aprendizaje se percibe que esas teorías y modelos aparentemente contradictorios entre sí no lo son tanto e incluso que se complementan.<br />
<br />
Como personas que somos y que estamos cada día en proceso de aprender dependiendo de en que parte del proceso de aprendizaje centremos nuestra atención, unas veces nos interesará utilizar un modelo y otras veces otro.</div>
<br />
Una posible manera de entender las distintas teorías es el siguiente modelo en tres pasos:<br />
<br />
<div style="text-align: justify;">
- El aprendizaje parte siempre de la recepción de algún tipo de información. De toda la información que recibimos seleccionamos una parte. Cuando analizamos como seleccionamos la información podemos distinguir entre alumnos visuales, auditivos y kinestésicos.</div>
<div style="text-align: justify;">
- La información que seleccionamos la tenemos que organizar y relacionar. El modelo de los hemisferios cerebrales nos da información sobre las distintas maneras que tenemos de organizar la información que recibimos.</div>
- Una vez organizada esa información la utilizamos de una manera o de otra. La rueda del aprendizaje de Kolb distingue entre alumnos activos, teóricos, reflexivos y pragmáticos.<br />
<br />
Naturalmente, esta separación en fases es ficticia, en la práctica esos tres procesos se confunden entre sí y están estrechamente relacionados. El hecho de que tendamos a seleccionar la información visual, por ejemplo, afecta a nuestra manera de organizar esa información. No podemos, por tanto, entender el estilo de aprendizaje de alguien si no le prestamos atención a todos los aspectos. Además de las teorías relacionadas con la manera que tenemos de seleccionar, organizar y trabajar con la información hay modelos que clasifican los estilos de aprendizaje en función de otros factores, como por ejemplo, el comportamiento social.<br />
<br />
<div style="text-align: center;">
<b>ESTILOS DE APRENDIZAJE Y ESTRATEGIAS</b></div>
<br />
<div style="text-align: justify;">
Nuestro estilo de aprendizaje está directamente relacionado con las estrategias que utilizamos para aprender algo. Una manera de entenderlo sería pensar en nuestro estilo de aprendizaje cómo la media estadística de todas las distintas estrategias que utilizamos. Nuestro estilo de aprendizaje se corresponde por tanto con las grandes tendencias, con nuestras estrategias más usadas.<br />
<br />
Pero naturalmente, la existencia de una media estadística no impide las desviaciones, o dicho de otro modo, el que alguien pueda ser en general muy visual, holístico y reflexivo no impide, sin embargo, el que pueda utilizar estrategias auditivas en muchos casos y para tareas concretas. </div>
<br />
<div style="text-align: center;">
<b>LOS ESTILOS DE APRENDIZAJE Y LA TEORIA DE LAS INTELIGENCIAS MULTIPLES</b></div>
<br />
<div style="text-align: justify;">
Una de las teorías más apasionantes y mejor fundadas de las aparecidas en los últimos años es la teoría de las inteligencias múltiples de Howard Gardner. Gardner define la inteligencia como el conjunto de capacidades que nos permite resolver problemas o fabricar productos valiosos en nuestra cultura. Gardner define 8 grandes tipos de capacidades o inteligencias, según el contexto de producción (la inteligencia lingüística, la inteligencia lógico-matemática, la inteligencia corporal kinestésica, la inteligencia musical, la inteligencia espacial, la inteligencia naturalista, la inteligencia interpersonal y la inteligencia intrapersonal).<br />
<br />
Todos desarrollamos las ocho inteligencias, pero cada una de ellas en distinto grado. Aunque parte de la base común de que no todos aprendemos de la misma manera, Gardner rechaza el concepto de estilos de aprendizaje y dice que la manera de aprender del mismo individuo puede variar de una inteligencia a otra, de tal forma que un individuo puede tener, por ejemplo, una percepción holística en la inteligencia lógico - matemática y secuencial cuando trabaja con la inteligencia musical.<br />
<br />
Gardner entiende (y rechaza) la noción de los estilos de aprendizaje como algo fijo e inmutable para cada individuo. Pero si entendemos el estilo de aprendizaje como las tendencias globales de un individuo a la hora de aprender y si partimos de la base de que esas tendencias globales no son algo fijo e inmutable, sino que están en continua evolución, vemos que no hay contraposición real entre la teoría de las inteligencias múltiples y las teorías sobre los estilos de aprendizaje.</div>
<br />
<br />
<div style="text-align: center;">
<b>LA INTELIGENCIA EMOCIONAL</b></div>
<br />
<div style="text-align: justify;">
De los ocho tipos de inteligencia de los que habla Howard Gardner, dos se refieren a nuestra capacidad de comprender las emociones humanas. La inteligencia interpersonal está relacionada con nuestra capacidad de entender a los demás. La inteligencia intrapersonal está determinada por nuestra capacidad de entendernos a nosotros mismos.<br />
<br />
Daniel Goleman agrupa ambos tipos de inteligencia bajo el nombre de inteligencia emocional. La inteligencia emocional es nuestra capacidad de comprender nuestras emociones y las de los demás.<br />
<br />
La inteligencia emocional determina, por ejemplo, nuestra capacidad de resistencia a la frustración, a la confusión, o nuestra manera de reaccionar ante la adversidad. Nuestra capacidad de aprendizaje está, por tanto íntimamente ligada a nuestra inteligencia emocional.</div>
<br />
<div style="text-align: center;">
<b>MODELOS DE ESTILOS DE APRENDIZAJE</b></div>
<br />
<div style="text-align: justify;">
Los distintos modelos y teorías existentes sobre estilos de aprendizaje ofrecen un marco conceptual que permiten entender el comportamiento, como se relaciona este con la forma en que están aprendiendo las personas y el tipo de acción que puede resultar más eficaz en un momento dado. Existen muchos estilos de aprendizaje, a continuación se revisarán algunos de ellos, según los tres pasos para entender estar teorías antes mencionados.</div>
<br />
<div style="text-align: center;">
Modelo basado en la Programación Neuro-Lingüística (PNL).</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmUovs1MrcXBoYjyUXsM2vprHfuKF9JSz_y7WVLzMfU7KGSfj6c8ZfqdnI9uHZVQPudO0zPBzDt-afQVULPzMod50VfJAgwEExRxJNXJlQW_2sUmYP9lxn-QOW0BGcoQ9KRYDaPheW97ZH/s1600/pnl.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmUovs1MrcXBoYjyUXsM2vprHfuKF9JSz_y7WVLzMfU7KGSfj6c8ZfqdnI9uHZVQPudO0zPBzDt-afQVULPzMod50VfJAgwEExRxJNXJlQW_2sUmYP9lxn-QOW0BGcoQ9KRYDaPheW97ZH/s200/pnl.jpg" width="180" /></a></div>
<br />
<br />
<br />
<div style="text-align: center;">
El Modelo de Ned Herrmann: Herrmann Brain Dominance Instrument (HBDI) o mejor conocido como Modelo de los Hemisferios Cerebrales.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdK7EvTsR-wmVLJaZV8CoUIDykJYmJ57yIUultt9MdrlEoRRAvd7RRs5OELwrp2y_GR0rNdPqAz0wXV94qahv4S5X1jOlSzp1dbaaES-c76QJuSjM3pR3ampK6y8fuoeGQyIUNhthDAZR_/s1600/T9Dib3b.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdK7EvTsR-wmVLJaZV8CoUIDykJYmJ57yIUultt9MdrlEoRRAvd7RRs5OELwrp2y_GR0rNdPqAz0wXV94qahv4S5X1jOlSzp1dbaaES-c76QJuSjM3pR3ampK6y8fuoeGQyIUNhthDAZR_/s1600/T9Dib3b.gif" /></a> </div>
<br />
<div style="text-align: center;">
P. Honey y A. Mumford (1986), El famoso modelo de la rueda del aprendizaje de Kolb.</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP7LoyOGOHrpZlANIVfnjUxFn_bMNSiVXAdUryciFAd6SRUtzKT_6o96T7xRigLXbjBx4xaGu_Qqu3SobmgxgurrgIMe_MR8wIFde0kRjLznEK_vHQxEw1p7pERHdhB_kR_ljFgMSTQ2aL/s1600/aprendizaje_2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP7LoyOGOHrpZlANIVfnjUxFn_bMNSiVXAdUryciFAd6SRUtzKT_6o96T7xRigLXbjBx4xaGu_Qqu3SobmgxgurrgIMe_MR8wIFde0kRjLznEK_vHQxEw1p7pERHdhB_kR_ljFgMSTQ2aL/s200/aprendizaje_2.gif" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Descargue el Documento Completo: <a href="https://sites.google.com/site/jarcsite/ESTILOS%20DE%20APRENDIZAJE.docx">Aquí</a>...</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Videos Relacionados...</div>
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="0" src="http://c.gigcount.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEzMTY5MDgxNTAyNDgmcHQ9MTMxNjkwODE5MTg5OSZwPTE4MDMxJmQ9Jmc9MSZvPTc1NmM*MGE5Y2I1ZDQ4MWNiMzFj/N2JlMTdkMDdiZmY5.gif" style="height: 0px; visibility: hidden; width: 0px;" width="0" /><embed border="0" flashvars="mycolor=222222&mycolor2=77ADD1&mycolor3=FFFFFF&autoplay=false&rand=0&f=4&vol=100&pat=0&grad=false" height="165" name="myflashfetish" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" salign="TL" src="http://assets.mixpod.com/swf/mp3/mp-simp.swf?myid=85722381&path=2011/09/24" style="height: 165px; visibility: visible; width: 240px;" type="application/x-shockwave-flash" width="240" wmode="transparent"></embed></div>
<a href="http://www.mixpod.com/playlist/85722381" target="_blank"><img alt="Music" src="http://assets.myflashfetish.com/images/get-tracks.gif" style="border-style: none;" title="Get Music Tracks!" /></a><a href="http://www.mixpod.com/" target="_blank"><img alt="Playlist" src="http://assets.mixpod.com/images/make-own.gif" style="border-style: none;" title="Create A Playlist!" /></a><br />
<a href="http://mixpod.com/">Music</a> <a href="http://mixpod.com/">Playlist</a> at <a href="http://mixpod.com/">MixPod.com</a>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
</div>
jarchttp://www.blogger.com/profile/12591571565320605055noreply@blogger.com0tag:blogger.com,1999:blog-7265876346463818440.post-56488096833116465342011-05-08T08:20:00.000-05:002011-05-08T12:30:51.352-05:00Periodico Virtual<b><i>Que es un Periodico Virtual?...</i></b><br />
<div>Aqui les dejo un pequeño ejemplo video de lo que trata este tema, el cual es de mucha importancia para los amantes de publicaciones en la web, en los cuales no saben como ni donde hacerlos.</div><div>Pues las sugerencia son muchas.</div><div>- Desde crear un sencillo blog y con el hecho de publicar entradas de nuevos temas (interesantes), basta, y tienes para iniciar.</div><div>- O si quieres desarrollar quizas una pagina en algun gestor de contenidos bien sea WordPress o Joomla , que se yo, los que ustedes quieran, los cuales tambien sirven para estos anuncios virtuales.</div><div><br />
</div><div>Pero recomiendo que si no son muy adictos a esto de la web, creo que con el buen diseño de un blog tienes...</div><div><br />
</div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/A3sK7xMMphA?feature=player_embedded' frameborder='0'></iframe></div><div><br />
</div>jarchttp://www.blogger.com/profile/12591571565320605055noreply@blogger.com0tag:blogger.com,1999:blog-7265876346463818440.post-13676479626248513162011-02-16T10:12:00.000-05:002011-02-21T10:56:40.917-05:00El Gran Impacto e Importancia de las TIC's<div id="internal-source-marker_0.9331764464179963" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: italic; font-weight: bold; text-decoration: none; vertical-align: baseline;">JARC:</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline;"> Todos sabemos que las TIC son o es una de las herramientas que a nivel mundial tenemos a la vanguardia, por lo que se hace indispensable la utilizacion de la misma en todo los ambitos de desarrollo en lo que se desenvuelve la mente humana.</span></div><span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<div style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline;">Es por ello que la educacion como base primordial en el conocimiento adquirido a traves de los estudios que vamos adquieriendo, tambien cabe resaltar que este BoooooMMnnn, mundial a revolucionado a chicos, grandes e incluso ancianos, sin embargo no podemos dejar de lado que esta gran ola de tecnologia, aun no ha llegado a algunas parte del mundo, por lo que el nivel de educacion en esos lugares es pobre y vemos que tal ves esa sociedad o gobierno o como se llame, tal ves concentra actividades en otras cosas mas importantes “segun ellos.”</span></div><span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<div style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline;">Hay que revolucionar al mundo completo con el uso de las TIC’s partiendo de una concietizacion en la calidad de educacion que nos es brindada, y que esta sea el pilar de las futuras generaciones....!</span></div>jarchttp://www.blogger.com/profile/12591571565320605055noreply@blogger.com0