Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Alex Rodríguez

Páginas: 1 ... 60 61 62 63 64 [65] 66 67 68 69 70 ... 93
1281
No conecto vía otro medio que no sean los foros...

Si no entiendo mal aquí estás generando las filas donde muestras para una identificación los resultados obtenidos (filas) que podrían ser dos, tres, cinco, diez filas dependiendo del caso:

while($fila=mysql_fetch_array($resultado_consulta_mysql1))
            {
                echo "<tr>";
                    echo'<td align="center">'.$fila['Nombre1Citado']...

Luego intentas meter el botón para imprimir en esta línea:

echo'<td>'.'<font color=#000000><input type="button" value="Aceptar" onClick="ImprovedTable()">'.'</td>';


Y aquí llamas a una función JavaScript que utiliza los valores

documento=document.raiz.ident.value;
doc01=document.raiz.ident01.value;

Donde raiz.ident.value se supone que es la identificación

Y raiz.ident01.value se supone que es el campo NumeroCitacion asociado a una identificación y a una fila de la base de datos.

Ahora bien, si para cada resultado muestras los datos introduciendo esta línea:

echo '<td>'.'<input type="text" id="ident01" name="ident01" size="10"'.'value='.$fila['NumeroCitacion'].'>'.'</td>';

Puede haber muchas líneas que tengan el mismo id (que sería ident01).

Si muchas líneas tienen el mismo id, cuando en javascript trates de hacer esto: doc01=document.raiz.ident01.value;

no vas a obtener un resultado coherente.

¿Por qué? Porque un id tiene que ser único en la página, no puedes (o no debes) tener muchos elementos con el mismo id precisamente porque no vas a poder diferenciar unos de otros.

Seguramente hay varias vías para resolver esto. Una quizás sea pasarle como parámetro a la función javascript el valor de $fila['NumeroCitacion'] que es al fin y al cabo lo que tratas de rescatar luego.

Habría que crear la función de forma que reciba el parámetro y luego pasarle el parámetro, algo así como

echo'<td>'.'<font color=#000000><input type="button" value="Aceptar" onClick="ImprovedTable2('.$fila['NumeroCitacion'].')">'.'</td>';

Si te fijas aquí lo que estoy intentando es pasar como parámetro lo que me permite identificar a la fila concreta

En la función javascript tendríamos algo como:

function ImprovedTable2(numeroCitacion)
...
...
window.open('ReporCitacion.php?doc='+documento+'&doc01='+numeroCitacion, 'impresion', 'status=no, resizable=yes, width=1200, height=700');

Se trataría de construir una url única asociada a la fila concreta de que se trate...

Quizás te sea útil repasar algunas entregas de este curso javascript: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206

Saludos

1282
Hola, he intentado compilarlo pero falta el código de las interfaces Asignatura, Profesor y Departamento  ???


1283
Pega el código completo de cada una de las clases, así podremos compilarlo para ver cómo resolverlo. Saludos

1284
Hola, pega el código de que dispongas para poder revisarlo. Si no dispones de código ni sabes cómo empezar a crearlo puedes seguir las indicaciones de este curso: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Por lo que se ve en el enunciado te piden que definas interfaces y luego clases que implementen las interfaces, por ejemplo la interface Profesor y la clase que implementa la interface ProfesorImpl. Pero el enunciado no parece que esté bien redactado.

Los pasos que habría que dar serían (aproximadamente):

Crear la interface Asignatura (definiendo la signatura de sus métodos).

Crear la clase AsignaturaImpl con sus atributos correspondientes, como el atributo créditos. Ahí tendrás el método getCreditos

Crear la interface Profesor (definiendo la signatura de sus métodos)

Crear la clase ProfesorImpl con sus atributos correspondientes y sobreescribiendo los métodos definidos en la interface. Un atributo de esta clase será listaAsignaturas, que contiene la lista de asignaturas impartidas por el profesor.

Crear la clase DepartamentoImpl, uno de cuyos atributos será una lista de profesores. También puedes tener como atributo una lista de asignaturas, que serán las asignaturas que imparte el departamento.

En esta clase tendrías el método solicitado, que podría llamarse boolean existeProfesorAsignadoAAsignatura (Asignatura asignatura) { }

Dentro de ese método tendrías que:

- Recorrer los profesores dentro del departartamento (por ejemplo con un iterator)

- Para cada profesor recorrer su lista de asignaturas y comprobar si el código o nombre de asignatura es igual al código o nombre de asignatura del parámetro recibido por el método. Si es así, debes hacer un return true;

Si el recorrido termina y no se ha encontrado ningún profesor asignado a la asignatura debes hacer un return false;

Como sugerencia, vete pegando el código a medida que lo vayas creando para poder ir orientándote.

Saludos

1285
Aprender a programar desde cero / Re:php.. ayuda por favor
« en: 26 de Diciembre 2014, 13:53 »
Hola, a ver si esto puede ser la idea:

Cuando muestras los resultados tienes muchas filas, en cada fila deberías incluir algo así como un botón o link que te permita imprimir:


<a href="personas.php?proceso=imprimir&id_personas=<?=$persona['id_personas']?>"><img src="images/ico_print.gif" border="0" /></a>

Este sería el código que te genera la url con los datos necesarios.

Luego en esa misma página tendrías que capturar si te vienen datos para procesarlos:

if($_GET['proceso'] == 'imprimir' && is_numeric($_GET['id_personas']))
{
   $personas->imprimir($_GET['id_personas']);
}

No sé si te refieres a algo como esto

1286
Aprender a programar desde cero / Re:php.. ayuda por favor
« en: 25 de Diciembre 2014, 18:52 »
Hola, a ver si puedes explicar un poco mejor porque no he entendido lo que quieres plantear... ¿de qué se trata, de que el usuario pulsa un botón de consulta y se le muestran muchas filas de resultados y cada fila tiene un botón para imprimir en pdf? ¿Por qué dices que de la consulta se generan varios formularios para imprimir? ¿Por qué no se hace la impresión de uno en uno?

Saludos

1287
Un año más llega la navidad... Todo el equipo de aprenderaprogramar.com les desea unas felices fiestas y un próspero año nuevo. Los mejores deseos para 2015!!!

1288
Hola, viendo el problema resulta difícil saber qué es lo que hay que hacer. Por ejemplo dice "contar la cantidad de productos vendida de cada vendedor y sus respectivas ganancias" ¿Y cómo sabemos la cantidad de productos vendida de cada vendedor?

Faltaría especificar mejor para poder resolverlo.

A modo de referencia te recomiendo que mires el curso: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193

Dentro del curso hay ejercicios resueltos que quizás te puedan ayudar.

Saludos.

1289
Hola Jorge, he estado mirando el código y veo que es un proyecto largo y complejo, al menos para quien lo ve por primera vez.

He intentado compilarlo y me salta una exceción "package javazoom.jl.decoder does not exist"

en la clase "ReproductorMp3" línea import javazoom.jl.decoder.JavaLayerException;

¿Falta el código de este paquete?

He ejecutado el jar y el programa se abre correctamente, la calculadora funciona correctamente, y el reproductor mp3 también.

Lo que parece que no acaba de funcionar es lo de las imágenes que se muestran cuando se reproduce un mp3. He abierto un mp3 que no contiene la cadena mely. Si pulso sobre el disco para abrir otro mp3 mientras está sonando el que he abierto, desaparece la imagen. Si le doy a cancelar, la sigue sonando la música pero no aparece la imagen.

Ahí parece que tienes algún problema en el control de esa imagen, supongo que no debería desaparecer así porque sí.

Si abro la canción que tiene el string mely aparece la imagen nueva exclusiva de mely, y va sonando la música. Hasta ahí todo bien.

Si pulso en el icono del disco, desaparece la imagen.

Además, mientras está sonando la canción de mely, en ocasiones la música se para y se sigue viendo la imagen.

Hay una cosa que es extraña: la imagen de mely parece un video ¿qué tamaño tiene? ¿puede ser que sea demasiado tamaño? ¿has probado a poner una imagen de pequeño tamaño de archivo?

Aunque no he podido compilarlo pienso que si tuviera que depurar empezaría por separar el código de la calculadora y el código del reproductor mp3, es decir, crear dos programas. Tal y como lo tienes puede resultar complicado depurar y ver hasta qué punto te está influyendo una cosa y otra.

Y finalmente felicitarte por el buen nivel de programación que se puede apreciar!!!


1290
El usuario SofiaIglesias ha sido borrado por probable spammer (ha introducido numerosos mensajes inconexos en un breve espacio de tiempo).

Este mensaje lo mantendremos porque la respuesta de Gilding es útil para quien quiera consultarla.

Si ha sido un error nuestro, por favor ese usuario que contacte con la administración de la web y le repondremos la cuenta.

Saludos

1291
Ya se ha comentado en otros hilos, pero desde los foros sólo podemos ayudar, orientar... nos resultaría imposible desarrollar los códigos completos para todas las consultas. Saludos.

1292
Hola, he empezado a revisar el código y parece que tienes diferentes errores. Cuando declaras String tamaño salta un error cuando tratas de hacer String[] clientes=new String[tamaño]; porque tamaño no es un número, sino una cadena de caracteres.

Esto se puede solucionar haciendo algo como esto:

Integer tamañoNumero = Integer.valueOf(tamaño);

String[] clientes=new String[tamañoNumero];

De esa forma creas un arreglo de Strings usando el tamaño capturado mediante el JOptionPane.

Sin embargo después viene este código:

for(int i=0;i<numeros.length;i++){
leer = JOptionPane.showInputDialog(null,"Digite el carácter que desea Insertar : ","Insertar car+ícter",JOptionPane.QUESTION_MESSAGE);;
clientes[ i ]=leer;
}
}

Donde salta un error debido a que la variable numeros no está declarada. Además clientes[ i ] = leer; no entiendo qué es lo que significa ¿Qué es lo que quieres hacer en este bucle? Tienes que ir construyendo el código y probándolo poco a poco, si no es muy difícil depurarlo.

Saludos


1293
Hola, el código que has incluido no compila. Para poder compilarlo sería necesario que incluyas el código de todas las clases necesarias (si es muy largo puedes subirlo en un archivo comprimido como adjunto).

En el código que has incluido veo la siguiente línea:

BaseDatos.getPeleadores().add(pe);

Para interpretarla bien tendría que ver el código, pero para realizar bajas parece que lo lógico sería usar lo mismo: hacer una petición de datos de los resultados de la pelea, y a continuación mostrar un mensaje informando de que el peleador que pierde ha sido eliminado de los peleadores. Dicha eliminación ser haría con el método

BaseDatos.getPeleadores().remove(pe);

No sé si este método está definido o tendrías que definirlo (sin ver el código no puedo saberlo)

Saludos

1294
Hola, he estado revisando tu código y tus explicaciones y me ha resultado bastante difícil de seguir debido a que es extenso y hablas de muchas cosas. Como recomendación: escribe mensajes donde definas con precisión lo que quieres hacer y el punto concreto donde tienes el problema. Una vez resuelto ese punto concreto, responde introduciendo el siguiente código o siguiente problema. En este caso podrías haber ido tratando primero una forma de recorrer y cuando estuviera comentada y aclarada pasar a la siguiente. Así sería más fácil revisar y encontrar solución a los problemas, ya que al leer todo junto se hace incomprensible o difícil de entender (con lo cual la gente no responderá porque no entiende).

Sobre tu código de ListaOrdenada te digo lo siguiente:

Tratas de hacer algo que parece sencillo pero tiene su complicación, que es la modificación de una colección de elementos al mismo tiempo que la recorres (modificación concurrente).

Normalmente diría que el enfoque que se le suele dar a esto es distinto: digamos que el enfoque más habitual sería añadir lo que quieras añadir a la lista, después ordenarla con el criterio con que quieras ordenarla y ya está.

Pero supongamos que queremos hacer una modificación concurrente.

En el método ordenado For usas una comparación para comprobar si la palabra sería la primera de la lista y en ese caso insertas la palabra la primera de la lista, luego otra comparación para comprobar si la palabra sería la última de la lista y en ese caso insertas la palabra la última de la lista. Por último, otra comparación en caso de que no se cumpla ninguna de las dos condiciones anteriores donde recorres todas las palabras menos la primera y la última, compruebas que  la palabra tendría que colocarse entre la actual que recorres y la siguiente. Si es así, insertas la palabra en la posición en que te encuentras (desplazando así las palabras mayores hacia delante en la lista).

Esto está bien pensado, pero un programador con experiencia no estaría muy de acuerdo con este código porque no se ve eficiente. Te voy a indicar por qué para que trates de razonarlo y ver si llegas a las mismas conclusiones:

- Si puedes recorrer toda la lista usando un for, no parece necesario comprobar el primer y último elemento de la lista por separado, ya que podemos hacerlo dentro del for. Esto hace el código más corto y más fácil de entender (cosa valorada en un programador).

Para ello debemos empezar a buscar en el bucle por el 0 en lugar de por el 1 (así incluimos el primer elemento)

Para saber si estamos en el primer o último elemento podemos usar el valor de i. Si es cero es el primer elemento de la lista y hacemos un análisis especial porque no tenemos elemento anterior en la lista.

Si es el último elemento de la lista no tenemos que hacer nada especial porque sí tenemos elemento anterior en la lista.


El código quedaría así:

Código: [Seleccionar]
       for(int i=0;i<listaO.size();i++){
           if (i==0 && nombre.compareToIgnoreCase(listaO.get(i))<0) {listaO.add(i,nombre); break; }
           if (i!=0 && nombre.compareToIgnoreCase(listaO.get(i))<0&&nombre.compareToIgnoreCase(listaO.get(i-1))>=0){
               listaO.add(i,nombre); break;
           }
           if (i==listaO.size()-1  ) { //&& nombre.compareToIgnoreCase(listaO.get(i))>=0
               listaO.add(nombre); break;
            }
       }


Pero algunos programadores no estarían muy conformes con esto por el uso de break; dentro de bucles for se suele considerar poco elegante utilizar break.

Otros programadores dirían que estamos manipulando una colección mientras la recorremos con un bucle for y esto es "no seguro". De hecho si eliminas los break puedes entrar en un bucle infinito, porque al mismo tiempo que recorres la colección la modificas y listaO.size() va cambiando, los índices de los elementos cambian... lo cual se dice que es programación insegura.

El recorrido seguro que permite modificaciones concurrentes se logra mediante iteradores. Pero si usamos un iterador normal, nos permite eliminar elementos a la colección pero no añadirlos.

En cambio un iterador de tipo ListIterator sí nos permite añadir elementos (ver https://docs.oracle.com/javase/8/docs/api/java/util/ListIterator.html)

Con esto, podríamos usar este código:

Código: [Seleccionar]
    public void ordernadoITR(){
        ListIterator<String> listaITR=listaO.listIterator();
        Scanner teclado=new Scanner(System.in);
        System.out.print("Escriba nombre: ");
        String nombre=teclado.nextLine();
        boolean yaHaSidoInsertado=false;
        while(listaITR.hasNext() && yaHaSidoInsertado==false){

            if (nombre.compareToIgnoreCase(listaITR.next())<0 && yaHaSidoInsertado==false){
                listaITR.previous();
                listaITR.add(nombre); //Insertamos
                yaHaSidoInsertado=true;

            }     
        }
        if (yaHaSidoInsertado == false) { listaO.add(nombre);}//Si no se insertó antes de algún elemento existente lo insertamos al final
        System.out.println(listaO);
    }

Con esto hemos dejado de usar break (que no suele recomendarse, aunque tampoco es algo prohibido).

Habría más formas de hacerlo y de enfocarlo, espero que lo comentado te sirva de ayuda.

Saludos

1295
Hola, antes que nada ten en cuenta lo que se dice aquí a la hora de escribir y poner código en el foro: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Si no lo haces así el código no se ve bien.

En el código que has presentado tienes un error que hace que la ejecución se quede bloqueada, en concreto la línea:

for(int i=0; i<th.length;th[ i ]=null);

Esto no es una construcción válida. Para que el programa se ejecute debes comentar esa línea, o escribirla como for(int i=0; i<th.length;i++){th[ i ]=null;}

Saludos

1296
Hola, ¿cuáles son las tablas implicadas en la base de datos y cuáles son las columnas de cada tabla? Saludos

1297
Hola, para escribir en un foro, pincha sobre el nombre del foro donde vas a escribir, por ejemplo "C, C++, Java, Visual Basic..."

Pulsa en el botón "Nuevo tema", escribe un título para el mensaje (el título debe ser descriptivo, por ejemplo CU00635B - Sentencia de asignación java con distintos tipos de datos numéricos) y el texto del mensaje o consulta.

Si tienes que insertar código de programación pulsa el icono # que tienes en el editor encima del cual se escriben los mensajes. Cuando lo hagas te aparecerá [ code][ /code]. Escribe el código entre estas dos etiquetas. Por ejemplo

Código: [Seleccionar]
for (int i=0; i<10; i++) {
System.out.println ("Bienvenidos");
}

Pulsa en el botón Previsualizar y comprueba que el mensaje está correcto. Si no es correcto, corrígelo y vuelve a pulsar previsualizar.

Pulsa publicar. Para deslogarte pulsa el botón Salir.

Comprueba que el tema que has publicado aparece en los foros.


Saludos,

1298
Hola, puedes hacerlo mostrando el número sobre un Jlabel. En este link tienes la referencia del curso, busca la entrega donde pone el ejemplo de uso de Jlabel.

http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=58&Itemid=180

Saludos.

1299
Hola, parece que no te reconociera el Clientes.cpp

Puede ocurrir que solamente hayas compilado el archivo main.cpp, con lo que no encuentra las funciones que has implementado en Clientes.cpp. Haz la compilación de ambos, si es por línea de comandos deberías llamar:

C:\Users\Luana\Documents>g++ main.cpp Clientes.cpp

Saludos

Páginas: 1 ... 60 61 62 63 64 [65] 66 67 68 69 70 ... 93

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".