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 - César Krall

Páginas: 1 ... 4 5 6 7 8 [9] 10 11 12 13 14 ... 68
161
Hola! ¿Puedes explicar en qué consiste el juego? Hablas de movimientos y de que todas las celdas estén vacías ¿no puedes llamar a una función que compruebe en cada movimiento si se alcanza el estado de "todas las celdas están vacías"?

164
Hola! Como bien has visto, se trata simplemente de decidir dónde tienes la información dependiendo de si los datos van a cambiar dinámicamente o no. Si por ejemplo debe haber cambios según lo que vaya haciendo el usuario o no, etc. Siempre hay que pensar qué puede ser preferible, unas veces será preferible usar JavaScript y otras Ajax u otras herramientas.

Saludos!

165
Hola!

Supongo que Pedro igual no ha visto tu respuesta.

Sí, el ejercicio iba enfocado a eso que has hecho. Lo único que te diría es que mejores la presentación, por ejemplo añadirle bordes y márgenes a la tabla para que se vea mejor.

Veo aquí una cosa rara en xmlhttp.open("GET"," CU01207F(01).php?pais="+str);

¿Por qué hay un espacio en blanco antes del nombre del archivo CU01207F(01).php?

Saludos!

168
Hola! Lo único que me ha chocado es for (i = 0; i <= 5; i++) ya que establece un límite exacto de lo que recorres con el bucle, pero creo que en esta entrega del curso todavía no se ha explicado EOF.  Cuando se entregue eso se verá una forma de extraer un número indefinido de elementos de un fichero.

Saludos!

170
Hola Eusebio, ¿tú sabes el intervalo solución o tiene que calcularlo el programa?

Saludos!

171
Hola, para que te devuelva solo x unidades usarías limit

select u.nick, prov.nombre, post.fechaPost, post.titulo, post.comentario, img.ruta
from usuario AS u, post AS post, provincias AS prov, imagenes AS img 
order by post.fechaPost
LIMIT 1


Si lo que quieres es obtener muchos registros donde solo obtengas el primer registro de una relación uno a muchos puedes guiarte por el siguiente ejemplo (la verdad es que no es muy sencillo pero con un poco de tiempo se hace):

Base de datos de ejemplo:

Código: [Seleccionar]
<!--- SQL to create and populate the data tables. --->
<cfsavecontent variable="strSQL">
<!--- Create table for contact data. --->
DECLARE @contact TABLE (
id INT IDENTITY( 1, 1 ),
name VARCHAR( 20 )
);

<!---
Create table for phone data (each phone number will be
associated with exactly one contact).
--->
DECLARE @phone TABLE (
id INT IDENTITY( 1, 1 ),
name VARCHAR( 20 ),
ext VARCHAR( 7 ),
is_preferred BIT,
contact_id INT
);



<!--- Populate the contact data. --->
INSERT INTO @contact
(
name
)(
SELECT 'Ben Nadel' UNION ALL
SELECT 'Maria Bello' UNION ALL
SELECT 'Jodie Foster' UNION ALL
SELECT 'Christina Cox'
);


<!--- Populate the phone data. --->
INSERT INTO @phone
(
name,
ext,
is_preferred,
contact_id
)(
<!--- Ben's numbers. --->
SELECT '212-555-BEN1', '', 1, 1 UNION ALL
SELECT '212-555-BEN2', '123', 0, 1 UNION ALL
SELECT '212-555-BEN3', '', 0, 1 UNION ALL

<!--- Maria's phone numbers. --->
SELECT '917-555-MAR1', '', 0, 2 UNION ALL
SELECT '917-555-MAR2', '', 0, 2 UNION ALL
SELECT '917-555-MAR3', '', 0, 2 UNION ALL

<!--- Christina's phone numbers. --->
SELECT '202-555-CHR1', '', 0, 4 UNION ALL
SELECT '202-555-CHR2', '15', 1, 4
);
</cfsavecontent>

Join standard:

Código: [Seleccionar]
<!--- Query for contacts and their phone numbers. --->
<cfquery name="qContact" datasource="#REQUEST.DSN.Source#">
    <!--- Create the SQL data tables and populate. --->
    #PreserveSingleQuotes( strSQL )#
    <!--- Select contacts as their numbers. --->
    SELECT
        c.name,
        <!--- Phone data. --->
        ( p.name ) AS phone_number,
        ( p.ext ) AS phone_ext,
        (
            ISNULL(
                p.is_preferred,
                0
            )
        ) AS is_preferred
    FROM
        @contact c
    LEFT OUTER JOIN
        @phone p
    ON
        c.id = p.contact_id
    ORDER BY
        c.name ASC
</cfquery>


<!--- Dump out contacts and their phone numbers. --->
<cfdump
    var="#qContact#"
    label="Contact Phone Numbers"
/>

Seleccionar el primero de los registros cuando hay varios:

Código: [Seleccionar]
SELECT TOP 1
    p.id,
    p.name,
    p.ext,
    p.is_preferred
FROM
    @phone p
WHERE
    p.contact_id = 1
ORDER BY
    p.is_preferred DESC,
p.id ASC

Consulta para obtener solo uno de los números de teléfono (el preferido):

Código: [Seleccionar]
<!--- Query for contacts and their phone numbers. --->
<cfquery name="qContact" datasource="#REQUEST.DSN.Source#">
    <!--- Create the SQL data tables and populate. --->
    #PreserveSingleQuotes( strSQL )#
    <!--- Select contacts as their numbers. --->
    SELECT
        c.name,
        <!--- Phone data. --->
        ( p.name ) AS phone_number,
        ( p.ext ) AS phone_ext,
        (
            ISNULL(
                p.is_preferred,
                0
            )
        ) AS is_preferred
    FROM
        @contact c
    LEFT OUTER JOIN
        @phone p
    ON
        (
                c.id = p.contact_id
            AND
                <!---
                    As part of the JOIN condition, make sure
                    that this ID of the phone record we return
                    is equal to the *most* preferred one for
                    that user.
                --->
                p.id = ISNULL(
                    (
                        SELECT TOP 1
                            p2.id
                        FROM
                            @phone p2
                        WHERE
                            <!--- Tie to current user record. --->
                            p2.contact_id = c.id
                        ORDER BY
                            p2.is_preferred DESC,
                            p2.id ASC
                    ),
                    0
                )
        )
    ORDER BY
        c.name ASC
</cfquery>


<!--- Show contact with max of ONLY one phone number. --->
<cfdump
    var="#qContact#"
    label="Contact Phone Numbers (Max: 1)"
/>

Con esto obtenemos solo un número de teléfono cuando el contacto tiene varios números de teléfono

Saludos!


172
Hola simchgab! Solo comentar que es preferible que los ejercicios de una entrega estén en un mismo hilo del foro para facilitar su localización. Por ello los uno en un mismo hilo. Saludos!

173
Hola simchgab!

Habiendo terminado el curso te agradeceríamos que sigas colaborando con nosotros respondiendo a consultas de personas en los foros. De esta manera nos ayudas a mantener los foros y que quienes vayan más avanzados ayuden a quienes estén empezando ya que siempre hubo un momento en que todos estuvimos empezando.

Sobre el uso de sesiones ahora mismo en aprenderaprogramar.com no tenemos material específico sobre esto. Nuestra intención es ampliar el curso de PHP e incluir el uso de sesiones, pero todavía no sabemos cuándo va a ser esto posible.

Saludos!

174
Hola!

Todo el código lo veo bien además lo has organizado bien usando funciones

Para que todo quedara completo tal y como se pedía harían falta algunos cambios:

- Faltaría por responder el ejercicio 1

- En el apartado c) se pedía Insertar dos nuevos registros, creo que tú solo has insertado uno.


Saludos!

175
Hola!

Para escribir en los foros es bueno seguir estas indicaciones: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Si no pones un título descriptivo no obtendrás ayuda porque no se sabe de qué trata la consulta

Para que tu código se visualice bien tienes que hacerlo usando code ... /code como se explica en el hilo anterior

Para los conceptos básicos de C y el manejo de ficheros ver este curso https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&Itemid=210 donde está explicado

Saludos!!

177
Hola!

A mí también me parece buen código como comenta pedro pero hay una cosa del diseño que me ha llamado la atención. Ajax se usa para obtener información dinámicamente pero tal y como has definido el diseño no toda la información se recupera desde fuera sino que las urls las tienes definidas en JavaScript  ::)

Me he dado cuenta al compararlo con https://www.aprenderaprogramar.com/foros/index.php?topic=4198.0

No sé si has dividido la información por algún motivo

Saludos!!

178
Hola!

Para imprimir en la impresora por defecto del sistema puedes guiarte por este código:

Código: [Seleccionar]
import javax.print.*;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
 
 
public class PrintTest {
 
    public static void main(String args[]) throws IOException {
 
        FileInputStream inputStream = null;
        try {
            inputStream = new FileInputStream("c:/archivo.pdf");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        if (inputStream == null) {
            return;
        }
 
        DocFlavor docFormat = DocFlavor.INPUT_STREAM.AUTOSENSE;
        Doc document = new SimpleDoc(inputStream, docFormat, null);
 
        PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet();
 
        PrintService defaultPrintService = PrintServiceLookup.lookupDefaultPrintService();
 
 
        if (defaultPrintService != null) {
            DocPrintJob printJob = defaultPrintService.createPrintJob();
            try {
                printJob.print(document, attributeSet);
 
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else {
            System.err.println("No existen impresoras instaladas");
        }
 
        inputStream.close();
    }
}


Si quieres elegir la impresora donde imprimir utiliza su nombre dentro del sistema como en este ejemplo:

Código: [Seleccionar]
public static void main(String args[]) throws FileNotFoundException, IOException, PrintException {
 
    //Archivo que se desea imprimir
    FileInputStream inputStream = new FileInputStream("c:/archivo.pdf");
 
    //Formato de Documento
    DocFlavor docFormat = DocFlavor.INPUT_STREAM.AUTOSENSE;
    //Lectura de Documento
    Doc document = new SimpleDoc(inputStream, docFormat, null);
 
    //Nombre de la impresora
    String printerName = "HP3015";
 
    //Inclusion del nombre de impresora y sus atributos
    AttributeSet attributeSet = new HashAttributeSet();
    attributeSet.add(new PrinterName(printerName, null));
    attributeSet = new HashAttributeSet();
    //Soporte de color o no
    attributeSet.add(ColorSupported.NOT_SUPPORTED);
 
    //Busqueda de la impresora por el nombre asignado en attributeSet
    PrintService[] services = PrintServiceLookup.lookupPrintServices(docFormat, attributeSet);
 
    System.out.println("Imprimiendo en : " + services[0].getName());
 
    DocPrintJob printJob = services[0].createPrintJob();
    //Envio a la impresora
    printJob.print(document, new HashPrintRequestAttributeSet());
 
    inputStream.close();
 
}

Saludos!

179
Hola! ¿Puedes poner alguna referencia adicional de qué código y hardware estás usando? Si tienes dos lectores cada lector debe poder ser identificado de alguna manera...  ::)

Saludos!

Páginas: 1 ... 4 5 6 7 8 [9] 10 11 12 13 14 ... 68

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