Recent Posts

Pages: [1] 2 3 ... 10
1
Java JSE / Re: VALIDAR NÚMEROS DECIMALES
« Last post by chuidiang on Mayo 03, 2018, 07:14:42 pm »
Hola:

Una vez pones la variable "hayPunto" a true ... nunca más la vuelves a poner a false, por lo que las siguientes llamadas siempre darán que hayPunto.

Saludos.
2
Java JSE / VALIDAR NÚMEROS DECIMALES
« Last post by TONO2 on Mayo 03, 2018, 05:51:10 am »
Hola

Tengo un JDialog con un JTextField para ingresar números. Cuando pierde el foco del JtextField se acciona el public boolean esDecimal(String cad), para verificar si es un número decimal.

El problema que tengo es que la primera vez que valida, lo hace correcto ( por ejemplo con 3.14, dicen las variables, esDecimal o hayPunto que es true (correcto). Pero, sin cerrar el JDialog, marco 3 (no es decimal por carecer del punto y la parte decimal), las variables dicen lo mismo que es true, al igual que todas las siguientes. Es como si no regenerada las variables y tomara el dato del primer caso.

Aclaro que public boolean esDecimal(String cad), después llama a  public void RellenaDigitos(int cuantosEntera, int cuantosDecimal), para accionar los JOption y mostrar las variables.

Paro el programa es:

    String va10s = "";
    String cad = "";
    boolean hayPunto=false;
    int NDigitos = 0;
    int cuantosEntera = 0;
    int cuantosDecimal = 0;
    String enteros;
    String decimal;
    int posicionDelPunto=0;
    StringBuffer parteEntera;
    StringBuffer parteDecimal;
    String parteEnteras;
   

   
    public Prueba6(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        setLocationRelativeTo(null);
    }


    //Devuelve true si la cadena que llega tiene la sintaxis de un decimal
    public boolean esDecimal(String cad){
        NDigitos = 0;
        NDigitos = cad.length();
        //boolean hayPunto=false;
        StringBuffer parteEntera = new StringBuffer();
        StringBuffer parteDecimal = new StringBuffer();
        int i=0;
 
        for( i=0;i<cad.length(); i++ )                         // length.- Devuelve el nº de caracteres del String, expresado en int.
            if ( cad.charAt(i) == '.'){                          //Detectar si hay un punto decimal en la cadena
                hayPunto=true;
            }
            if(hayPunto){                                       //Si hay punto guardar la posición donde se encuentra el carácter punto
                posicionDelPunto=cad.indexOf('.');                 //(si la cadena tiene varios puntos, detecta donde esta el primero).
            }
            else{
                return false;                                      //Si no hay punto; no es decimal
            }
            if( posicionDelPunto == cad.length()-1 || posicionDelPunto== 0){    //Si el punto esta al final o al principio no es un decimal
                return false;
            }
        for( i=0;i<posicionDelPunto; i++ ){
            parteEntera.append(cad.charAt(i)) ;                 //Guardar la parte entera en una variable

        }

 
        for(i = 0; i<parteEntera.length(); i++)
            if( ! Character.isDigit(parteEntera.charAt(i)) ){    //Si alguno de los caracteres de la parte entera no son digitos no es decimal
                return false;
            }
        for( i=posicionDelPunto+1;i<cad.length(); i++ )
            parteDecimal.append(cad.charAt(i));                 //Guardar la parte decimal en una variable
       
       
 
        for(i = 0; i<parteDecimal.length(); i++)
            if( ! Character.isDigit(parteDecimal.charAt(i))){   //Si alguno de los caracteres de la parte decimal no es un digito no es decimal
                return false;                                       //Incluye el caso en el que la cadena tenga dos o mas puntos
            }
        cuantosEntera = parteEntera.length();
        cuantosDecimal = parteDecimal.length();

        return true;                                        //Si paso todas las pruebas anteriores, la cadena es un Numero decimal
   
   
    }
 


    public void RellenaDigitos(int cuantosEntera, int cuantosDecimal){
        //Aqui se muestran los datos de las variables
        JOptionPane.showMessageDialog(null, "Es decimal: "+esDecimal(cad));
        JOptionPane.showMessageDialog(null, "El dato de hay punto es: "+hayPunto);
        JOptionPane.showMessageDialog(null, "La cantidad de dígitos de cad es: "+NDigitos);
         JOptionPane.showMessageDialog(null, "La cantidad de dígitos de la parte entera es: "+cuantosEntera);
        JOptionPane.showMessageDialog(null, "La cantidad de digitos de la parte decimal es: "+cuantosDecimal);
        JOptionPane.showMessageDialog(null, "El dato de la posición del punto es: "+posicionDelPunto);
        JOptionPane.showMessageDialog(null, "El dato de va10s es :"+va10s);
       
       
        //Si marcamos 3.14 y sin cerrar la pantalla marcamos 3. En el primer caso asigna true (es decimal) y en el segundo (deberia de marcar false, por faltar
        // el punto de separación y la parte decimal) y sucesivos tambien los marca, true. Es como si no analizara el nuevo dato.
       
 
    }


Y en el evento de la perdida del foco:

        // Devuelve true en case de ser un numero decimal
        va10s = txtNDecimal.getText();
        cad = va10s;
        esDecimal(cad);
        RellenaDigitos(cuantosEntera, cuantosDecimal);
        cad = "";


3
Java JSE / Re: Imágenes de Productos
« Last post by chuidiang on Abril 15, 2018, 07:11:47 pm »
Hola:

Lo ideal sería tomar la foto con un tamaño parecido al que quieras luego mostrar, así no habría muchos problemas.
No dices como haces el redimensionamiento. Una primera opción es hacerlo con un programa de dibujo externo (gimp o photoshop por ejemplo) que seguramente lo hagan bien para que no salgan rayas y eso.
La otra opción es hacerlo con java. En este enlace tienes una forma de hacerlo https://stackoverflow.com/questions/15558202/how-to-resize-image-in-java
Y hay varias alternativas, otra más simple es la siguiente: la clase Image de java tiene un getScaledInstance(), así que con algo como esto puedes hacerlo también

Code: [Select]
scaledImage = new ImageIcon(originalImage.getImage().getScaledInstance(size, -1, Image.SCALE_SMOOTH));
Saludos.
4
Java JSE / Imágenes de Productos
« Last post by cusadmin on Abril 15, 2018, 04:39:43 am »
Buenas para todos los amigos del foro

Antes que nada soy nuevo en la comunidad y voy a formular mi primer topic.

Empecemos.

Estoy queriéndo agregar a mi proyecto Java, que es un proyecto de ventas y stock de productos, la funcionalidad de tener la imagen de cada productos, imagen que puedo sacarle foto con el celular por ejemplo, bueno llegó al caso que encontré código y tutoriales de como hacer y redimensionar en un jLabel pero tengo un inconveniente, cuando le pasó la imagen la imagen sale cortada o si redimensiono sale con rayas como que es una imágen de muy alta calidad que al redimensionar no es como la.original, entonces la pregunta sería como tomar las fotografías para tener las imágenes en el label y que se vean bien para el.usuario final.

De ante mano agradezco sus respuestas

5
Pyhton / python - ordenar lista de listas.
« Last post by Daniel.py on Abril 12, 2018, 08:56:20 am »
Hola gente, ¿como están? no estoy seguro que el enunciado sea el correcto, ya veremos. el caso es que no logro encontrar nada parecido en la web concerniente a lo que necesito hacer.-
Bueno dejo parte del código para que puedan orientarse:

Code: [Select]
def listado(cantidad):
archivo = abrir_lectura()
if archivo:
while True:
limpiar_pantalla()
print(f'\n ========== Listado de traducciones ==========')

while True:
try:
inicio = int(input(f'\n Ingrese código para INICIAR listado\n'
f' mínimo 1 máximo {cantidad}..........:'))
except:
input('\n Debe ingresar un número entero\n\t'
'Pulse [Enter] para continuar...')
else:
break

if inicio < 1 or inicio > cantidad:
input(f'\n Por favor preste atención a los limites\n'
  f' mínimo 1 máximo {cantidad}\n\t'
  'Pulse [Enter] para continuar...')
else:
break

while True:
while True:
try:
final = int(input(f'\n Ingrese código para FINALIZAR listado\n'
f' mínimo {inicio} máximo {cantidad}..........:'))
except:
input('\n Debe ingresar un número entero\n\t'
'Pulse [Enter] para continuar...')
else:
break

if final < inicio or final > cantidad:
input(f'\n Por favor preste atención a los limites\n'
  f' mínimo {inicio} máximo {cantidad}\n\t'
  'Pulse [Enter] para continuar...')
else:
break


resultado = []
for linea in archivo:
tmp = linea.split(sep=',')
if int(tmp[0]) >= inicio and int(tmp[0]) <= final:
resultado.append(linea)

mostrar(resultado)
archivo.close()
input('\n Pulse [Enter] para continuar...')
limpiar_pantalla()
else:
input("\n No se pudo abrir el archivo...\n"
  " Pulse [Enter] para finalizar...")

Code: [Select]
def mostrar(_resultado):
_ancho_cpo_uno,ancho_cpo_uno = 0,0
cabecera = ['Código', 'Inglés', 'Español' ]
for linea in _resultado:
resultado = linea.split(sep=',')
_ancho_cpo_uno = len(resultado[1])
if _ancho_cpo_uno > ancho_cpo_uno:
ancho_cpo_uno = _ancho_cpo_uno

print('\n --------------------------------')
print(f'\n{cabecera[0]:>7}',f' {cabecera[1]:<{ancho_cpo_uno}} ',f'{cabecera[2]:<27}')
for linea in _resultado:
linea = linea.replace('\n', '')
encontrados = linea.split(sep=',')
print(f'{encontrados[0]:>7}',f' {encontrados[1]:{ancho_cpo_uno}} ',f'{encontrados[2]:<27}')
print('\n --------------------------------')
ordenar(_resultado)


Code: [Select]
def ordenar(resultado):
while True:
print('\n ========== Menú ordenar ==========')
opc = input('\n 1 - Código\n 2 - Inglés\n 3 - Español\n 4 - Regresar\n '
'\n Ingrese opción...:')
if opc >= '1' and opc <= '4':
if opc == '4':
break
else:
input(f'\n Ingrese opción entre "1" y "4"...'
'\n\t Pulse [Enter] para continuar...')

for linea in resultado:
separar = linea.split(sep=',')
print(f'{separar[0]}  {separar[1]}  {separar[2]}')

Quote
1,Home,Casa hogar domicilio
2,Chair,Silla
3,Moon,Luna
4,Sun,Sol
5,Night,Noche
6,Self,Yo Uno mismo
7,Table,Mesa
8,Knife,Cuchillo
9,Spoon,Cuchara
10,Fork,Tenedor
11,While,Mientras que
12,Gathers,Reune Reunir
13,Could,Podria
14,Put,Poner
15,Place,Lugar
16,Square,Plaza Lugar publico
17,They,Ellos Ellas
18,Right,Derecho Tener razon
19,Started,Comenzar Empezar Iniciar
20,Dozens,Docena
21,Killed,Matar Aniquilar Terminar una actividad
22,Apparent,Aparente Libre de dudas
23,Chemical,Quimico
24,Attack,Atacar Agredir Embestir
25,Near,Cerca A la mano Aproximarse
26,Rescue,Rescate Rescatar
27,Worker,Trabajador Obrero

Si me orientan les estaré muy agradecido, es un tema(las bases de datos) que me interesa muchísimo.-
Daniel
6
Pyhton / Re: [python]Error con string-f al querer utilizar valor de una variable
« Last post by Daniel.py on Abril 07, 2018, 09:12:41 pm »
Hola, jajaja, creí que con esto te darías cuenta donde estaba el 15 >7  un <15 y un <27 (alojado en la variable longitud), de cualquier manera ya lo solucione. -

print(f'\n {cabecera[0]:>7}',f' {cabecera[1]:<{longitud}} ',f'{cabecera[2]:<27}')
:<{longitud}

Un abrazo.
7
Pyhton / Re: [python]Error con string-f al querer utilizar valor de una variable
« Last post by chuidiang on Abril 07, 2018, 07:53:19 pm »
Hola:
No veo ningún 15.
Da la impresión de ser un problema en el formato de la cadena ...¿Qué versión de python están usando?
Saludos.
8
Pyhton / [python]Error con string-f al querer utilizar valor de una variable
« Last post by Daniel.py on Abril 07, 2018, 08:29:09 am »
Hola, chuidiang ¿cómo estás?
Con las 3 líneas de código que pongo a continuación seguramente te darás cuenta de lo que quiero
lograr, hay un >7  un <15 y un <27 necesito reemplazar el 15 por el valor de la variable longitud para
que precio se adapte al ancho del campo Producto pero me da un error:

Quote
Traceback (most recent call last):
  File "actual.py", line 3, in <module>
    print(f'\n {cabecera[0]:>7}',f' {cabecera[1]:<longitud} ',f'{cabecera[2]:<27}')
ValueError: Invalid format specifier

Code: [Select]
cabecera = ['Código', 'Producto', 'Precio']
longitud = len(cabecera[1])
print(f'\n {cabecera[0]:>7}',f' {cabecera[1]:<longitud} ',f'{cabecera[2]:<27}')

Gracias y un abrazo.
Daniel
9
Android / MOVED: app
« Last post by chuidiang on Abril 05, 2018, 02:43:35 am »
10
Varios / app
« Last post by unpocoloco on Abril 05, 2018, 02:06:27 am »
quien sabe de una app en la cual pueda editar el color del cabello osea tipo selfie pero que pueda cambiarme el colores de cabello quiero ver si me pinto el pelo de verdad pero primero ver si me queda bien el color
Pages: [1] 2 3 ... 10
ey