Dim proceso As New System.Diagnostics.ProcessStartInfo 'Colocamos la ruta del programa a ejecutar, o comando proceso.FileName = "java" 'Agregamos los parámetros de ejecución Dim argumentos As String = "-jar ejecuta.jar" proceso.Arguments = Argumentos 'Ponemos las condiciones para que se oculte la ventana al invocar el proceso proceso.WindowStyle = ProcessWindowStyle.Hidden proceso.CreateNoWindow = True 'Iniciamos el proceso en un nuevo hilo Process.Start(proceso)Ojalá les sirva para sus proyectos
Mostrando entradas con la etiqueta java. Mostrar todas las entradas
Mostrando entradas con la etiqueta java. Mostrar todas las entradas
sábado, 24 de agosto de 2013
Ejecutando programas externos desde .Net
Dada la necesidad de ejecutar un programa hecho en Java desde consola usando .Net con Visual Basic me puse un poco a investigar dada mi falta de experiencia en eso. Después de no mucho tiempo (2 minutos) encontré la solución resolviendo el problema de "ocultar" la ventana MS-DOS que aparece al ejecutar el programa:
lunes, 8 de julio de 2013
Crear código SQL en Java a partir de una consulta
En una ocasión tuve la necesidad de respaldar ciertos datos de una base de datos MySql, los usuarios del programa tenian que generar a partir de una consulta los datos a exportar. De ésta forma tuve que buscar la manera de crear el código de inserción a la base de datos a partir de un conjunto de datos obtenidos a partir de una consulta a la BD.
El caso es el siguiente: Se tiene una consulta X, se requiere guardar a un archivo la exportación de la consulta y conocemos el nombre de la tabla de la cual se extrajo la información.
El primer procedimiento era usar las mismas herramientas que proporciona MySQL para llevar a cabo la exportación, solo que no todas las máquinas que usaban el programa se les podia instalar los ejecutables necesarios para llevar éste método; así que se decidió que se hiciera de forma plana (SQL) en archivos de textos importables a la Base de Datos final.
El método que se creo fue el siguiente:
El caso es el siguiente: Se tiene una consulta X, se requiere guardar a un archivo la exportación de la consulta y conocemos el nombre de la tabla de la cual se extrajo la información.
El primer procedimiento era usar las mismas herramientas que proporciona MySQL para llevar a cabo la exportación, solo que no todas las máquinas que usaban el programa se les podia instalar los ejecutables necesarios para llevar éste método; así que se decidió que se hiciera de forma plana (SQL) en archivos de textos importables a la Base de Datos final.
El método que se creo fue el siguiente:
/**De ésta forma se crea un archivo que contiene los inserts correspondientes a la consulta pasada como parámetro.
* Método que crea cadenas insert para cada datos leido de una consulta
* @param entrada Consulta a crear los inserts
* @param archivo Ruta del archivo a escribir
* @param tabla Nombre de la tabla donde se insertaran los datos
* @return Si se pudo o no realizar la conversión
*/
public boolean creaInsert(ResultSet entrada, String archivo, String tabla) {
try {
ResultSet salidaRS = entrada;
ResultSetMetaData rsmd = salidaRS.getMetaData();
String consulta = "";
consulta = "insert into " + tabla + " (";
for (int k = 1; k < rsmd.getColumnCount(); k++) {
consulta = consulta + rsmd.getColumnName(k + 1) + ",";
}
consulta = consulta.substring(0, consulta.length() - 1) + ") VALUES(";
for (int k = 1; k < rsmd.getColumnCount(); k++) {
if (rsmd.getColumnTypeName(k + 1).contains("INTEGER")) {
consulta = consulta + "" + salidaRS.getString(k + 1) + ",";
} else if (salidaRS.getString(k + 1) == null || salidaRS.getString(k + 1).contains("null") || salidaRS.getString(k + 1).contains("----")) {
consulta = consulta + "null,";
} else {
consulta = consulta + "'" + salidaRS.getString(k + 1) + "',";
}
}
consulta = consulta.substring(0, consulta.length() - 1) + ");";
File f;
f = new File(tabla + ".txt");
if (!f.exists()) {
f.createNewFile();
}
escribeArchivo(tabla, consulta);
return true;
} catch (Exception a) {
a.printStackTrace();
}
return false;
}
viernes, 5 de julio de 2013
Edad en Dias Meses Años usando java y mysql
En ocasiones es necesario saber la edad de una persona en cierta fecha, para esto existen diversas alternativas dependiendo de las herramientas con las que contamos.
En ésta ocasión les muestro la forma de hacerlo usando Java y una conexión a una base de datos MySql.
Para que el método descrito aqui funcione es necesario que se cuente con la conexión MySql ya creada y conectada y las fechas inicial y final. La fecha inicial puede ser la fecha de nacimiento y la final la fecha actual.
Para que el método sea lo mas amplio posible se pasa como parámetro ambas fechas.
Como resultado de éste método se retorna un tipo de dato ResultSet que contiene tres columnas: DIAS, MESES, ANIOS en caso de que no pasara error alguno. El uso del método puede ser mas o menos así:
Espero que les sirva para sus proyectos
En ésta ocasión les muestro la forma de hacerlo usando Java y una conexión a una base de datos MySql.
Para que el método descrito aqui funcione es necesario que se cuente con la conexión MySql ya creada y conectada y las fechas inicial y final. La fecha inicial puede ser la fecha de nacimiento y la final la fecha actual.
Para que el método sea lo mas amplio posible se pasa como parámetro ambas fechas.
public ResultSet DMAdiferencia(String inicio, String fin) { try { ResultSet diferencia = this.derby.createStatement().executeQuery("" + "SELECT {fn TIMESTAMPDIFF(SQL_TSI_YEAR,{ts '" + inicio + " 00:00:00' },{ts '" + fin + " 00:00:00'}) } AS ANIOS, " + " ( ( {fn TIMESTAMPDIFF(SQL_TSI_MONTH,{ts '" + inicio + " 00:00:00'},{ts '" + fin + " 00:00:00'})}) - ( {fn TIMESTAMPDIFF(SQL_TSI_YEAR,{ts '" + inicio + " 00:00:00'},{ts '" + fin + " 00:00:00'}) } * 12)) AS MESES, " + " -( {fn TIMESTAMPDIFF(SQL_TSI_DAY,{ts '" + fin + " 00:00:00'}," + " {fn TIMESTAMPADD ( SQL_TSI_MONTH," + " (({fn TIMESTAMPDIFF(SQL_TSI_MONTH,{ts '" + inicio + " 00:00:00'},{ts '" + fin + " 00:00:00'})}) - ( {fn TIMESTAMPDIFF(SQL_TSI_YEAR,{ts '" + inicio + " 00:00:00'},{ts '" + fin + " 00:00:00'}) } )* 12 )," + " {fn TIMESTAMPADD( SQL_TSI_YEAR," + " ({fn TIMESTAMPDIFF(SQL_TSI_YEAR,{ts '" + inicio + " 00:00:00'},{ts '" + fin + " 00:00:00'})}), {ts '" + inicio + " 00:00:00'} " + " )}" + " )}" + " )" + "}) " + "AS DIAS"); return diferencia; } catch (Exception a) { a.printStackTrace(); } return null; }
Como resultado de éste método se retorna un tipo de dato ResultSet que contiene tres columnas: DIAS, MESES, ANIOS en caso de que no pasara error alguno. El uso del método puede ser mas o menos así:
ResultSet salida= DMAdiferencia("2013-01-01","2013-12-12"); int dias= salida.getInt("DIAS"); int meses=salida.getInt("MESES"); int anios= salida.getInt("ANIOS");Ojo, la fecha debe estar en formato YYYY-MM-DD.
Espero que les sirva para sus proyectos
Etiquetas:
cabachu,
chuchu,
codigo,
diferencia,
fechas,
gabriel,
java,
mysql,
rojas,
timestamp,
villanueva
lunes, 1 de julio de 2013
Cálculo de CRIP (Clave de Registro e Identidad Personal)
Código para generar la CRIP, usada normalmente en las actas de nacimiento y como parte de la CURP
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package utils; /** * * @author cabachu */ import java.io.*; import java.util.*; // calcula el digito verificador de la CRIP para siglo pasado y el siglo actual // necesita tomar los valores de entidad, municipio, oficialia, acta y año //regresa un string que contiene la CRIP public class CalculaCrip { public String obtener_crip( String strEntidad, String strMunicipio, String strOficialia, String strAnio, String strActa) { String strdatos = ""; String strletras = "JABCDEFGHIJ "; // constantes de letras String strnumeros = "012345678900";// constantes de numeros int ik[] = {3, 2, 7, 6, 5, 4, 3, 2, 7, 6, 5, 4, 3, 2}; // constante para calcular la crip int[] imul = new int[16]; int[] inum = new int[16]; int isuma = 0; int ix = 0; int ia = 0; int idigito = 0; if (strEntidad.length() == 1) { strEntidad = "0" + strEntidad; } // se agrega un cero si vien 1 solo digito if (strMunicipio.length() == 1) { strMunicipio = "00" + strMunicipio; }// se agregan ceros hasta copletar 3 digitos if (strMunicipio.length() == 2) { strMunicipio = "0" + strMunicipio; } if (strOficialia.length() == 1) { strOficialia = "0" + strOficialia; }// se agregan ceros hasta copletar 2 digitos if (strActa.length() == 1) { strActa = "0000" + strActa; }// se agregan ceros hasta copletar 5 digitos if (strActa.length() == 2) { strActa = "000" + strActa; } if (strActa.length() == 3) { strActa = "00" + strActa; } if (strActa.length() == 4) { strActa = "0" + strActa; } strdatos = strEntidad + strMunicipio + strOficialia + strAnio.substring(2, 4) + strActa; // se contatena la raiz para calcular el digito System.out.println(strdatos); // a cada numero de la raiz se le multiplica por un nuemro de la constante y se suman for (ia = 0; ia < 14; ia++) { inum[ia] = Integer.valueOf(strdatos.substring(ia, ia + 1)).intValue(); imul[ia] = inum[ia] * ik[ia]; isuma = isuma + imul[ia]; } // se obtiene el digito verificador ix = isuma % 11; System.out.println("suma "); System.out.println(isuma); System.out.println("digito antes de resta "); System.out.println(ix); if (ix <= 0) { idigito = 0; } else { idigito = 11 - ix; } // se evalua el año y se coloca el digito verificador numero o letra System.out.println("valor de comparacion"); System.out.println(strAnio.compareTo("1999")); if (strAnio.compareTo("1999") > 0) { if (idigito == 0) { strdatos = strdatos + "J"; } else { System.out.println(idigito); strdatos = strdatos + strletras.substring(idigito, idigito + 1); } } else { System.out.println(idigito); strdatos = strdatos + strnumeros.substring(idigito, idigito + 1); } System.out.println(strdatos); return strdatos; } }
viernes, 28 de junio de 2013
RFC y CURP en Java
RFC
El Registro Federal de Contribuyentes (o RFC) se refiere a una clave que tiene, toda persona física en México para realizar alguna actividad licita que este obligada a pagar impuestos a toda persona moral con algunas excepciones. A estas personas se les llama contribuyentes.
Esta clave debe llevar datos personales del contribuyente o persona física como su nombre y fecha de nacimiento; o nombre y fecha de origen de la persona moral. El registro se debe hacer en las oficinas del Servicio de Administración Tributaria de la Secretaria de Hacienda y Crédito Publico, y es obligatorio para todos los que señale el Código Fiscal de la Federación.
Esta clave debe llevar datos personales del contribuyente o persona física como su nombre y fecha de nacimiento; o nombre y fecha de origen de la persona moral. El registro se debe hacer en las oficinas del Servicio de Administración Tributaria de la Secretaria de Hacienda y Crédito Publico, y es obligatorio para todos los que señale el Código Fiscal de la Federación.
Como saber el RFC de una persona fisica?
Algoritmos Genéticos
Los algoritmos genéticos tienen su origen en la simulación de la Evolución. La evolución es el proceso en el cual los genes heredados de dos padres aptos son modificados, mejorados o mutados de tal forma que los nuevos individuos son mejores genéticamente hablando.
El proceso de mejoramiento se lleva a cabo al unir dos genotipos para producir un tercero. El genotipo son todas las características que componen al individuo (color de piel, color de cabello, tipo de ojos, tamaño de dientes, etc). Cuando se mezclan dos individuos (dos genotipos), existen diversas combinaciones que se pueden producir dependiendo de la misma mezcla y de los mismos genes que tengan los individuos.
Suscribirse a:
Entradas (Atom)