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 - dongo

Páginas: 1 ... 3 4 5 6 7 [8] 9
141
Yo estoy igual que cesar, me quede rallado también con ese ArrayList que creas y rellenas.
Como comenta Cesar, también pienso que es totalmente innecesario ese ArrayList, no comente nada, ya que tu al acertar el número preguntas si quieres jugar otra vez, y vuelves a coger otro número del arraylist, aun así sigo pensando que es innecesario, ya que te lleva menos memoria generar un numero aleatorio cada vez que se acierta, que mantener un array de números durante toda la ejecución.

Y como dice Krall y si fuera un rango de mil trillones de billones......XDDD

Buena puntualización krall 

142
way, tennos al día, está muy bien eso de que aunque hayas sido evaluado, intentes mejorarlo, una muy buena cualidad en un programador, sobre las bases de datos... Si tio estudio, porque aparte de tu esquema relacional era un poco inconsistente...XDD hoy en día las bases son prácticamente en necesarias en toda aplicación empresarial, y muy muy usada en aplicaciones dirigidas a otro ámbito.

Si por ejemplo un día te da por estudiar desarrollo web, Hoy por hoy no existe una pagina web que no tenga una base de datos detrás, ademas aprendiendo sql te habres mucho las puertas ya que es un lenguaje estandarizado y hay muchos RDBMS( relational database managent system) que usan sql: Mysql, oracle, postgre, access,...

Bueno un saludo y a seguir bien!

143
Aprender a programar desde cero / Re:ENTREGA CU00628B
« en: 06 de Agosto 2014, 19:50 »
Holaa! Bueno, al repasar el código, no veo nada excesivamente complicado. Como primera recomendación te indicaría que repasaras las primeras lecciones del curso de java desde 0, ya que como te digo lo que nos presentas son una serie de instrucciones de lo mas básicas.

Otro error que veo es el nombre de la clase(miPrueba), por consenso los nombres de las clases deben empezar con letra mayúscula y no con minúscula.

Comentadas mis primeras impresiones, paso a describirte el código expuesto linea por linea:

1.- public class miPrueba{

Esta linea simplemente indica la declaración de una clase, una clase, es un objeto, así que podríamos decir que esa linea indicará como se llama el objeto que estas creando, en este caso "miPrueba".

2.- public String resultado ( String dimeUnString) {

Esta linea indica la declaración de un método, aunque parezca una linea simple nos provee de mucha información. Lo primero es un método público(public), a grandes rasgos esto indica el ámbito en el que puede ser usado el método(mirar teoría).

Por otro lado la primera aparición de la palabra String, nos indica el tipo de dato que devolverá el método, en este caso un String. Cuando creamos un método, siempre es necesario indicar el tipo de dato que va a devolver o void en caso de que no devuelva ningún dato.

Lo siguiente que nos encontramos es el nombre del método, en este caso "resultado". Este nombre lo usaremos después para poder realizar llamadas al método y nada simplemente es un nombre usualmente descriptivo con la funcion que realiza el método.

Lo siguiente son los parámetros( (String dimeUnString) ) los parámetros, son simplemente una serie de variables que el método usará para poder realizar su cometido. Se pueden poner todos los parámetros que sean necesarios uno, dos,... quinientos. En este caso solo es uno y su tipo será String. Con lo cual el método necesitará una cadena de texto para realizar su cometido.

3.- La siguiente linea: 
Código: [Seleccionar]

 System.out.println ("dimeUnString inicialmente vale " + dimeUnString);
 

Pues esta linea simplemente imprime por pantalla un mensaje que será: dimeUnString inicialmente vale + lo que contiene la variable dimeUnString.
Lo que contiene la variable será indicado por el usuario cuando realice una llamada al método.

4.- La siguiente linea:
Código: [Seleccionar]
dimeUnString = dimeUnString + " recibido";

Simplemente lo que hace es añadir a la cadena que esta guardada en dimeUnString lo que ya tenia guardado + la palabra " recibido". Por ejemplo si dimeUnString tuviera la frase: "Hola amigos Hoy es miércoles", tras la ejecución de esa linea dimeUnString pasaría a contener la frase: "Hola amigos Hoy es miércoles recibido". Simplemente eso.

5.- La siguiente:
Código: [Seleccionar]
System.out.println ("dimeUnString ahora vale " + dimeUnString);
Vuelve a imprimir un mensaje por pantalla, en este caso, imprimiría el texto:
dimeUnString ahora vale + Lo que contiene la variable dimeUnString.

6.- Y finalmente:
Código: [Seleccionar]
return "El método devuelve " + dimeUnString;
Esta linea, va íntimamente relacionada con la 2ª linea. Como dijimos en la declaración del método que iba a devolver un String, pues esta linea es la que realiza esa devolución, cuando se realice una llamada al método, pues la palabra return esta indicando que es lo que va a devolver el método, en este caso una frase:
"El método devuelve + lo que tenga la variable dimeUnString.

Como ves no son lineas excesivamente complicadas, supongo que estarás empezando con el curso de java, yo te recomendaría que repases las primeras lecciones y que asimiles bien los conceptos, cuando no entiendas un concepto, pregúntanos aquí en el foro, no te de miedo, ni cosa, si ando por aquí estaré encantado de poder ayudarte, y sino seguro que algún compañero lo hace. Pero eso, intenta asimilar bien los conceptos iniciales, ya que son cruciales para poder llevar a buen termino las siguientes lecciones.

Para finalizar te el código modificado para que puedas ejecutarlo y ver las acciones que realiza, no intentes entender lo que yo te añado, ya que como te comento debes repasar los conceptos mas básicos, simplemente es para que tu puedas ver lo que hace el método.

Nota: Crea una clase llamada miPrueba en tu IDE que tenga el siguiente código:

Código: [Seleccionar]
public class miPrueba {
    public String resultado (String dimeUnString) {
        System.out.println ("dimeUnString inicialmente vale " + dimeUnString);
        dimeUnString = dimeUnString + " recibido";
        System.out.println ("dimeUnString ahora vale " + dimeUnString);
        return "El método devuelve " + dimeUnString;
    }
    public static void main(String[] arg){
        miPrueba p=new miPrueba();
        String cadenaDevuelta=p.resultado("Hola amigos hoy es miercoles");
        System.out.println(cadenaDevuelta);
    }
}

Con este código podrás ver como se realiza una llamada a este método y veras como realiza las funciones que te he ido describiendo. Aun así, y siento ser pesado, pero te vuelvo a comentar repases las primeras lecciones y asimiles muy bien los conceptos.

Bueno espero que al menos hayas entendido algo, jeje  y bueno tranquilo que al principio cuesta pero cuando le vas cogiendo vicio realizas estas cosas de carrerilla.

Venga ya nos cuentas y eso, cuando no entiendas un concepto pregunta sin problemas por aquí por el foro, intentaremos aclarártelo.

144
Hola, he probado tu ejercicio y funciona perfectamente. Si has entendido todo lo que has echo y no tienes ninguna duda, date una palmadita en la espalda XDD y nada, a seguir trabajando. Un saludo! 

145
Aprender a programar desde cero / Re:Ejercicio CU00633B
« en: 06 de Agosto 2014, 01:09 »
Vale, lo que no entiendes es el operador %( modulo ).

Este operador lo que devuelve es el resto de dividir el número a la izquierda del operador entre el número a la derecha del operador.

Con unos ejemplos lo veras mejor.

22 / 5= 4 y de resto 2

Pues 22 % 5 = 2

Otro ejemplo:

27 / 20 = 1 y de resto 7

Pues 27 % 20 = 7

Esto es muy útil para por ejemplo saber si un numero es par o impar

Si X % 2 == 0 Entonces el numero es par
Si no Entonces el número es impar

También se puede usar para calcular si un número es primo o no. 

Intenta ponerlo en practica con algún ejercicio de algoritmia y lo entenderás mejor.

Por ejemplo yo te propongo que crees un método que reciba un numero entero por parámetro y calcule si ese número es primo o no.

Nota: Un numero es primo cuando solo es divisible entre el mismo y la unidad.

Espero haberme explicado bien, de todas formas ante cualquier duda por aquí andamos.

146
Aprender a programar desde cero / Re:Ejercicio CU00633B
« en: 05 de Agosto 2014, 22:52 »
Al igual que el te acabo de mirar antes, también está perfecto.

Sobre lo de la división resto, a que te refieres, ¿ Al operador % (modulo) o al significado que tiene el método en el contexto ?

Bueno intenta aclararnos esto y te lo explicamos.

147
Aprender a programar desde cero / Re:Ejercicio CU00632B
« en: 05 de Agosto 2014, 22:49 »
Esta perfecto! incluso aplicas muy bien la convención de nombres de atributos y métodos. Si lo entiendes bien no creo que haya mucho que añadir.

148
estupendo, bueno, te has dado cuenta, no se si habrás podido arreglarlo, pero te lo paso de manera que funciona... fíjate en las condiciones:

Código: [Seleccionar]
public void muestraLista(String tipoProducto) { // muestra por tipo de producto
        Iterator <Producto> itP = listaDeProductos.iterator();
        Producto tmpP;
         int contador = 0;
         while (itP.hasNext()) {
             tmpP = itP.next();
             contador = contador++;
            System.out.println(tmpP.getClass().toString());
            if (tmpP.getClass().toString().contains(tipoProducto) && tipoProducto.equals("ProductoFresco")) {
                ProductoFresco tmpF = (ProductoFresco) tmpP;
                 System.out.println ("\nNum: " + contador + " Producto fresco.");
                 tmpF.mostrarInformacionPFresco();
            } else if (tmpP.getClass().toString().contains(tipoProducto) && tipoProducto.equals("ProductoRefrigerado")) {
                ProductoRefrigerado tmpR = (ProductoRefrigerado) tmpP;
                System.out.println ("\nNum: " + contador + " Producto refrigerado.");
               tmpR.mostrarInformacionPRefrigerado();
             } else  if (tmpP.getClass().toString().contains(tipoProducto) && tipoProducto.equals("ProductoCongelado")) {
                 ProductoCongelado tmpC = (ProductoCongelado) tmpP;
                System.out.println ("\nNum: " + contador + " Producto congelado.");
                 tmpC.mostrarInformacionPCongelado();
             }
         }
     }

De esta manera ya estamos diciendo que coincida el nombre de la clase y ademas estamos diferenciando cuando es un productoFresco, uno refrigerado y uno congelado, de esta manera entrara en el bloque if adecuado y se realiza bien las conversiones. Espero que fueras capaz de sacarlo por tu cuenta.

En cuanto a lo del IDE, bueno yo uso netbeans o eclipse, según me de la pica, no me importa uno u otro, eso si, controlo mas netbeans. El blueJ ya se me quedo muy pequeño para mi, por lo que he visto en tus ejercicios, yo creo que ya podrías aventurarte en algún ide mas profesional, pero vamos, que es a preferencia de cada uno.

Se te da bastante bien, el método estaba practicamente echo, solo le falto ese matiz  ;) bueno un saludo!

Edito: Modifico el codigo y en lugar de poner == uso el método equals, que el == es una chapuzilla....XDDD

149
AAAAAAA va va vaa pensé que el proyectiyo en si tenia un error al que no le dabas con el conke.... y el conke esta en el método comentado XDD, jajaja se me fue la perola, sorry.

Bueno a ver te intentare guiar para que tu solo te des cuenta de la respuesta:

Fijate en el metodo muestraLista(String tipoProducto):

Código: [Seleccionar]
public void muestraLista(String tipoProducto) { // muestra por tipo de producto
         Iterator <Producto> itP = listaDeProductos.iterator();
         Producto tmpP;
         int contador = 0;
         while (itP.hasNext()) {
             tmpP = itP.next();
             contador = contador++;
             System.out.println (tipoProducto + " tmpP.getClass().toString().contains(tipoProducto) " +
                 tmpP.getClass().toString().contains(tipoProducto));
             if (tmpP.getClass().toString().contains(tipoProducto)) {
                 ProductoFresco tmpF = (ProductoFresco) tmpP;
                 System.out.println ("\nNum: " + contador + " Producto fresco.");
                 tmpF.mostrarInformacionPFresco();
             } else if (tmpP.getClass().toString().contains(tipoProducto)) {
                 ProductoRefrigerado tmpR = (ProductoRefrigerado) tmpP;
                 System.out.println ("\nNum: " + contador + " Producto refrigerado.");
                 tmpR.mostrarInformacionPRefrigerado();
             } else if (tmpP.getClass().toString().contains(tipoProducto)) {
                 ProductoCongelado tmpC = (ProductoCongelado) tmpP;
                 System.out.println ("\nNum: " + contador + " Producto congelado.");
                 tmpC.mostrarInformacionPCongelado();
            }
        }
     }

Fíjate en las tres condiciones, no ves algo raro??? ajajaja a ver dividamos el método en trozos y cogamos una de las condiciones:

Código: [Seleccionar]
if (tmpP.getClass().toString().contains(tipoProducto)) {
                 ProductoFresco tmpF = (ProductoFresco) tmpP;
                 System.out.println ("\nNum: " + contador + " Producto fresco.");
                 tmpF.mostrarInformacionPFresco();
             }

A ver, ese if que tu has creado lo has creado con la intención de que cuando el elemento de la lista sea un producto fresco entre en ese if.

Ahora vamonos al siguiente, en este caso else if, Si te fijas, la condición es exactamente la misma que la del primer if, por lo tanto en lugar de entrar en el else if que le correspondía, a entrado en el primer if, porque claro, el nombre de la clase claro que se corresponde con el que viene por el parámetro,  entonces en lugar de entrar en el else if, a entrado en el if, y lo que esta haciendo es intentar convertir un producto  refrigerado a un producto fresco.

Con lo cual solo debes buscas una manera de diferenciar cuando va a ser un "ProductoFresco", cuando uno "ProductoRefrigerado" y cuando un "ProductoCongelado".

La solución es muy simple, pero es complicado de explicar, intenta analizar lo que te he escrito y echale un ojo a ver si lo arreglas, sino lo consigues, escribenos y te digo sdonde esta el conque... jajaja

Y por cierto para comentarios de mas de una linea, usa /*    */ , que no veas pa borrar los comentarios del método XDD

Bueno un saludo y a e si le da con la tecla.



150
Comunidad / Re:Me presento
« en: 05 de Agosto 2014, 12:32 »
Creo que todo el que se dedica a escribir código, ya sea por trabajo o por amor al arte se ha sentido en algún momento identificado con estas imágenes XDD

Por cierto me considero un poco pesado, y con esto de no poder moverme mucho, creo que estoy abusando demasiado del foro, si en algún momento me consideráis un pesado o que posteo demasiado, pararme los pies, jajajajaja aunque bueno supongo que a muchos de los que participáis aquí con esto de las vacaciones, no viene mal tener a alguien activo regularmente.

Aun así, eso, si veis que meto mano demasiado, cortarme el rollo, joer que malo es un verano incapacitao... XDD.


151
Para instanciar un objeto con un constructor por defecto( es decir sin parámetros ), es tan fácil como:

Código: [Seleccionar]
NombreClase nombreVariable=new NombreClase();

Así crearíamos un objeto con el constructor por defecto, es exactamente igual que si tuviera parámetros con la diferencia que tras el operador new, no hay ningún parámetro entre los paréntesis.

En cambio al crear un objeto con un constructor que si tiene parámetros, se haría como sigue :   

Código: [Seleccionar]
NombreClase nombreVariable=new NombreClase(param1, ... , paramN);

y puedes crear tantos objetos como quieras, por ejemplo si haces:

Código: [Seleccionar]
NombreClase objeto1=new NombreClase();
NombreClase objeto2=new NombreClase();
NombreClase objeto3=new NombreClase();

Estarías creando 3 objetos con el constructor por defecto.

Bueno espero haberte aclarado un poco mas las ideas.

152
Hola, he estado repasando tus ficheros y en lo único que me da problemas, es en la declaración del package al que pertenecen las clases, aparte de un - que me aparece al principio de todas, no se a que sera debido ese guión.

Añade a los ficheros una clausula al inicio que indique a que paquete pertenecen...Fijate también que los imports van de acuerdo al paquete al que pertenecen las clases.

Código: [Seleccionar]
package nombre_paquete;
....
imports
....
resto de la clase

Te adjunto una captura de como quedaría una de las clases.


Por lo demás, he estado probando ejecutando el TestHerencia2 y parece que funciona bien. te mando una captura de la ejecución para que veas...

La verdad que no lo he probado a fondo pero parece funcionar, intenta arreglar eso que te comento de los packages y ya nos cuentas.

Te adjunto también las clases modificadas, pero claro esto esta de acuerdo al paquete que yo he creado(ejemplo_herencia). No se que IDE usarás, pero tendrás que crear un paquete  y meter todas las clases dentro de ese paquete.


Nota de edición:

Por cierto cuando llamas a un metodo de la clase padre como en este caso

Código: [Seleccionar]
public void mostrarInformacionPFresco () {
        mostrarInformacionDelProducto();
        System.out.println ("FECHA DE ENVASADO: " + fechaEnvasado +
            "\tPAIS DE ORIGEN: " + paisOrigen);
    }

Al método de la clase padre se le suele llamar con la clausula super delante, de la siguiente manera:
 
Código: [Seleccionar]
public void mostrarInformacionPFresco () {
        super.mostrarInformacionDelProducto();
        System.out.println ("FECHA DE ENVASADO: " + fechaEnvasado +
            "\tPAIS DE ORIGEN: " + paisOrigen);
    }

Esto mas que nada para evitar problemas y para saber que ese método proviene de la clase de la que hereda.

153
Hola, buenos días, bueno antes de nada deberías ser mas claro a la hora de formular tu pregunta, ¿con que lenguaje estas trabajando? Voy a suponer que hablas de php, bueno la verdad que es un tema bastante extenso, y ademas existen distintos mecanismos para realizar dicho propósito.

Te remito al curso de php desde 0 publicado en la web principal de aprenderaprogramar.com:

https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193

En este curso a partir de la entrega numero 37 tienes todo lo relevante al acceso a una base de datos MYSQL, yo me repasaría esos temas y haría los ejercicios y ya cuando tengas un poco de base, volver aquí con dudas mas concretas. Aparte de lo que es el acceso desde php a mysql, deberías dar un repaso también al lenguaje de consultas sql, te hará falta.





154
No sabía si ponerte un post, o un PDF.... XDDD

Tabla asignaciones:

cedula
sueldo_quincenal
sueldo_mensual
bonos
otros_bonos
   |________________________total_asignaciones-->supongo que esto sale
                                      de algun calculo con las
                                      otras columnas. No es
                                      necesario mantenerlo en la
                                      bbdd.
                                     
tabla deducciones:

cedula
seguro_social
paro_forzoso
politica_habitacional
   |_______________________total_deducciones-->Igual que en la tabla anterior,
                                    supongo que sale de alguna operacion
                                    con las otras columnas. Tampoco es
                                    necesario que se mantenga en la bbdd.
                                    
tabla empleados:

cedula
nombre
apellido
fecha_nacimiento
edad --> Sobra, porque si tienes la fecha de nacimiento, puedes calcular su edad.
fecha_ingreso
cargo
tipo_contrato
direccion
   |_______________________________________________total_deducciones
                                                  total_asignaciones
                                       sueldo_mensual
                                       neto_a_pagar
                                          |___________________Supongo que estas cuatro columnas salen del                                                          calculo entre las asignaciones y las deducciones, por lo tanto, te sobran totalmente. Ademas de que dos de las columnas son repetidas, lo que rompe con uno de los principios mas importantes en el mundo de la computación: DRY( dont repeat yourself)

                                                         
Tras este pequeño análisis del esquema relacional, te sigo recomendando lo mismo que en las respuestas anteriores,
estudia un poco de sql, no te vendría nada mal. Este esquema que te pongo aquí simplemente es una recomendación de como yo lo haría y los nombres que le podría a las columnas. Pero bueno solo sigue siendo una recomendación.

Bueno al margen de todo esto que te comento, y cuando tengas el esquema bien claro, solo tendrás que generar la consulta sql solicitando los datos que necesites. Basándome en las recomendaciones que te he dicho antes, y en lo que me pones en el post que necesitarías mostrar:

1- De los datos personales: Cedula, Nombres, Apellidos
2- De las asignaciones: Sueldo Quincenal y Bonos y el total de las asignaciones
3-. De las deducciones : Todos los campos (Seguro Social, Paro Forzoso, Ley Habitacional, Total Deducciones)
4- El Neto a Pagar.

La consulta sql que tu tendrías que realizar sería algo como la siguiente:

Consulta SQL:

SELECT empleados.cedula, empleados.nombres, empleados.apellidos,
asignaciones.SUELDOQUINCENAL, asignaciones.BONOS, (asignaciones.SUELDOQUINCENAL+asignaciones.BONOS+asignaciones.OTROSBONOS) as total_asignaciones,
deducciones.SEGUROSOCIAL, deducciones.PAROFORZOSO,deducciones.POLITICAHABITACIONAL,
(deducciones.SEGUROSOCIAL + deducciones.PAROFORZOSO + deducciones.POLITICAHABITACIONAL) as total_deducciones,
((asignaciones.SUELDOQUINCENAL+asignaciones.BONOS+asignaciones.OTROSBONOS+asignaciones.SUELDOMENSUAL)-(deducciones.SEGUROSOCIAL + deducciones.PAROFORZOSO + deducciones.POLITICAHABITACIONAL)) as neto_a_pagar
FROM empleados, asignaciones, deducciones
WHERE empleados.cedula=asignaciones.cedula and empleados.cedula=deducciones.cedula;

Nota: La verdad que el neto a pagar no se muy bien de donde sale, porque no me salen los totales que tu ya tienes en la tabla empleados, pero bueno sabiendo la operación a realizar no es difícil averiguarlo. Si ejecutas la consulta anterior en tu phpmyadmin, te darás cuenta que realmente los totales no están bien.

Bueno una vez que ya tienes la consulta sql con los datos que necesitas es hora de irse a la herramienta que nos provee
VB 6 para trabajar con bases de datos.

DATA ENVIROMENT

1.- Abriremos el VB con tu proyecto, una vez abierto, en la derecha en la jerarquía de los objetos del proyecto, pincharemos al dataEnviorment(RPTrecibo.dsr) que tu ya tienes creado.

2.- Haz un click con el botón derecho sobre la conexión que tu ya has creado y pincha sobre "agregar nuevo comando".

3.- Una vez el comando se ha añadido, pulsa con el botón derecho sobre el y dale a propiedades.

   Captura 1
   
4.- Una vez la tienes abierta, vas a pinchar donde pone "instrucción sql" con lo que se activara el cuadro de texto para poder escribir la sentencia sql que ya teníamos preparada anteriormente. Aplicas, Aceptas y ya tienes los datos que te interesan, ahora solo deberás arrastrar los datos al datareport con el formato que a ti te interese.
         
         Captura 2

Espero que este post te sirva para animarte a estudiar algo de sql, ya que sinceramente nos has sido capaz de hacerlo por esa cuestión, ademas en programación no va a ser ni la primera, ni la ultima vez que te des de frente contra una base de datos sql.

Bueno y sobre todo espero haberte resuelto la duda y que puedas seguir adelante con el proyecto. Sobre el proyecto, no te preocupes con el porque no tengo pensado usarlo, tengo muchos recursos propios de los que tirar, pero sobre todo.... MICROSOFT, noooooooooooooooooooooooooooooooo!! XDD

Bueno pos con el tocho hasta mañana chavales.

155
jajajaja me acuerdo de mis inicios con C me paso igual y también me tire un rato dando vueltas... jajaja.

Simplemente, pon un espacio delante de %c en el scanf así:

Código: [Seleccionar]
scanf(" %c", &respuesta);

Esto es debido a como c realiza la conversión, No se muy bien a que es debido, pero tiene que ver con el contenido del buffer de entrada del teclado, al poner un espacio delante c, se salta el carácter que hay en el buffer y ya coge el nuevo carácter introducido. Mas o menos...

A ver si alguien nos lo aclara mejor. el caso es que cuando vas a leer caracteres por teclado con la función scanf hay que dejar un caracter en blanco delante del formato de conversión %c.

Te encontrarás con muchas cosas de este tipo en c, no te desesperes, y siempre que no te funcione algo, haz algún debug, si tras la inserción del carácter hubieras echo un printf del carácter capturado, te habrías dado cuenta que no estaba capturando el caracter 's' , sino que estaba cogiendo el que tenia en el buffer.

Bueno un saludo y a darle caña que ya no hay muchos valientes que se atrevan con C, jaja.

156
Hola, bueno pues si me pasas las tablas quiza pueda guiarte un poco mas, jeje añademe el fichero sql de la BBDD y le echo un ojo, Un saludo!

157
No lo dejes porque yo haya escrito, ee jeje lo puedes borrar sin problemas, no creo que que deba estar ese titulo en el foro... Un saludo! XDD vaya tela la peña...

158
Pues para eso yo lo que haría sería lo siguiente.

La ruta que se debe almacenar en la bbdd es la ruta desde el index, hasta la imagen,
y después en la pagina:

tablaProductosCliente.php

esta linea:

Código: [Seleccionar]
echo "<td><img src='".$_SESSION['k_foto']."'width='50px' height='45px'></td>";


debería quedar así:

Código: [Seleccionar]
echo "<td><img src='../".$_SESSION['k_foto']."'width='50px' height='45px'></td>";

Si es que el archivo tablaProductosCliente.php se encuentra por ejemplo una carpeta por encima de la principal.

Si esta en 2 niveles por encima del principal quedaría así:

Código: [Seleccionar]
echo "<td><img src='../../".$_SESSION['k_foto']."'width='50px' height='45px'></td>";

Y así sucesivamente, espero puedas solucionarlo. Un saludo!

159
Hola, me he repasado un poco tus códigos y veo que el fichero index.php y el fichero
tablaProductosCliente.php no están en la misma carpeta, por tanto la ruta hacia la imagen es imposible que sea la misma para los dos ficheros...

¿Puede ser que vayan por ahi los tiros? Compruebalo copiando el fichero index.php a la misma carpeta que tablaProductosCliente.php y ábrelo a ver si en ese caso te muestra la imagen. Bueno ya nos cuentas.



160
Hola buenas, he estado echandole un rato a esto y he conseguido instalar vb y abrir el proyecto, ahora claro.... el proyecto viene sin las tablas de la bbdd por lo cual sigo sin poder probarlo al 100 % aun asi te comento lo que creo que deberías hacer:

la clave esta en el dataEnviroment:

---
---
---

Si te fijas en la imagen, en lugar de elegir objeto de la base de datos, marca la casilla instrucción sql.
O también puedes ir al evento click del botón mostrar datos, dentro de ese evento te encuentras con la siguiente instrucción sql:

Código: [Seleccionar]
SQL = "select * from empleados where CEDULA =" & txtcedula & ""
Si te fijas solo coges datos de la tabla empleados, debes modificar esa consulta o generar una nueva con la información que a ti te interesa.

 Al no conocer el esquema de bbdd no se exactamente que consulta seria, pero si quieres extraer:

Citar
1- De los datos personales: Cedula, Nombres, Apellidos
2- De las asignaciones: Sueldo Quincenal y Bonos y el total de las asignaciones
3-. De las deducciones : Todos los campos (Seguro Social, Paro Forzoso, Ley Habitacional, Total Deducciones)
4- El Neto a Pagar.


La consulta vendría a ser algo así....:

Código: [Seleccionar]
SELECT empleados.cedula, empleados.nombre, empleados.apellidos, asignaciones.sueldo_quincenal, asignaciones.bonos, asignaciones.total_asignaciones, deducciones.seguro_social,  deducciones.paro, deducciones.total_deducciones
FROM empleados, asignaciones, deducciones
WHERE empleados.cedula=asignaciones.cedula and empleados.cedula=deducciones.cedula;

Creo que no te vendría nada mal algún tutorial de sql. Es que lo que nos presentas, mas que una duda o problema, parece que buscas que te terminemos el proyecto, sin tener ni idea del esquema relacional de la bbdd y encima a mi me coges que de economía, salarios y demás no tengo nidea....XDD

En mi opinión lo que te digo deberías buscarte un buen manual de sql y otro de conexion a bases de datos desde VB6, por lo que veo el data enviroment no es difícil de utilizar, pero claro si no tienes conocimientos de sql se te queda muy limitado.

Así que nada resumiendo, debes crear una instrucción sql que te extraiga lo que quieras de la bbdd y  después pues, en los campos del form, hacer referencia a estos campos que extraes, la verdad que en VB no se como, pero no debe ser nada difícil, seguro que si investigas un poco hay un millón de tutoriales.

Pero mi mejor consejo para esta respuesta, es: APRENDE SQL. Nunca esta demás y hoy en día no existe prácticamente ninguna aplicación que no haga uso de una base de datos.

Siento no poder acabar de resolvértelo, pero tampoco podemos dar las cosas mascadas, jeje aunque espero al menos haberte guiado un poco en la dirección correcta. Un saludo

Páginas: 1 ... 3 4 5 6 7 [8] 9

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".