Categoría: cosas técnicas

Posts relacionados con la programación o manejo o configuración de los oredenadores (computadores)

  • Domitienda.com ofrece hosting con bases de SQL Server 2008 sin coste adicional

    Pues eso… ya sabes que www.Domitienda.com colabora «activamente» con el mantenimiento de mis sitios y de este blog y cuando digo «colabora» me refiero a que colabora económicamente, así que… aquí estoy yo poniéndole un poco de publicidad para que sepas que además de ofrecer alojamiento (o hosting) de todo tipo y a un precio que con la calidad de servicio que dan es difícil de que encuentres algo mejor, pues eso, que no sólo alojamiento de ASP.NET 4.0 (incluso de versiones anteriores) o alojamiento para ASP y PHP y bases de MySQL o Access o de SQL Server 2005 (si ya empiezas a usar el alojamiento básico), ahora también puedes crear bases de datos de SQL Server 2008 y sin coste adicional, por supuesto las bases de datos de SQL Server (sea de la versión que sea) puedes usarlas si contratas el alojamiento Básico que sólo cuesta 59,40 euros al año (4,95 euros al mes) más impuestos,

    Así que… ya sabes… entérate de qué tienes que hacer para usar las bases de datos de SQL Server 2008 en los alojamientos de www.Domitienda.com y empieza a sacarle más rendimiento a tu alojamiento.
    En ese post del blog de Domitienda te explican cómo usar/configurar las bases de datos desde tu equipo usando el SQL Server Management Studio 2008 Express.

    Nos vemos.
    Guillermo

  • Reutilizar un control en otros controles

    Pues eso… aquí te voy a explicar cómo usar un mismo control en más de un "contenedor" (o colección de controles), y como comprobarás, en principio, es algo muy simple de hacer (una vez que se sabe cómo hacerlo, claro, que si no… ¡ja! ya me dirás tú cómo lo harías si nadie lo explicara, pues eso…)

     

    Sí, es un tema técnico… 😉 pero eso no quiere decir que no lo empiece cómo "debe ser".

     

    A lo que vamos, de lo que se trata es de tener, por ejemplo, un control PictureBox y ese mismo control mostrarlo (o usarlo) en controles diferentes.
    En realidad en contenedores de controles o colecciones de controles, que para el caso es lo mismo, además de que en .NET todos los controles pueden tener otros controles dentro (al menos eso es lo que parece o hace suponer al existir en cada objeto de tipo Control una propiedad llamada Controls que es un objeto del tipo ControlCollection (para saber más pulsa en los enlaces y te llevará a la documentación de .NET Framework 4.0).

    Para lograr eso lo que tenemos que hacer es añadir el control en cuestión a la colección Controls del contenedor al que lo queremos mover.
    Por ejemplo, si tenemos un control del tipo TabControl y cuando pulsamos en la primera y/o la segunda ficha (TabPage), haremos que un control llamado PictureBox1 se añada a esa ficha.
    Con el siguiente código (para Visual Basic) lo conseguiremos:

     

    Private Sub TabControl1_SelectedIndexChanged(ByVal sender As Object, _
                                                 ByVal e As EventArgs) _
                                                Handles TabControl1.SelectedIndexChanged
    
        Select Case TabControl1.SelectedIndex
            Case 0
                TabPage1.Controls.Add(PictureBox1)
            Case 1
                TabPage2.Controls.Add(PictureBox1)
        End Select
    End Sub

     

    Si prefieres usar C#, utiliza el siguiente código:

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
    {
        switch (tabControl1.SelectedIndex)
        {
            case 0:
                tabPage1.Controls.Add(pictureBox1);
                break;
    
            case 1:
                tabPage2.Controls.Add(pictureBox1);
                break;
        }
    }

     

    Si en lugar de añadirlo directamente a una ficha (tabControl) necesitas que esté en otro contenedor, por ejemplo, dentro de un GroupBox, simplemente sustituye el nombre del control que hay justamente antes de Controls.Add por el control que te convenga. Lo mismo ocurre con el control añadido (el que está entre paréntesis después de .Add), puedes añadir cualquier control.

     

    Si al ver el código de ejemplo te preguntas algo así:

    P: Guille, ¿no crees que sería necesario quitar el control antes de añadirlo a otra colección? ya que de esa forma tendríamos repetido el mismo control en más de una colección.

    La respuesta podría ser como esta:

    R: Buena pregunta, lo que indica que "has leído el código", pero no es necesario.

     

    ¿Por qué no es necesario eliminar un control de una colección antes de añadirla a otra?

    Porque el propio .NET se encarga de eso, es decir, si un control se añade a una colección de controles, automáticamente se quita de la que ya estuviera.

    Esto no es que lo haya "adivinado" yo, es que está en la documentación del método Add, que por cierto yo no lo había leído hasta después de hacer el proyecto de ejemplo, en el que me dio por probar a ver qué pasaba si no eliminaba previamente el control de la colección, y al ver que no ocurría "nada raro" (es decir, todo funcionaba como debería funcionar) me dio por leer la documentación y esa documentación tiene una nota que dice:

     

    Un objeto Control sólo se puede asignar a una colección Control.ControlCollection a la vez. Si el Control ya es secundario de otro control, se quita de ese control antes de agregarlo a otro.

    (el texto anterior está extraído de la ayuda en línea de .NET Framework 4.0 en castellano, concretamente de la definición del método Add de la clase Control.ControlCollection)

     

     

    Espero que te sea de utilidad.

     

    Nos vemos.

    Guillermo

    Publicado con fecha del lunes 16 de mayo a las 22:00, pero en realidad lo acabé de escribir (y publicar) el martes 17 de mayo a las 00:05

  • Recuperando cosas de elguille.info

    Pues eso… que ya que no me "animo" a escribir cosas nuevas, he pensado que puedo ponerte enlaces (links) a cosas que ya publiqué en otros años, ya que, por si no lo sabes, en noviembre de este año 2011 hará 15 años que mi sitio está en la red de redes… osease Internet.
    Así que… material para mostrarte hay… lo que aún no he decidido es cómo ir poniendo los enlaces, ya que en un principio había pensado hacerlo desde el más antiguo al más reciente, pero no sé… algo se me ocurrirá…

    Es que no quiero que te quedes con la cosilla de que te he abandonado, ya que abandonar a "mi gente" nunca lo haré… o al menos intentaré por todos los medios no "tener" que hacerlo, y mira que ha habido momentos muy malos (tanto económica como moralmente) en los que casi he estado a punto de tirar la toalla (o mandarlo todo a freir espárragos), pero… aquí sigo…
    Es que, ya sabes (o deberías saber) que mantener un sitio en Internet necesita no sólo dinero (que también) si no mucho tiempo que dedicarle y el que me diga que eso lo soluciona con sólo prestarle atención una vez a la semana, pues… yo le digo que sí, que vale, pa ti la burra… pero a mí eso nunca me ha funcionado y esto de ponerme a escribir o actualizar cosas me toman más de tres o cuatro horas… incluso escribir esto que te pongo hoy supone dedicarle al menos una hora… como te lo digo…

    Que soy un pamplinoso, puede (seguro que tienes razón) pero… así soy y no creo que a pocos meses de cumplir los 54 vaya a cambiar… que lo mismo puedo cambiar… pero no sé yo si me gustaría ese cambio… ¡umaíca, déjame como estoy! 😉

     

    Lo dicho, hoy te pongo un par de enlaces y cada semana intentaré añadir un par de ellos más para que así puede que encuentres cosas que pensabas que no estaban en mi sitio y… pues eso,que sí que estaban.

     

    Nos vemos.
    Guillermo

    P.S.
    Este misma nota (o "post") la he publicado en mi sitio, pero te la pongo en el blog por si quieres comentar algo, que a muchos os gusta hacer comentarios, y ya que eso es gratis, pues… ¡venga! ¡comenta lo que quieras! 😉