Cesar Systems

Herramientas Informaticas

ENVIAR ARCHIVOS EN LA NUBE SIN REGISTRARSE

En algunas ocasiones necesitamos enviar archivos grandes de un equipo a otro, archivos tan grandes que no se pueden enviar por correo debido a su tamaño, debido a eso se utilizan servicio gratuitos en la nube para subir archivos y poder compartirlos, por ejemplo, existe Dropbox en el cual te registras y te da un espacio aproximado de 2 GB, o también existe Google Drive, que te dan alrededor de 16 GB.

Pero algunas veces nosotros necesitamos enviar archivos de un PC que no es el de nosotros y nos da miedo de que si abrimos alguna cuenta de la nube de Google Drive, Dropbox o cualquier otro, queden nuestras contraseñas almacenadas en un equipo ajeno. entonces para ello existe una solución.

Existe WeTransfer, una web simple y fácil de usar, solo tenemos que subir el archivo, poner el correo electrónico de la persona a la que se le va enviar el archivo y nuestro correo que puede ser cualquiera, solo nos pide el correo para confirmarnos si el destinatario ha descargado el archivo que se le ha enviado.

Esta herramienta en su versión gratuita te permite enviar de archivos de un tamaño menor o igual a 2 GB y carga el archivo rápidamente.

Espero que les sirva, no olviden comentar y compartir.

LINUX MINT HA SIDO ATACADO

 Linux Mint, una de las distribuciones con mas popularidad dentro del mundo de GNU/Linux ha sufrido un atentado en la seguridad de su pagina web insertando ISO diseñados con backdoors, Linux Mint 17.3 Cinnamon es la versión donde se ha detectado este ataque.

Clement Lefebvre lider del proyecto informa que solo los que han descagado la imagen ISO del dia 20 de febrero del 2016 como descarga directa estan vulnerables, en caso de haber descargado la imagen por via torrent no existe ningun problema.

El ataque fue gracias a una vulnerabilidad en el gestor de contenido de wordpress “VALGAME”, actualmente la pagina aparece sin conexion, http://www.linuxmint.com/.

Recomendaciones

Si descargo el dia de ayer la ISO mencionada lo mas recomendable es borrarla borrar el ISO volverlo a descargar e instalarlo de nuevo

Cambiar todas las contraseñas de correo y demas cuentas

Para finalizar la intrusion solo afecto a Linux Mint 17.3 Cinnamon, las demas estan limpias

Como bootear Windows 10 en una memoria USB

Windows ha sido hasta ahora unos de los sistemas operativos mas usados para el uso personal o en la oficina “Por lo menos en México”, aunque Linux le ha estado ganando terreno. La ultima versión de Windows  fue el Windows 10, se dice que se podrá instalar con una licencia gratuita aunque a la fecha yo lo dudo, sera gratuito entre comillas, solo si tienes activa una versión anterior del Windows 7  “Seven”en adelante.

Anteriormente ya vimos las mejoras que tiene, tiene escritorio múltiple, volvió el menú inicio, arranca mas rápido, así como sus inconvenientes de privacidad.

Bien sin tanto rollo les quiero mostrar a ustedes la mejor manera de crear una USB de arranque “BOOT USB” que les servirá para instalar este sistema operativo desde cero a travez de una memoria USB.

El programa se llama wintobootic y lo pueden descargar gratuitamente en la siguiente pagina http://www.wintobootic.com/

El procedimiento para bootear la memoria es muy fácil, solo tienes que elegir la ISO y la memoria USB

w2bv2_f4.png

Project Libre. Alternativa de código abierto a Microsoft Project (Windows, Linux Mac)

COMO LEER UNA TABLA Y PONER LOS DATOS EN UN JTABLE EN JAVA

Que tal camaradas en este post les dejare un ejemplo de como leer una tabla en MySQL a travez de un procedimiento almacenado y poner los datos en un JTable que es el equivalente al grid en las IDE de Microsoft o las mas parecida que encontre.

En primera necesitaremos del procedimiento almacenado el cual les dejo aquí mismo

[code language=”SQL”]

DROP PROCEDURE IF EXISTS `PA_LeeClientes`$$
CREATE PROCEDURE `PA_LeeClientes`(IN `desde` BIGINT, IN `cuantos` BIGINT, IN `Busqueda` VARCHAR(200))
BEGIN

SELECT right(`Clientes`.`idCliente`,5) as idCliente,
`Clientes`.`Nombres`,
`Clientes`.`Apellidos`,
`Clientes`.`Direccion`,
`Clientes`.`Ciudad`,
`Clientes`.`Telefono`,
`Clientes`.`RFC`,
`Clientes`.`FechaNacimiento`,
`Clientes`.`Estado`,
`Clientes`.`Municipio`,
`Clientes`.`CodigoPostal`
FROM `Clientes`
where Nombres LIKE CONCAT(‘%’,Busqueda,’%’)
or Nombres LIKE CONCAT(‘%’,Busqueda,’%’)
or Apellidos LIKE CONCAT(‘%’,Busqueda,’%’)
or Direccion LIKE CONCAT(‘%’,Busqueda,’%’)
or Ciudad LIKE CONCAT(‘%’,Busqueda,’%’)
or Telefono LIKE CONCAT(‘%’,Busqueda,’%’)
or RFC LIKE CONCAT(‘%’,Busqueda,’%’)
or Estado LIKE CONCAT(‘%’,Busqueda,’%’)
limit desde,cuantos;
[/code]

Ahora un método que necesitaremos es la que esta el la clase “Clientes”
[code language=”Java”]
public void leerClientes(long intDesde ,long intCuantos,DefaultTableModel tablaClientes,String strBusqueda ){
String strConsulta;
String datos[]=new String [4];

strConsulta="call PA_LeeClientes("+intDesde+","+intCuantos+",’"+strBusqueda+"’);";

try{

ps= con.conectado().prepareStatement(strConsulta);
res = ps.executeQuery();

while(res.next()){
//System.out.println(res.getString("Nombres"));
datos[0]=res.getString("IdCliente");
datos[1]=res.getString("Nombres");
datos[2]=res.getString("Apellidos");
datos[3]=res.getString("RFC");

tablaClientes.addRow(datos);
}
res.close();
}catch(SQLException e){
System.out.println(e);

}

}
[/code]

Y por si hiciera falta la clase de conexión a la base de datos MySQL
[code language=”Java”]

Ahora vemos el método que forma el JTable y le asigna los datos
[code language="Java"]
public void defineTablaClientes(String strBusqueda,long DesdeHoja){

long lngRegistros=1;
long lngDesdeRegistro;

//DEFINIMOS LA TABLA MODELO
DefaultTableModel tablaClientes = new DefaultTableModel();

//LE AGREGAMOS EL TITULO DE LAS COLUMNAS DE LA TABLA EN UN ARREGLO
String strTitulos[]={"ID CLIENTE","NOMBRE","APELLIDO","RFC"};

//LE ASIGNAMOS LAS COLUMNAS AL MODELO CON LA CADENA DE ARRIBA
tablaClientes.setColumnIdentifiers(strTitulos);

//LE ASIGNAMOS EL MODELO DE ARRIBA AL JTABLE
this.JTabClientes.setModel(tablaClientes);

//AHORA A LEER LOS DATOS

//ASIGNAMOS CUANTOS REGISTROS POR HOJA TRAEREMOS
lngRegistros=(Long.valueOf(this.txtNumReg.getText()));

//ASIGNAMOS DESDE QUE REGISTRO TRAERA LA CONSULTA SQL
lngDesdeRegistro=(DesdeHoja*lngRegistros)-lngRegistros;

//INSTANCEAMOS LA CLASE CLIENTE
control_cliente classCliente= new control_cliente();

//LEEMOS LA CLASE CLIENTE MANDANDOLE LOS PARAMETROS
classCliente.leerClientes(lngDesdeRegistro, (Long.valueOf(this.txtNumReg.getText())),tablaClientes,strBusqueda);

//LE PONEMOS EL RESULTADO DE LA CONSULA AL JTABLE
this.JTabClientes.setModel(tablaClientes);

//ASIGNAMOS LOS VALORES A LA PAGINACION
lngRegistros = classCliente.leerCuantos("");
lngNumPaginas= (lngRegistros/ (Long.valueOf( this.txtNumReg.getText())))+1;
this.jlblTotalPaginas.setText(" De " + ( lngNumPaginas));

}
[/code]

Y de esta manera sencilla se agregan los valores a la celda, es muy fácil verdad.

Bien camaradas espero que les sirva y saludos

COMO INSTALAR MINETEST 0.4.13 EN LINUX MINT 17.2 KDE

Como cualquier jugador sabra, Minetest es un la versión alternativa libre de Minecraft, un juego donde puedes construir, explorar y explotar tu mundo a tu antojo, como legos pero en la PC.

En Linux Mint 17.2 KDE el gestor de paquetes te instalara por defecto la versión 0.4.8, que no trae la ultima versión 0.4.13, la ultima versión tiene mejoras como por ejemplo un minimapa y la cinematic.
Para instalarlo solo tienen que ejecutar los siguientes comandos en la terminal

$ sudo add-apt-repository ppa:minetestdevs/stable
$ sudo apt-get update
$ sudo apt-get install minetest

Para desinstanlar, ejecute:

$ sudo apt-get remove minetest
Fuente:
http://www.matsuura.com.br/2015/08/como-instalar-o-minetest-0413.html

EJEMPLO DE UN PROCEDIMIENTO ALMACENADO EN MYSQL 5.X #5

Seguimos con el tutorial de programación en Java

En esta ocasión les dejare un ejemplo de como crear un procedimiento almacenado en MySQL en el cual recibe parametros y hace la consulta de acuerdo a los parametros recibidos, en este caso va a insertar datos en la tabla clientes

[code language=”SQL”]
— ——————————————————————————–
— Routine DDL
— Note: comments before and after the routine body will not be stored by the server
— ——————————————————————————–
DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_InsertaCliente`(in Nombres VARCHAR(200)
, Apellidos VARCHAR(200),Direccion varchar(200),Ciudad varchar(200)
,Telefono varchar(200),RFC VARCHAR(10),FechaNacimiento VARCHAR(200),Estado VARCHAR(200)
,Municipio varchar(200),CodigoPostal VARCHAR(200))
BEGIN

INSERT INTO `Clientes`
(
`Nombres`,
`Apellidos`,
`Direccion`,
`Ciudad`,
`Telefono`,
`RFC`,
`FechaNacimiento`,
`Estado`,
`Municipio`,
`CodigoPostal`
)
VALUES
(
Nombres,
Apellidos,
Direccion,
ciudad,
Telefono,
RFC,
FechaNacimiento,
Estado,
Municipio,
CodigoPostal
);
END
[/code]

Saludos y con respecto al comentario de Jonh de pasar el proyecto, claro que lo hare, lo subire al gitHub como código libre, mantente atento, lo subire para que igual no se me pierda el proyecto como tantos otros que se me han perdido y otros le den continuidad.

Saludos y hasta la proxima

EL MEJOR PROGRAMA PARA GRABAR EL ESCRITORIO EN LINUX MINT 17.2 RAFAELA MATE

Que tal camaradas bienvenidos de nuevo a su blog, ya casi formateo el PC para probar el KDE de Linux Mint 17.2 Rafaela ya que actualmente tengo instalada la versión MATE, es por eso que me urge ir compartiendo las herramientas que me han estado sirviendo y volverlas a usar, ya que se me olvida y es una flojera volver a buscar en Google.

Bien yo como ustedes sabrán que existen muchos programas para grabar el escritorio en vídeo para hacer video-tutoriales o Reviews, entre los cuales esta simple screen recorder o en el caso de Chakra Linux usamos FDesktopRecorder.

El ultimo programa que mas me ha servido en Linux Mint 17.2 Rafaela MATE “Espero que no se molesten por repetir tanto la versión de SO que utilizo”  Se llama vokoscreen 1.9.0, pero dirán que tiene esta aplicación que no tengan las demás mencionadas anteriormente, pues bien amigos aparte de que la aplicación nos permite grabar la pantalla completa, ventana o un área seleccionada también nos permite capturar el audio interno,  cosa que por mas que busque no encontré en los otros programas y que para mi es demasiado útil no recuerdo para que pero si me es útil, a ya recordé, para grabar juegos.

Para grabar junto con el audio interno solo tenemos que seleccionar el Monitor y con eso lo graba perfectamente.

Program

Entre otras funciones que tiene este programa tiene un aplicación es la de ampliar, es decir, tiene una especie de lupa, podemos elegir 3 tamaños para el ampliador en la imagen de abajo elegí el mas grande.

Área de trabajo 1_016

Y si les gusta que se les vea su guapo rostro así como el mio también tiene la opción  para capturar la Webcam mientras graban el escritorios compas.

Área de trabajo 1_018

Fierro camaradas espero que les sirva esta pequeña contribución y ya saben que cualquier duda o comentario es bienvenido en la caja de comentarios.

Saludos

 Video demostrativo

[youtube https://www.youtube.com/watch?v=cxmxa67gXhY&w=560&h=315]

COMO CONECTAR JAVA CON MYSQL NETBEANS EJEMPLO #4

Bienvenidos sean otra vez a este post, lo que hoy se vendrá a explicar sera la manera de como conectar, enlazar, ligar un programa escrito en Java, lógicamente desde el código fuente, a una base de datos MySQL 5.6.X

La versión del MySQL es la versión que viene en la instalación de XAMPP 5.6.11.

Primeramente tendrán que instalar el MySQL, cualquiera de estos videomanuales te pueden servir, uno es para Linux Mint 17.2 Rafaela y otro es para la versión de Windows 10.

Instalación Windows 10

[youtube https://www.youtube.com/watch?v=7oFXfcPP9CE]

Instalación Linux Mint 17.2
[youtube https://www.youtube.com/watch?v=8yuUw0V7jz0]

Una vez instalado el servidor SQL procederemos a levantar la base de datos

[code languaje=”sql”]
— phpMyAdmin SQL Dump
— version 4.4.12
— http://www.phpmyadmin.net

— Servidor: localhost
— Tiempo de generación: 12-10-2015 a las 05:06:49
— Versión del servidor: 5.6.25
— Versión de PHP: 5.6.11

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;


— Base de datos: `INVEN`

CREATE DATABASE IF NOT EXISTS `INVEN` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `INVEN`;

DELIMITER $$

— Procedimientos

DROP PROCEDURE IF EXISTS `sp_InsertaCliente`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_InsertaCliente`(in Nombres VARCHAR(200)
, Apellidos VARCHAR(200),Direccion varchar(200),Ciudad varchar(200)
,Telefono varchar(200),RFC VARCHAR(10),FechaNacimiento VARCHAR(200),Estado VARCHAR(200)
,Municipio varchar(200),CodigoPostal VARCHAR(200))
BEGIN

INSERT INTO `Clientes`
(
`Nombres`,
`Apellidos`,
`Direccion`,
`Ciudad`,
`Telefono`,
`RFC`,
`FechaNacimiento`,
`Estado`,
`Municipio`,
`CodigoPostal`
)
VALUES
(
Nombres,
Apellidos,
Direccion,
ciudad,
Telefono,
RFC,
FechaNacimiento,
Estado,
Municipio,
CodigoPostal
);

END$$

DELIMITER ;

— ——————————————————–


— Estructura de tabla para la tabla `Clientes`

DROP TABLE IF EXISTS `Clientes`;
CREATE TABLE IF NOT EXISTS `Clientes` (
`idCliente` bigint(20) NOT NULL,
`Nombres` varchar(100) DEFAULT NULL,
`Apellidos` varchar(45) DEFAULT NULL,
`Direccion` varchar(45) DEFAULT NULL,
`Ciudad` varchar(45) DEFAULT NULL,
`Telefono` varchar(45) DEFAULT NULL,
`RFC` varchar(45) DEFAULT NULL,
`FechaNacimiento` datetime(6) DEFAULT NULL,
`Estado` varchar(45) DEFAULT NULL,
`Municipio` varchar(45) DEFAULT NULL,
`CodigoPostal` varchar(45) DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=latin1;


— Volcado de datos para la tabla `Clientes`

[/code]

Ya levantada la base de datos tendremos que agregar la siguiente librería para conectar MySQL mysql-connector-java-5.1.6-bin.jar, la agregamos de igual modo que hemos estado agregando librerías en los post anteriores.

Bien ya agregada la librería creamos la siguiente clase

[code languaje=”Java”]
/*
Clase conexión, recibe la información de la conexión y se conecta
*/
package herramientas;
import java.sql.*;
import javax.swing.JOptionPane;

public class conexion {

public static String strServidor= new String();
public static String strBaseDeDatos=new String();
public static String strUsuarioSQL=new String();
public static String strPSWSQL=new String();
Connection conexion= null;

public Connection conectado(){
try{

Class.forName("com.mysql.jdbc.Driver");

conexion = DriverManager.getConnection("jdbc:mysql://"+ this.strServidor +"/" +this.strBaseDeDatos + "?user="+this.strUsuarioSQL + "&password="+ this.strPSWSQL);
Statement stm = conexion.createStatement();
}
catch(SQLException e)
{

JOptionPane.showMessageDialog(null, "ERROR DE CONEXIÓN"+e);

}
catch(ClassNotFoundException e)
{
JOptionPane.showMessageDialog(null, e);
}
return conexion;
}

public void desconectar(){
conexion = null;
System.out.println("conexion terminada");

}

}

[/code]

Luego al usar la clase conexión, lo haríamos de la siguiente forma

[code languaje=”Java”]
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package interfaces;

import clases.classUsuarios;

//AQUI ES DONDE TENEMOS LA CLASE CONEXION
import herramientas.conexion;

import java.awt.List;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URLDecoder;
import java.util.jar.Attributes;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;

import javax.xml.*;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

/**
*
* @author julio
*/
public class frmLogueo extends javax.swing.JFrame {

/**
* Creates new form frmLogueo
*/
public frmLogueo() {
initComponents();
leerConfiguracion();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLabel2 = new javax.swing.JLabel();
lblServidor = new javax.swing.JLabel();
txtServer = new javax.swing.JTextField();
lblUsuario = new javax.swing.JLabel();
txtUsuario = new javax.swing.JTextField();
lblContraseña = new javax.swing.JLabel();
cmdAccesar = new javax.swing.JButton();
pswContraseña = new javax.swing.JPasswordField();
lblBase = new javax.swing.JLabel();
txtBase = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setAlwaysOnTop(true);
setLocationByPlatform(true);
setResizable(false);

jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/padlock.jpg"))); // NOI18N

lblServidor.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
lblServidor.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblServidor.setText("SERVIDOR");
lblServidor.setToolTipText("");

lblUsuario.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
lblUsuario.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblUsuario.setText("USUARIO");

lblContraseña.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
lblContraseña.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblContraseña.setText("CONTRASEÑA");

cmdAccesar.setText("ACCESO");
cmdAccesar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cmdAccesarActionPerformed(evt);
}
});

lblBase.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
lblBase.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblBase.setText("BASE DE DATOS");
lblBase.setToolTipText("");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(129, 129, 129)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(lblServidor, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
.addComponent(txtUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
.addComponent(lblUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
.addComponent(pswContraseña)
.addComponent(txtServer, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
.addComponent(lblContraseña, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblBase, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
.addComponent(txtBase)))
.addGroup(layout.createSequentialGroup()
.addGap(114, 114, 114)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(123, Short.MAX_VALUE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(140, 140, 140)
.addComponent(cmdAccesar, javax.swing.GroupLayout.PREFERRED_SIZE, 111, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(156, Short.MAX_VALUE)))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2)
.addGap(30, 30, 30)
.addComponent(lblServidor)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtServer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblBase)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtBase, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE)
.addComponent(lblUsuario)
.addGap(12, 12, 12)
.addComponent(txtUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblContraseña)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(pswContraseña, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(93, 93, 93))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(459, Short.MAX_VALUE)
.addComponent(cmdAccesar, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap()))
);

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void cmdAccesarActionPerformed(java.awt.event.ActionEvent evt) {
try {
// TODO add your handling code here:

// File archivoConexion = new File("Conexion.xml");
//
// if (archivoConexion.exists())
// System.out.println("El fichero");
// else
crearXML2();

//AQUI CREAMOS LA INSTANCIA A LA CLASE
conexion con = new conexion();

//AQUI LLENAMOS CON LOS DATOS NECESARIOS DE CONEXIÓN
con.strServidor=this.txtServer.getText();
con.strPSWSQL="";
con.strUsuarioSQL="root";
con.strBaseDeDatos=this.txtBase.getText();

//AQUI REALIZAMOS LA CONEXIÓN
con.conectado();

leerConfiguracion();
frmPrincipal principal= new frmPrincipal();
classUsuarios usuarios = new classUsuarios();

//ESTO YA ES OTRA HISTORIA, AQUI VERIFICA SI EL USUARIO Y CONTRASEÑA COINCIDEN
if (usuarios.blnChecaUsuarioContra("SELECT * FROM Usuarios where Usuario=’"+this.txtUsuario.getText() +"’ and Contra=’"+this.pswContraseña.getText()+"’")==true){
this.setVisible(false);
principal.setVisible(true);
}
else
JOptionPane.showMessageDialog(null, "USUARIO O CONTRASEÑA INCORRECTO"+this.pswContraseña.getText());
System.out.println("SELECT * FROM Usuarios where Usuario=’"+this.txtUsuario.getText() +"’ and Contra=’"+this.pswContraseña.getText()+"’");
} catch (ParserConfigurationException ex) {
Logger.getLogger(frmLogueo.class.getName()).log(Level.SEVERE, null, ex);
} catch (TransformerException ex) {
Logger.getLogger(frmLogueo.class.getName()).log(Level.SEVERE, null, ex);
}

}

/**
* @param args the command line arguments
*/
// public static void main(String args[]) {
// /* Set the Nimbus look and feel */
// //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
// /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
// * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
// */
// try {
// for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
// if ("Nimbus".equals(info.getName())) {
// javax.swing.UIManager.setLookAndFeel(info.getClassName());
// break;
// }
// }
// } catch (ClassNotFoundException ex) {
// java.util.logging.Logger.getLogger(frmLogueo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// } catch (InstantiationException ex) {
// java.util.logging.Logger.getLogger(frmLogueo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// } catch (IllegalAccessException ex) {
// java.util.logging.Logger.getLogger(frmLogueo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// } catch (javax.swing.UnsupportedLookAndFeelException ex) {
// java.util.logging.Logger.getLogger(frmLogueo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// }
// //</editor-fold>
//
// /* Create and display the form */
// java.awt.EventQueue.invokeLater(new Runnable() {
// public void run() {
// new frmLogueo().setVisible(true);
// }
// });
// }

// Variables declaration – do not modify
private javax.swing.JButton cmdAccesar;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel lblBase;
private javax.swing.JLabel lblContraseña;
private javax.swing.JLabel lblServidor;
private javax.swing.JLabel lblUsuario;
private javax.swing.JPasswordField pswContraseña;
private javax.swing.JTextField txtBase;
private javax.swing.JTextField txtServer;
private javax.swing.JTextField txtUsuario;
// End of variables declaration

public void crearXML2() throws ParserConfigurationException, TransformerConfigurationException, TransformerException{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation implementation = builder.getDOMImplementation();

Document document = implementation.createDocument(null, "Configuracion", null);
document.setXmlVersion("1.0");

Element raiz = document.getDocumentElement();

Element nodoServidor = document.createElement("Servidor"); //creamos un nuevo elemento
Text nodoValorServidor = document.createTextNode(this.txtServer.getText()); //Ingresamos la info
nodoServidor.appendChild(nodoValorServidor);
raiz.appendChild(nodoServidor); //pegamos el elemento a la raiz "Documento"

Element nododb = document.createElement("DB"); //creamos un nuevo elemento
Text nodoValorDB = document.createTextNode(this.txtBase.getText()); //Ingresamos la info
nododb.appendChild(nodoValorDB);
raiz.appendChild(nododb); //pegamos el elemento a la raiz "Documento"

Element nodoUsuario = document.createElement("Usuario"); //creamos un nuevo elemento
Text nodoValorUsuario = document.createTextNode(this.txtUsuario.getText()); //Ingresamos la info
nodoUsuario.appendChild(nodoValorUsuario);
raiz.appendChild(nodoUsuario); //pegamos el elemento a la raiz "Documento"

Source source = new DOMSource(document);
StreamResult result = new StreamResult(new java.io.File("Conexion.xml"));//nombre del archivo
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
}

public void leerConfiguracion(){
try{
File fXmlFile = new File("Conexion.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);

//optional, but recommended
//read this – http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
doc.getDocumentElement().normalize();

System.out.println("Root element :" + doc.getDocumentElement().getNodeName());

NodeList nList = doc.getElementsByTagName("Configuracion");

System.out.println("—————————-");

for (int temp = 0; temp < nList.getLength(); temp++) {

Node nNode = nList.item(temp);

System.out.println("nCurrent Element :" + nNode.getNodeName());

if (nNode.getNodeType() == Node.ELEMENT_NODE) {

Element eElement = (Element) nNode;

this.txtServer.setText( eElement.getElementsByTagName("Servidor").item(0).getTextContent());
this.txtBase.setText(eElement.getElementsByTagName("DB").item(0).getTextContent());
this.txtUsuario.setText(eElement.getElementsByTagName("Usuario").item(0).getTextContent());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

}

[/code]

Por si llegaran a necesitar la clase usuarios
[code languaje=”Java”]
/*
CREADO POR JULIO
*/
package clases;

import java.sql.SQLException;
import herramientas.conexion.*;
import com.sun.crypto.provider.RSACipher;
import herramientas.conexion;
import java.awt.List;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*
* @author julio
*/
public class classUsuarios {

private conexion con;
PreparedStatement ps;
ResultSet res;

public classUsuarios() {
con = new conexion();
}

public boolean blnChecaUsuarioContra( String sql){
boolean data =false;
String idUsuarios="IdUsuarios";

try{

ps= con.conectado().prepareStatement(sql);
res = ps.executeQuery();

while(res.next()){
//System.out.println(res.getNString(idUsuarios));
data=true;
System.out.println(res.getWarnings());
}
res.close();
}catch(SQLException e){
System.out.println(e);

}
return data;
}

}

[/code]

COMO LEER UN XML USANDO JAVA Y NETBEANS #3

Que tal camaradas, continuando con el post anterior en el cual se mostró como escribir o generar un XML usando Java con la IDE NetBeans, en esta ocasión se mostrara como el programa leerá internamente dicho XML.

[code languaje=”XML”]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Configuracion>
<Servidor>localhost</Servidor>
<DB>comercial</DB>
<Usuario>Julio8</Usuario>
</Configuracion>
[/code]

Para ello igual tenemos que importar las librerías que importamos en la publicación anterior y llamarlas en el encabezado.

Bien desde de ello creamos la función que lee el archivo

[code languaje=”Java”]
public void leerConfiguracion(){
try{
File fXmlFile = new File("Conexion.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);

//optional, but recommended
//read this – http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
doc.getDocumentElement().normalize();

System.out.println("Root element :" + doc.getDocumentElement().getNodeName());

NodeList nList = doc.getElementsByTagName("Configuracion");

System.out.println("—————————-");

for (int temp = 0; temp < nList.getLength(); temp++) {

Node nNode = nList.item(temp);

System.out.println("nCurrent Element :" + nNode.getNodeName());

if (nNode.getNodeType() == Node.ELEMENT_NODE) {

Element eElement = (Element) nNode;

this.txtServer.setText( eElement.getElementsByTagName("Servidor").item(0).getTextContent());
this.txtBase.setText(eElement.getElementsByTagName("DB").item(0).getTextContent());
this.txtUsuario.setText(eElement.getElementsByTagName("Usuario").item(0).getTextContent());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
[/code]

En el código  que se muestra arriba podrán ver que la información leída sera puesta en los campos de textos correspondientes, pero ustedes pueden hacer lo que sea con ello, mostrarlos en pantalla o guardarlos en base de datos, ya depende de sus necesidades.

Y luego invocan la función en donde la quieran usar

[code languaje=”Java”]

leerConfiguracion();

[/code]

Vídeo demostrativo
[youtube https://www.youtube.com/watch?v=XkKrQ2bMNtc&w=560&h=315]

No se olviden de dejar su comentario

Saludos Espero que les sirva

Suerte

Página 59 de 141

Creado con WordPress & Tema de Anders Norén