Proyecto, explicación y código de la aplicación: http://www.jc-mouse.net/java/escalar-imagen-en-java
¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]
JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]
En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]
La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]
JAN29
JAN29
JAN29
JAN29
JAN29
JAN29
JAN29
import java.util.regex.Pattern; /** * @web http://jc-mouse.blogspot.com/ * @author Mouse */ public class Numero_a_Letra { private final String[] UNIDADES = {"", "un ", "dos ", "tres ", "cuatro ", "cinco ", "seis ", "siete ", "ocho ", "nueve "}; private final String[] DECENAS = {"diez ", "once ", "doce ", "trece ", "catorce ", "quince ", "dieciseis ", "diecisiete ", "dieciocho ", "diecinueve", "veinte ", "treinta ", "cuarenta ", "cincuenta ", "sesenta ", "setenta ", "ochenta ", "noventa "}; private final String[] CENTENAS = {"", "ciento ", "doscientos ", "trecientos ", "cuatrocientos ", "quinientos ", "seiscientos ", "setecientos ", "ochocientos ", "novecientos "}; public Numero_a_Letra() { } public String Convertir(String numero, boolean mayusculas) { String literal = ""; String parte_decimal; //si el numero utiliza (.) en lugar de (,) -> se reemplaza numero = numero.replace(".", ","); //si el numero no tiene parte decimal, se le agrega ,00 if(numero.indexOf(",")==-1){ numero = numero + ",00"; } //se valida formato de entrada -> 0,00 y 999 999 999,00 if (Pattern.matches("\\d{1,9},\\d{1,2}", numero)) { //se divide el numero 0000000,00 -> entero y decimal String Num[] = numero.split(","); //de da formato al numero decimal parte_decimal = Num[1] + "/100 Bolivianos."; //se convierte el numero a literal if (Integer.parseInt(Num[0]) == 0) {//si el valor es cero literal = "cero "; } else if (Integer.parseInt(Num[0]) > 999999) {//si es millon literal = getMillones(Num[0]); } else if (Integer.parseInt(Num[0]) > 999) {//si es miles literal = getMiles(Num[0]); } else if (Integer.parseInt(Num[0]) > 99) {//si es centena literal = getCentenas(Num[0]); } else if (Integer.parseInt(Num[0]) > 9) {//si es decena literal = getDecenas(Num[0]); } else {//sino unidades -> 9 literal = getUnidades(Num[0]); } //devuelve el resultado en mayusculas o minusculas if (mayusculas) { return (literal + parte_decimal).toUpperCase(); } else { return (literal + parte_decimal); } } else {//error, no se puede convertir return literal = null; } } /* funciones para convertir los numeros a literales */ private String getUnidades(String numero) {// 1 - 9 //si tuviera algun 0 antes se lo quita -> 09 = 9 o 009=9 String num = numero.substring(numero.length() - 1); return UNIDADES[Integer.parseInt(num)]; } private String getDecenas(String num) {// 99 int n = Integer.parseInt(num); if (n < 10) {//para casos como -> 01 - 09 return getUnidades(num); } else if (n > 19) {//para 20...99 String u = getUnidades(num); if (u.equals("")) { //para 20,30,40,50,60,70,80,90 return DECENAS[Integer.parseInt(num.substring(0, 1)) + 8]; } else { return DECENAS[Integer.parseInt(num.substring(0, 1)) + 8] + "y " + u; } } else {//numeros entre 11 y 19 return DECENAS[n - 10]; } } private String getCentenas(String num) {// 999 o 099 if( Integer.parseInt(num)>99 ){//es centena if (Integer.parseInt(num) == 100) {//caso especial return " cien "; } else { return CENTENAS[Integer.parseInt(num.substring(0, 1))] + getDecenas(num.substring(1)); } }else{//por Ej. 099 //se quita el 0 antes de convertir a decenas return getDecenas(Integer.parseInt(num)+""); } } private String getMiles(String numero) {// 999 999 //obtiene las centenas String c = numero.substring(numero.length() - 3); //obtiene los miles String m = numero.substring(0, numero.length() - 3); String n=""; //se comprueba que miles tenga valor entero if (Integer.parseInt(m) > 0) { n = getCentenas(m); return n + "mil " + getCentenas(c); } else { return "" + getCentenas(c); } } private String getMillones(String numero) { //000 000 000 //se obtiene los miles String miles = numero.substring(numero.length() - 6); //se obtiene los millones String millon = numero.substring(0, numero.length() - 6); String n = ""; if(millon.length()>1){ n = getCentenas(millon) + "millones "; }else{ n = getUnidades(millon) + "millon "; } return n + getMiles(miles); } }
Numero_a_Letra NumLetra = new Numero_a_Letra(); String numero = "20004.70"; System.out.println( numero + " literal = " + NumLetra.Convertir(numero,true));
352822,50 literal = TRECIENTOS CINCUENTA Y DOS MIL OCHOCIENTOS VEINTE Y DOS 50/100 BOLIVIANOS. 370,50 literal = trecientos setenta 50/100 Bolivianos. 74883,50 literal = SETENTA Y CUATRO MIL OCHOCIENTOS OCHENTA Y TRES 50/100 BOLIVIANOS. 354801,50 literal = trecientos cincuenta y cuatro mil ochocientos un 50/100 Bolivianos. 12,50 literal = DOCE 50/100 BOLIVIANOS. 511812060,50 literal = QUINIENTOS ONCE MILLONES OCHOCIENTOS DOCE MIL SESENTA 50/100 BOLIVIANOS. 285364,50 literal = doscientos ochenta y cinco mil trecientos sesenta y cuatro 50/100 Bolivianos. 97,50 literal = NOVENTA Y SIETE 50/100 BOLIVIANOS. 882,50 literal = OCHOCIENTOS OCHENTA Y DOS 50/100 BOLIVIANOS. 28,50 literal = VEINTE Y OCHO 50/100 BOLIVIANOS. 395362869,50 literal = TRECIENTOS NOVENTA Y CINCO MILLONES TRECIENTOS SESENTA Y DOS MIL OCHOCIENTOS SESENTA Y NUEVE 50/100 BOLIVIANOS. 687611,50 literal = SEISCIENTOS OCHENTA Y SIETE MIL SEISCIENTOS ONCE 50/100 BOLIVIANOS. 46,50 literal = CUARENTA Y SEIS 50/100 BOLIVIANOS. 394625,50 literal = trecientos noventa y cuatro mil seiscientos veinte y cinco 50/100 Bolivianos. 686671871,50 literal = seiscientos ochenta y seis millones seiscientos setenta y un mil ochocientos setenta y un 50/100 Bolivianos. 860233047,50 literal = OCHOCIENTOS SESENTA MILLONES DOSCIENTOS TREINTA Y TRES MIL CUARENTA Y SIETE 50/100 BOLIVIANOS. 656477159,50 literal = SEISCIENTOS CINCUENTA Y SEIS MILLONES CUATROCIENTOS SETENTA Y SIETE MIL CIENTO CINCUENTA Y NUEVE 50/100 BOLIVIANOS. 99037,50 literal = NOVENTA Y NUEVE MIL TREINTA Y SIETE 50/100 BOLIVIANOS. 159180,50 literal = ciento cincuenta y nueve mil ciento ochenta 50/100 Bolivianos. 69993,50 literal = SESENTA Y NUEVE MIL NOVECIENTOS NOVENTA Y TRES 50/100 BOLIVIANOS. 76,50 literal = setenta y seis 50/100 Bolivianos. 74,50 literal = setenta y cuatro 50/100 Bolivianos. 4,50 literal = cuatro 50/100 Bolivianos. 572356,50 literal = QUINIENTOS SETENTA Y DOS MIL TRECIENTOS CINCUENTA Y SEIS 50/100 BOLIVIANOS. 85,50 literal = OCHENTA Y CINCO 50/100 BOLIVIANOS. 678977004,50 literal = seiscientos setenta y ocho millones novecientos setenta y siete mil cuatro 50/100 Bolivianos. 311275,50 literal = TRECIENTOS ONCE MIL DOSCIENTOS SETENTA Y CINCO 50/100 BOLIVIANOS. 888,50 literal = OCHOCIENTOS OCHENTA Y OCHO 50/100 BOLIVIANOS. 861740125,50 literal = OCHOCIENTOS SESENTA Y UN MILLONES SETECIENTOS CUARENTA MIL CIENTO VEINTE Y CINCO 50/100 BOLIVIANOS. 370246,50 literal = trecientos setenta mil doscientos cuarenta y seis 50/100 Bolivianos. 986444,50 literal = novecientos ochenta y seis mil cuatrocientos cuarenta y cuatro 50/100 Bolivianos. 202,50 literal = DOSCIENTOS DOS 50/100 BOLIVIANOS. 407295,50 literal = CUATROCIENTOS SIETE MIL DOSCIENTOS NOVENTA Y CINCO 50/100 BOLIVIANOS. 522,50 literal = QUINIENTOS VEINTE Y DOS 50/100 BOLIVIANOS. 378878653,50 literal = TRECIENTOS SETENTA Y OCHO MILLONES OCHOCIENTOS SETENTA Y OCHO MIL SEISCIENTOS CINCUENTA Y TRES 50/100 BOLIVIANOS. 712142,50 literal = SETECIENTOS DOCE MIL CIENTO CUARENTA Y DOS 50/100 BOLIVIANOS. 588737075,50 literal = QUINIENTOS OCHENTA Y OCHO MILLONES SETECIENTOS TREINTA Y SIETE MIL SETENTA Y CINCO 50/100 BOLIVIANOS. 946540,50 literal = novecientos cuarenta y seis mil quinientos cuarenta 50/100 Bolivianos. 34667457,50 literal = treinta y cuatro millones seiscientos sesenta y siete mil cuatrocientos cincuenta y siete 50/100 Bolivianos. 391874,50 literal = trecientos noventa y un mil ochocientos setenta y cuatro 50/100 Bolivianos. 745,50 literal = SETECIENTOS CUARENTA Y CINCO 50/100 BOLIVIANOS. 670024,50 literal = seiscientos setenta mil veinte y cuatro 50/100 Bolivianos. 703029,50 literal = setecientos tres mil veinte y nueve 50/100 Bolivianos. 745,50 literal = setecientos cuarenta y cinco 50/100 Bolivianos. 975415558,50 literal = NOVECIENTOS SETENTA Y CINCO MILLONES CUATROCIENTOS QUINCE MIL QUINIENTOS CINCUENTA Y OCHO 50/100 BOLIVIANOS. 294,50 literal = DOSCIENTOS NOVENTA Y CUATRO 50/100 BOLIVIANOS. 559794,50 literal = quinientos cincuenta y nueve mil setecientos noventa y cuatro 50/100 Bolivianos. 23,50 literal = veinte y tres 50/100 Bolivianos. 586335,50 literal = QUINIENTOS OCHENTA Y SEIS MIL TRECIENTOS TREINTA Y CINCO 50/100 BOLIVIANOS. 14174901,50 literal = catorce millones ciento setenta y cuatro mil novecientos un 50/100 Bolivianos. 529551002,50 literal = quinientos veinte y nueve millones quinientos cincuenta y un mil dos 50/100 Bolivianos. 930,50 literal = NOVECIENTOS TREINTA 50/100 BOLIVIANOS. 581617,50 literal = quinientos ochenta y un mil seiscientos diecisiete 50/100 Bolivianos. 44,50 literal = CUARENTA Y CUATRO 50/100 BOLIVIANOS. 727302804,50 literal = SETECIENTOS VEINTE Y SIETE MILLONES TRECIENTOS DOS MIL OCHOCIENTOS CUATRO 50/100 BOLIVIANOS. 66,50 literal = SESENTA Y SEIS 50/100 BOLIVIANOS. 34618398,50 literal = TREINTA Y CUATRO MILLONES SEISCIENTOS DIECIOCHO MIL TRECIENTOS NOVENTA Y OCHO 50/100 BOLIVIANOS. 477354079,50 literal = CUATROCIENTOS SETENTA Y SIETE MILLONES TRECIENTOS CINCUENTA Y CUATRO MIL SETENTA Y NUEVE 50/100 BOLIVIANOS. 813,50 literal = OCHOCIENTOS TRECE 50/100 BOLIVIANOS. 634888270,50 literal = SEISCIENTOS TREINTA Y CUATRO MILLONES OCHOCIENTOS OCHENTA Y OCHO MIL DOSCIENTOS SETENTA 50/100 BOLIVIANOS. 219544,50 literal = DOSCIENTOS DIECINUEVEMIL QUINIENTOS CUARENTA Y CUATRO 50/100 BOLIVIANOS. 51,50 literal = cincuenta y un 50/100 Bolivianos. 435640,50 literal = CUATROCIENTOS TREINTA Y CINCO MIL SEISCIENTOS CUARENTA 50/100 BOLIVIANOS. 557896,50 literal = quinientos cincuenta y siete mil ochocientos noventa y seis 50/100 Bolivianos. 36,50 literal = TREINTA Y SEIS 50/100 BOLIVIANOS. 710,50 literal = SETECIENTOS DIEZ 50/100 BOLIVIANOS. 850,50 literal = OCHOCIENTOS CINCUENTA 50/100 BOLIVIANOS. 230498844,50 literal = doscientos treinta millones cuatrocientos noventa y ocho mil ochocientos cuarenta y cuatro 50/100 Bolivianos. 104296,50 literal = ciento cuatro mil doscientos noventa y seis 50/100 Bolivianos. 1,50 literal = UN 50/100 BOLIVIANOS. -0100100,70 literal = null 003,70 literal = tres 70/100 Bolivianos. 28,745 literal = null 0,5 literal = CERO 5/100 BOLIVIANOS. 999999999 literal = NOVECIENTOS NOVENTA Y NUEVE MILLONES NOVECIENTOS NOVENTA Y NUEVE MIL NOVECIENTOS NOVENTA Y NUEVE 00/100 BOLIVIANOS. 9999999999 literal = null 48803770 literal = cuarenta y ocho millones ochocientos tres mil setecientos setenta 00/100 Bolivianos. 20004.70 literal = VEINTE MIL CUATRO 70/100 BOLIVIANOS.
JAN29
import java.util.regex.Pattern; /** * @web http://jc-mouse.blogspot.com/ * @author Mouse */ public class jcFecha { private int dia=25; private int mes=10; private int anio=2005; //formato fecha dd/mm/yyyy public jcFecha(String f){ validarfecha(f); } //hace lo que su nombre dice que hace :? private void validarfecha(String f){ boolean ok=false; //valida formato if(Pattern.matches("\\d{1,2}/\\d{1,2}/\\d{1,4}", f)){ //divide la fecha en dia, mes,año String[] ff = f.split("/"); //valida año -> solo años entre 1900 y 2100 anio = Integer.parseInt(ff[2]); if(anio>=1900 && anio<=2100){ //valida mes -> 1 a 12 mes = Integer.parseInt(ff[1]); if(mes>=1 && mes<=12){ //valida dia entre 1 y la cantidad de dias que tenga ese mes (incluido año bisiesto ) dia = Integer.parseInt(ff[0]); if(dia>=1 && dia<=cantidad_dias(mes,anio)){ ok=true; } } } } //si fecha no es valida o no cumple con las reglas anteriores //la fecha devolvera 25/10/2005 EL CUMPLE DE MI PERRO :) if(!ok){ dia=25; mes=10; anio=2005; } } public int getDia(){ return this.dia; } public int getMes(){ return this.mes; } public int getAnio(){ return this.anio; } public String getFecha(){ return dia + "/" + mes + "/" + anio; } //metodo publico que devuelve la fecha + un dia public String diaSiguiente(){ //si dias se encuentra entre el rango (1 - dia - (ultimo_dia-1)) se añade un dia //mes y anio se dejan como esta if(dia < cantidad_dias(mes,anio)){ dia++; }else{//sino se debe añadir +1 al mes //si no es diciembre se añade +1 al mes, anio se deja como esta if(mes < 12){ mes++; dia=1; }else{//si es diciembre, se pasa al año siguiente anio++; mes=1; dia=1; } } return dia + "/" + mes + "/" + anio; } /* devuelve la cantidad de dias de un mes dado mes y año */ private int cantidad_dias(int m, int y){ int d =0; switch(m) { case 1: case 3: case 5: case 7: case 10: case 12: case 8: d=31; break; case 2: if ((y % 4 == 0) && ((y % 100 != 0) || (y % 400 == 0))) d=29; else d=28; break; case 4: case 6: case 9: case 11: d=30; break; } return d; } }
public class Main { public static void main(String[] args) { //se crea el objeto jcFecha jcFecha jc = new jcFecha("12/12/2001"); System.out.println("Fecha: " + jc.getFecha()); System.out.println("next day: " + jc.diaSiguiente()); System.out.println(); //fecha correcta jc = new jcFecha("30/11/2011"); System.out.println("Fecha: " + jc.getFecha()); System.out.println("next day: " + jc.diaSiguiente()); System.out.println(); //Fecha correcta -> año bisiesto jc = new jcFecha("28/2/2000"); System.out.println("Fecha: " + jc.getFecha()); System.out.println("next day: " + jc.diaSiguiente()); System.out.println(); //Fecha correcta -> Año no bisiesto jc = new jcFecha("28/2/2002"); System.out.println("Fecha: " + jc.getFecha()); System.out.println("next day: " + jc.diaSiguiente()); System.out.println(); //fecha incorrecta jc = new jcFecha("01/aa/2011"); System.out.println("Fecha: " + jc.getFecha()); System.out.println("next day: " + jc.diaSiguiente()); System.out.println(); //fecha incorrecta jc = new jcFecha("01/10/11"); System.out.println("Fecha: " + jc.getFecha()); System.out.println("next day: " + jc.diaSiguiente()); System.out.println(); //Fecha correcta -> fecha fuera de rango jc = new jcFecha("10/5/1789"); System.out.println("Fecha: " + jc.getFecha()); System.out.println("next day: " + jc.diaSiguiente()); } }
![]() |
![]() |
![]() |
![]() |