Mostrando las entradas con la etiqueta Visual Basic. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Visual Basic. Mostrar todas las entradas

22 feb 2012

Pechocho estará de vuelta…

Como se habrán dado cuenta, han pasado poco más de dos años desde la última entrada en este blog. Durante ese tiempo algunos blogs hermanos han bajado en publicaciones, por no decir que se han quedado en el camino.

Durante este 2012, espero que las entradas sean más constantes, ya que muchas ideas se quedaron en el tintero y poco a poco han tomado forma suficiente para ser publicadas.

No me queda más que agradecerles su paciencia, su suscripción en el RSS o sus visitas esporádicas para ver si al autor le daban ganas de escribir algo.

Créanme: valdrá la pena toda esta espera….

9d8d16293cad58da07f1a630133dfffb
Sip: habrá reseña de “Ano Natsu de Matteru”…

9 may 2010

Usted pregunta… Eventos de teclado en VB .NET

Nuestro amigo Faisal, de Colombia, pregunta a través de Windows Live:

Hola . . .
Por favor me podrías ayudar con uno en VB2008 que me Active y Desactive la Tecla Windows, la tecla Alt * F4, la tecla Ctrl * Esc
Te agradecería q me ayudaras . . .
Abu Malik Faisal

Bueno, cuando estaba trabajando con REI tuve que investigar cómo realizar dichas acciones, ya que el programa requería que por ningún otro medio se pudiese acceder a los datos, exceptuado el lector de huellas digitales.

Obviamente, por si algún usuario malintencionado o descuidado realizara algunas combinaciones de teclas, REI debía interceptarlas y bloquearlas. La combinación de Alt+F4 (para cerrar las aplicaciones activas) es fácil utilizando un pequeño truco:

1.- Agregamos un Menú

2.- Establecemos un elemento de menú y le asignamos la combinación de teclas Alt+F4

3.- Hacemos el menú con la propiedad Visible a falso

4.- Ponemos en Falso las propiedades para maximizar y minimizar

5.- Por último, en la propiedad ControlBox la colocamos en Falso

Esto hará que la combinación de teclas propias para cerrar un programa no sean tomadas por Windows, sino por la aplicación que estamos elaborando. Ya en la combinación de teclas, podemos colocar el código que deseemos (un cuadro de diálogo, una advertencia o incluso otro formulario pidiendo un nombre de usuario y contraseña, por citar algunos ejemplos). Pueden descargar un pequeño programa con un ejemplo de ello en el Skydrive y en Megaupload, como ProyectoBloqueo.

En cuanto a las otras combinaciones, me temo que la cosa si se pone peliaguda. Dado que son combinaciones de teclas propias del sistema, Windows siempre las tomará en cuenta y aunque las hayamos establecido por código (utilizando los eventos KeyPress, KeyUp y KeyDown), Windows siempre aparecerá y nos mostrará el evento asociado.

Para solventar esto en REI, estuve buscando y buscando en la red hasta que hallé unos controles OCX que me permitían bloquear la barra de Inicio, el botón Inicio y otras cosas más. Desgraciadamente, si presionábamos la tecla Windows en el teclado, el menú Inicio aparecía de cualquier forma. Además, dichos OCX sólo funcionan correctamente en Windows XP para abajo y en VB clásico. Dichos controles están disponibles en el compendio Controles 3 en el Skydrive de programas completos, al igual que en Megaupload.

Espero haya sido de ayuda y gracias por leer Pechocho’s World.

19 abr 2010

Usted pregunta… Ayuda con programas…

El primer “Usted pregunta, Pechocho responde” del año lo tiene “edge”, quien haciendo caso omiso al aviso de no realizar comentarios en el Windows Live porque prácticamente no los veo (es broma, es broma, siempre se agradecen los comentarios pero eso de que rara vez veo los mensajes en el perfil de Windows Live es verdad) pregunta:

halo oye me pregunta ba si me podrias ayudar con un programa...
bueno de lo que se trata es de un punto de venta
y cuando hago una venta que me elimine en mi base de datos
trabajo en VB2008 y SQL2005 y con los DataGridView
te agradeceria

Bueno “edge”, desgraciadamente no tengo idea de como hacer lo que necesitas. Sin embargo, hace tiempo realicé, o mas bien, intenté hacer un punto de venta pero en VB6 llamado (muy originalmente) Tiendita. Como muchos otros proyectos, Tiendita se fue quedando en el olvido y ahora está juntando polvo en mi disco duro.

tiendita
Tiendita en tiempo de ejecución en Windows 7

Si bien el proyecto que estás haciendo está hecho en VB .NET, Tiendita está realizada en Visual Basic 6 y comencé con un esbozo en .NET, pero como en ese momento no tenía conocimientos sobre el enlace y el trabajo en bases de datos con SQL, se fue quedando en el olvido hasta ahorita. La versión en VB6 está más avanzada que la versión en .NET, por lo que la puedes usar como referencia para la elaboración del tuyo. Eso si, no van muy bien probados ya que actualmente estoy usando Windows 7 y VB6 no se lleva muy bien con esta versión del sistema operativo de Microsoft.

Para que Tiendita no se convierta en un REI más, pongo a disposición lo poco que hice durante esos ratos de ocio, tanto en VB6 como en .NET 2008. Pueden usarlo en los proyectos que deseen, eso sí: sólo acuérdense del autor cuando estén realizando su caja de diálogo de “Acerca de…” en su proyecto y si no es mucho pedir, un vínculo a este blog.

Antes de ejecutar o probar la versión en VB6, son necesarios algunos controles OCX y DLL que se encuentran empaquetados en la aplicación “Controles 3”, la cuál está disponible también la carpeta “ProgramasPropiosCompletos” del Skydrive.

Como es costumbre, los archivos de proyecto se podrán descargar tanto del Skydrive como en Megaupload, en ambas lo encontrarán como “tienditaVB6.zip” y “tienditaNET.zip”

Servidos, para que no sigan que no se les quiere en este blog.

21 oct 2009

Se acerca Windows 7

Ya es cuestión de horas para que Microsoft libere al público en general lo que ha estado esperando desde hace 3 años (el sucesor de Windows Vista) y lo que los expertos en computación exigieron que saliera al mes de probar a su hermano menor (en número y en uso).

Windows 7 es la apuesta que los ingenieros y especialistas de Microsoft esperan cumpla con lo que Vista jamás pudo ofrecer: un sustituto viable al robusto, pero ya viejo Windows XP. Además, ese es el principal problema que el bebé de Microsoft debe enfrentar: borrar la estigma que su hermano Vista dejó no sólo en los expertos sino en los usuarios en general y mostrar que es el digno nuevo poseedor del estandarte que llevó Windows XP durante 8 años.

Sólo el tiempo dirá si Windows 7 cumple y llena el campo que Vista nunca pudo siquiera soñar con prevalecer: el mercado empresarial, donde muchos negocios siguen utilizando XP, tanto por la compatibilidad de sus programas como por lo costoso que sería renovar todo el hardware para que Vista cumpliese a medias.

Mucha suerte, Windows 7.

26 jul 2009

El proyecto secreto

Como recordarán, desde hace unos meses al platicarles sobre los diseños web de CPMA y de Gala Musical, también hablaba de un proyecto el cual no se me permitía revelar información. Bueno, hace unos días ya se me dio luz verde para comentarles de este proyecto que desgraciadamente se ha quedado en el tintero por tiempo indefinido.

Dicho proyecto consistía en la elaboración del sitio oficial del CETis 8. Desde noviembre del año pasado, el Lic. Eduardo Alquicira tenía la idea de desarrollar un sitio web donde alumnos, padres de familia, personal administrativo y docente pudiesen consultar información relevante a sus funciones. Por ejemplo, los alumnos pudiesen consultar sus horarios, los padres de familia las calificaciones, el personal docente pudiese recibir información sobre cursos de actualización y el administrativo mantenerse informado y comunicado en todo momento sobre temas relacionados al plantel.

Fue así que después de las vacaciones de navidad, empecé con el primer bosquejo del sitio. Finalmente, por ahí de marzo de este año, tenía el primer borrador. Basándome en muchos portales gubernamentales, la primera versión del sitio del CETis 8 lucía de la siguiente forma:

cetis1

El sitio siguió elaborándose y vino el primer cambio en el diseño, idea del licenciado. Se cambió el fondo blanco por un color azul cielo. Así, la ya casi lista versión 1.5 del sitio se vio de la siguiente manera:

cetis2

Después de mostrarle el sitio a un grupo del IPN, el licenciado me comenta que el sitio debe tener un rediseño total, basándose en las opiniones de que se veía demasiado “formal” y que se necesitaba algo más “juvenil”. Fue así que se tuvo que dar marcha atrás a lo que ya se tenía y comenzar con un rediseño total, que esta vez tomó menos tiempo de realizar, ya que se iba a reutilizar muchas cosas que ya se tenían hechas. Aunque he de aclarar que este nuevo rediseño nunca fue de mi total agrado.

Después de una semana trabajando en el nuevo diseño, la versión 2.0 del mismo, esta vez utilizando marcos y con algunas cosas en Flash, el sitio se ve de la siguiente forma:

cetis3

El menú de la izquierda desapareció para dar paso al menú tipo Collage que se encuentra en el centro de la página principal. La barra de noticias, que se encontraba al fondo de los otros diseños, se desplazó hacia arriba, al igual que los vínculos de Ubicación y el Correo electrónico, este último elaborado en ASP.NET y de sirvió para el ejemplo realizado hace sólo unos días.

Desgraciadamente así se va a quedar por tiempo indefinido. Tanto el licenciado como yo no sabemos el porque el proyecto se encuentra ahora detenido. Sin embargo, estos meses de trabajo sirvieron para aprender muchas cosas que pronto verán aquí y que ya se encuentran en funcionamiento en CPMA y en Gala Musical.

De seguro encontrarás esta entrada y algunas más buscando a la escuela en Google. Eso me dice a mí que quieres saber algo más de esta escuela. Y de ahí la necesidad y la iniciativa de un sitio web. Si alguna vez se hace uno, ¿qué te gustaría ver en él?

29 jun 2009

Correo electrónico en ASP.NET

Tanto en Gala Musical como en CPMA se necesitaba que los visitantes del sitio pudiesen enviar sus comentarios a una dirección de correo electrónico. Lo más simple del mundo es poner el correo utilizando el protocolo “mailto”, el cuál permite que al darle clic a una dirección de correo, se abra el programa predeterminado de correo en el equipo del visitante. Sin embargo esto muchas veces no funciona, más que nada porque las personas generalmente utilizan el web mail, como Hotmail o Yahoo, y acceden a él desde el navegador y no desde un administrador de correo. Esto hace que muchas veces las personas se arrepientan y ya no decidan enviar el correo que pensaban mandar.

Para resolver esto, en ambos sitios se utilizó un formulario para que desde el propio sitio y sin necesidad de programas externos, el visitante pueda enviar sus comentarios. La primera opción fue PHP, y de hecho en CPMA se utiliza de dicha manera. Sin embargo, para Gala Musical, se optó por ASP.NET debido a ciertas discrepancias con el código de PHP utilizando anteriormente.

correo1

Dado que me tomó un poco de tiempo encontrar algo que funcionara en ASP.NET, aquí les dejo un ejemplo de un formulario para que el visitante envíe sus comentarios a determinada dirección de correo. En el código fuente viene explicado todo, pero antes de que lo corran, hay que aclarar unas cosas al respecto.

  • Al ejecutar el proyecto, este no enviará ningún correo a menos que en tu localhost (ya sea por IIS o el localhost de pruebas de ASP.NET) se haya configurado un servidor de correo. Para saber si el ejemplo funciona de manera local, al enviar el correo aparecerá un mensaje en negrita con la frase “Su mensaje a sido enviado”.
  • La mejor forma de ejecutar este ejemplo es subiéndolo a un servidor web como tal y que tenga configurado un servidor de correo. La mayoría de los webhosting ya ofrecen este servicio, por lo que no debería representar ningún problema.
  • Para evitar que alguien envíe correos vacios, se utiliza el control Required Field Validator, el cuál no permite el envío del mensaje hasta que el campo requerido sea llenado. Los reconoces porque en tiempo de programación, son las etiquetas rojas.
  • Para evitar problemas de compatibilidad con el Framework, este proyecto estará utilizando la versión 2.0 del mismo, que es compatible con la gran mayoría de servidores web.
  • Es necesario establecer el correo electrónico remitente en el código. Esto se explica con mayor detalle dentro del proyecto.

Espero que este proyecto les sirva y son libres de modificar el código a su entero gusto y necesidad. Pueden redistribuir el proyecto, siempre y cuando incluya algún vínculo hacia este blog. Para descargarlo, vayan al Skydrive “EjemplosVisualBasic2008” o en el siguiente vínculo de Megaupload. El proyecto se llama “CorreoElectronicoASP-NET”.

7 jun 2009

Usted pregunta, Pechocho responde: sentencia SQL

Un anónimo no tan anónimo pregunta en el post de VB 2008 con bases de datos en SQL:

Disculpa, como puedo ejecutar una sentencia SQL sobre esta conexión a la base de datos (INSERT - SELECT - etc..).
Saludos, mi correo es: XXX@hotmail.com

Bueno, no soy experto en SQL. De hecho, estos tutoriales que publiqué fue porque también los aprendí al paso y con búsquedas concienzudas por Google. Probablemente lo que te esté pasando es que en tu proyecto no puedes agregar registros. Esto es más que nada un problema con la base de datos, pero es muy sencillo de resolver. Es más, es un problema que sucede hasta con las bases de datos piteras de Access.

Cuando estés creando los campos de la base de datos, para poder agregar registros desde tu  proyecto, es necesario fijar una clave principal. También, he notado que muchos tipos de datos no permiten establecer una clave principal. Por ejemplo, el tipo de datos “ntext” no lo permite, pero el tipo “nvarchar(10)” si lo permite. Además, para evitar errores, no se permite que la clave principal lleve valores nulos (NULL).

dudaSQL01

Si no estableces una clave principal, Visual Basic y SQL permiten hacer consultas, pero no agregar o editar datos, a los cuales se accede utilizando las cadenas Insert y Select, así como Update y Delete. Al agregar la clave, ya puedes hacer esto modificando el acceso a datos desde tu proyecto con las propiedades del DataSet o creando uno nuevo una vez establecido el campo principal.

Ah, y por seguridad, procuren no poner sus correos en lugares públicos, como los comentarios de los blogs, foros, Twitter y todas esas cosas. Eso es como poner la dirección de su casa en metro o el transporte público. Algo no muy seguro que digamos.

31 may 2009

Primer vistazo Visual Studio 2010

Luego de darme cuenta un poco tarde de que también está disponible la ISO de la primer beta pública de Visual Studio 2010 y de descargar los 1.4 Gb, aquí les traigo el primer vistazo de la próxima generación de la suite de programación para Windows.

Si ya has trabajado con versiones anteriores, sabrás que instalar estas herramientas toma su tiempo. En esta ocasión eso no cambia mucho, a mi equipo le llevó cerca de una hora instalar todo lo necesario, teniendo en cuenta que lo más pesado es el Framework 4.0.

vb2010_01

Tres reinicios más tarde y después de esperar a que se configurara el entorno por primera vez, veremos la pantalla principal de la suite de programación:

vb2010_02

Lo primero que uno hace es ver que la interfaz ha sido completamente renovada, utilizando ahora unos colores más oscuros en comparación con las versiones anteriores. Después de ver la interfaz, veremos ahora los proyectos que VS 2010 nos ofrece, teniendo en cuenta que sólo instalé Visual Basic, Visual Web Developer y el nuevo F#.

vb2010_03

Como ven, y al igual que con algunas versiones anteriores, es posible seleccionar el Framework objetivo de nuestra aplicación, limitándose sólo a las versiones 2.0, 3.0, 3.5 y la nueva 4.0

En primera instancia vemos que no hay muchos cambios en cuanto a la forma de trabajar. Aquí un formulario sencillo en el cual probé rápidamente el Efecto Vista que ya hemos explotado bastante en este blog, en sus versiones de VB 2005 y 2008.

vb2010_04

Pasando a la parte del código, veremos ahora que se han eliminado las líneas que separaban cada procedimiento, se cambiaron los iconos de algunas funciones y propiedades y la selección ahora es un poco más vistosa.

vb2010_05

Ya desde la versión Profesional de VS 2008 podíamos crear “add-ons” para Office 2007. En esta versión ya están incluidos también, siendo necesario programarlos prácticamente sólo con código. Aquí un simple MsgBox hecho en VB.

vb2010_06

Y aquí vemos el resultado, la caja de diálogo mostrada desde que abrimos Word 2007.

vb2010_07

Pasando a la parte de aplicaciones Web, Visual Web Developer sigue siendo tan amigable como siempre. Quise hacer algo parecido al tutorial hecho hace unos meses, pero no sé si sea porque es beta o la configuración de mi equipo, el caso es que no pude realizar dicha acción.

vb2010_08

Como novedad inmediata, Visual Studio incluye el renovado F# (pronunciado ef sharp). Si has programado en C#, F# será un nuevo amigo con muchas cosas en común. Para saber más de este lenguaje, puedes visitar http://fsharp.net.

vb2010_09

Finalmente, viene la pregunta obligada (al menos en el aspecto técnico): ¿es necesario desinstalar las versiones anteriores para trabajar con esta? Recomendable si, pero necesario no. En mi equipo tengo las últimas tres versiones: 2005, 2008 y 2010. Hasta el momento no he tenido ningún problema.

vb2010_010

Conforme esté trabajando con esta beta, les traeré más información e incluso nuevos ejemplos para explorar algunas novedades de esta versión.

30 may 2009

Visual Studio 2010 Beta 1

Gracias a Chusito, me entero que ya están disponibles la Beta 1 de Visual Studio 2010 Professional y la primer beta del Framework 4.0. Existen dos formas para bajar la beta: la ya típica instalación web o mediante la descarga del ISO completo, que pesa 1.4 Gb. Para acceder a ambas opciones, dale clic aqui. Para más información, puedes ir a la página de Visual Studio 2010, o si ya se te queman las habas, puedes entrar a la página de la descarga desde aquí.

vs2010_01

En estos momentos me encuentro instalando esta beta y tengan por seguro que en cuanto esté funcionando, les traeré las novedades y cambios de esta versión.

vs2010_02

22 may 2009

Levantando un servidor

Ya había hablado antes sobre cómo probar nuestro sitio web utilizando los IIS y Wampserver. En esta ocasión, les traigo el método y el orden para crear o levantar un servidor web sencillo.

Esto es más que nada por si quieren mostrar su sitio en una presentación preliminar antes de subirlo o adquirir el hosting. Yo lo hice utilizando una máquina virtual que se ejecuta desde Virtualbox, ya que el equipo host no me permitió montar todo de manera nativa, al menos en el equipo en el que deseaba mostrar el sitio.

Primero, instalamos Windows XP Profesional. En dado caso de que ya lo tengas instalado o desees usar tu equipo principal, este paso ya lo tienes hecho.

Segundo, instala los IIS. En una entrada anterior ya había explicado lo fácil y sencillo que es instalar esta herramienta que habilita a Windows XP algunos servicios para el almacenamiento y administración de nuestra web.

Tercero, instalar Windows Installer 4.5. Es necesario para instalar el SQL Server más adelante. Lo bajas de aqui.

Cuarto, instala el Framework 3.5. En este enlace puedes descargar la versión completa que permite la instalación offline. Eso si, pesa cerca de 260 megas, pero la instalación suele ser mucho más rápida que cuando la iniciamos desde el instalador tradicional. Instalándolo en este orden, el Framework se configura automáticamente con el IIS.

Quinto, instalar el SQL Server. Necesario si tu web o las web que vayas a almacenar en tu servidor requieren acceso a datos. En este enlace puedes descargar la versión Express, que permite trabajar de forma básica con tus datos. Pesa cerca de 90 megas.

Una vez que ya hayas instalado en este orden las herramientas necesarias, no tendrás ningún problema en ejecutar tus webs basadas en ASP.NET. Recuerda que para acceder a tu servidor local lo haces escribiendo “http://localhost” desde Internet Explorer. De manera predeterminada, la carpeta para almacenar los archivos de tu sitio es “unidad:/Inetpub/wwwroot”.

8 may 2009

Efecto Vista en VB 2005 Express

Giovanni comenta y pide ayuda con respecto a un proyecto suyo:

“Necesito tu ayuda para traducir tu proyecto ‘Efecto Vista’ de VB2008 a VB2005; es que necesito terminar mi programa.”

Bueno, no es gran cosa. De hecho afortunadamente el código es el mismo para ambas versiones, exactamente el mismo. El detalle es que si nosotros queremos usar un archivo de una versión superior en una versión anterior, esto es imposible.

Caso contrario, si queremos usar un proyecto de VB 6, 2003 ó 2005 en 2008, se abrirá el asistente para “traducir” el código a la nueva versión.

Pueden bajar el proyecto utilizando el Skydrive a la izquierda de este blog, en la carpeta “EjemplosVisualBasic2008” y busquen el archivo “EfectoVistaVB2005”. También está disponible en la carpeta de Megaupload o directamente en este enlace.

Servido, y espero saber si el proyecto te ayudó y qué tipo de aplicación estás haciendo. Nos vemos.

efectovistaVB2005Imagen mostrando el ejemplo en ejecución. Es igual al que hice en VB 2008

30 abr 2009

VB 2008 con bases de datos en SQL - Final

Un poco tarde con este último post, pero entre trabajo y epidemias, pues he estado un poco apurado. En esta ocasión, presento la última parte de nuestra aplicación en VB 2008 enlazada a una base de datos de SQL Server.

Bien, la vez pasada, habíamos enlazado un control Grid a nuestra base, pero esta vez, enlazaremos controles comunes a los datos. Para ello, borraremos el control Grid de nuestro formulario. Ahora, añadiremos algunos controles y nuestro formulario pasa a verse así:

vb-sql11

Quienes hayan hecho aplicaciones de este tipo en Visual Basic clásico (el 5 ó 6) sabrán que hay que enlazar cada caja de texto al campo que le corresponde. En .NET no será la excepción. Seleccionamos la caja de texto y en sus propiedades seleccionamos la opción Databindings y luego la propiedad Text.

vb-sql12

Damos clic en Ninguno y aparecerá nuestro ya conocido selector de origen de la base de datos. Damos clic en el Binding Source y dentro de nuestro Binding, seleccionamos el campo al cuál queremos enlazar con el control. La imagen lo explica mejor:

vb-sql13

Hacemos este paso con todos los Textbox y con todos los campos. Una vez terminado, ejecutamos nuestra aplicación y debe verse de la siguiente forma:

vb-sql14

Técnicamente acabos de terminar lo más fácil de esta aplicación. Llegó la hora de programar los botones de navegación, de edición y de eliminación, además de mostrar en la barra de estado la cantidad total de registros y la posición actual en la que estamos.

Dado que el código es muy extenso, les invito a bajar el proyecto completo “PechochoProyectoSQL” desde el Skydrive “EjemplosVisualBasic” y la carpeta de Megaupload, donde lo explico ampliamente. Recuerden que cualquier comentario es bien recibido y de preferencia háganlo aquí y no en Skydrive.

Bajar proyecto de Megaupload

17 abr 2009

VB 2008 con bases de datos en SQL – Parte 2

Ya habíamos creado nuestra base de datos directamente en Visual Basic 2008 sin necesidad de instalar el SQL Server, sino utilizando el propio motor que posee el Visual Studio Express. Ahora, viene enlazar nuestra base de datos a una aplicación de escritorio para trabajar con ella.

Pasamos a nuestro formulario, y en el cuadro de herramientas, seleccionamos el control DataGridview del apartado Datos. En seguida veremos la SmartTag que nos indica que tenemos que crear un origen de datos para ese control.

vbsql09

En la parte “Elegir origen de datos” damos clic en la lista desplegable y seleccionamos la opción “Crear nuevo origen de datos”. Nos aparecerá un asistente que ya habíamos visto en el tutorial de Visual Web Developer. Seleccionamos “Base de datos” y damos clic en siguiente. Dado que ya teníamos nuestra base de datos abierta y en el proyecto, por default aparecerá como la primera opción en la conexión. Damos clic en siguiente.

vbsql010

Dado que nuestra base de datos no se encuentra en la misma carpeta que el proyecto actual, al presionar siguiente, VB nos preguntará si movemos el archivo MDF junto a nuestro proyecto o si lo dejamos en su ubicación actual (Mis documentos). Le decimos que mueva el archivo a la carpeta del proyecto para continuar.

vbsql011

Ahora, el asistente nos preguntará como deseamos llamar a la cadena de conexión con nuestra base de datos. Dejamos el nombre que le asignó y damos clic en siguiente. Tal como lo hicimos en el ejemplo de VWD, llegó el momento de seleccionar la tabla y los campos que utilizaremos en nuestra aplicación.

vbsql012

Presionamos finalizar y ahora la base de datos está conectada a nuestro proyecto mediante el DataSet, y este a su vez se conecta a los controles que utilizaremos, en este caso, el DataGrid. Con esto es suficiente para que los datos creados en SQL sean mostrados en nuestra aplicación. Ahora, ejecutamos con F5 y veremos los registros que anteriormente habíamos puesto en el editor de VB.

vbsql013

Pero, ¿y si no quiero que aparezcan los datos en una simple tabla? ¿Que tal si quiero que los usuarios accedan y administren los datos con controles comunes (botones, cajas de texto, etiquetas, etc.)? Eso lo veremos en la última parte de este tutorial de SQL y Visual Basic 2008.

10 abr 2009

Archivos arreglados

Gracias a algunos lectores de este blog, me enteré hace poco que los archivos con los ejemplos que he puesto sobre Visual Basic .NET no servían al ser descargados. Parece ser que Skydrive y las extensiones .rar no son una buena combinación.

Es por eso que a partir de hoy, todos los archivos han sido resubidos utilizando WinZip en lugar de WinRAR, al menos en la carpeta “EjemplosVisualBasic2008”.

Además, para comodidad de todos los lectores, los ejemplos también están disponibles en una carpeta de Megaupload, a la cual pueden acceder desde aquí.

Solo les pido un favor si es que bajarán alguno de estos archivos: sus comentarios son recibidos y agradecidos si los hacen aquí en el blog y no en el Skydrive. Parece ser que este problema lleva ya algo de tiempo, pero dado que no me entero de nada de mi Skydrive, tomó bastante para realizar lo que hasta ahora he hecho con esos archivos.

Además, cada post será actualizado para que los nuevos visitantes accedan a estos archivos correctamente. Gracias.

VB 2008 con bases de datos en SQL – Parte 1

En esta ocasión veremos la realización paso a paso de una aplicación de escritorio que acceda a datos utilizando una base de datos de SQL en Visual Basic 2008. Al finalizar, este proyecto estará disponible en la sección “EjemplosVisualBasic”, a la izquierda de este blog.

Para realizar este proyecto, necesitaremos de la edición Express de Visual Basic, aunque el proceso debe ser similar en las otras versiones del programa.

Primero, abrimos VB 2008 y creamos un proyecto nuevo, en este caso, PechochoProyectoSQL.

Con el proyecto abierto, procederemos entonces a crear la base de datos que utilizaremos en el. Vamos a la ficha Explorador de bases de datos. Si no ves el panel, ve al menú Ver y selecciona “Explorador de base de datos”, o presiona en tu teclado Ctrl+Alt+S. Dado que el proyecto aún no tiene ninguna base de datos, es necesario crearla.

vb-sql01

Para ello, presionamos el botón Conectar con base de datos dentro del Explorador de bases de datos. Aparecerá el asistente para conectar las bases de datos a nuestro proyecto. Seleccionamos la opción “Archivo de base de datos de SQL Server” y presionamos el botón continuar.

vb-sql02
En el siguiente cuadro de diálogo, especificaremos la ruta de la base de datos si es que ya la tenemos creada, de lo contrario, especificaremos un nombre y al presionar Aceptar, la base de datos será creada. En ambos casos no es necesario guardar la base de datos en la carpeta de nuestro proyecto, ya que el asistente se encargará de ello automáticamente cuando hagamos la conexión más adelante. Por vía de mientras, nuestra base se guardará en la carpeta Mis documentos.

vb-sql03

Al finalizar el asistente, la base de datos ha sido creada y la podremos ver en el Explorador de bases de datos. Sin embargo, es un archivo sin nada, por lo que habrá que crear sus respectivos campos y llenarla con unos cuantos registros. Junto al nombre de nuestra base de datos está un símbolo de “+”, al presionarlo nos mostrará un diagrama de árbol parecido al que se utiliza en SQL Server, donde podremos ver los diagramas, tablas, vistas, etc.

vb-sql04

Con el botón secundario del ratón, sobre la carpeta Tablas, damos clic a la opción “Agregar nueva tabla”. Esto nos abrirá la vista diseño de tabla, donde crearemos los campos y los tipos de datos que se utilizarán en nuestro proyecto, además de poder definir la clave principal y el nombre la propia tabla. Para ello, presiona el botón Guardar una vez que hayas terminado de fijar los datos anteriormente mencionados.

vb-sql05

Una vez que la tabla ha sido creada con sus respectivos nombres de campos y tipos de datos, llega la hora de llenarla con algunos registros para hacer las pruebas necesarias en nuestra aplicación. Para ello nos situamos sobre el icono de nuestra tabla recién creada y presionamos el botón secundario de nuestro ratón. Seleccionamos la opción “Mostrar datos de tabla”.

vb-sql06 Esto nos abrirá la vista de datos, donde podremos llenar nuestra tabla con los registros necesarios. En este caso sólo pondremos cinco registros, los cuales se irán guardando automáticamente.

En los siguientes tutoriales, estableceremos la conexión de la base de datos con el proyecto y enlazaremos controles para la edición, eliminación y administración de nuestros datos en una aplicación.

16 mar 2009

Subiendo nuestro sitio

Ok, ya hicimos nuestra aplicación, ya la probamos con un servidor local y ya le agregamos todo lo necesario para que funcione. Ahora, viene lo divertido: publicar nuestro sitio web como tal. Antes que nada, debemos decidir a qué servidor lo vamos a subir.

Existen dos opciones de hosting: el gratuito y el de pago. Generalmente, el gratuito ofrece poco espacio en disco (de 15 Mb a 100Mb) además de estar plagado de publicidad, lo cuál podría generar molestias tanto a nosotros como a nuestros visitantes. ejemplos de hosting gratuito son Bravenet, Geocities y la ya desaparecida Blowsearch, por mencionar sólo algunos.

Generalmente estos hosting ofrecen herramientas para los usuarios que apenas están aprendiendo esto de subir los sitios web. Una de esas herramientas, y la principal diría yo, es el administrador de archivos, desde donde deberemos subir todo nuestro sitio web.

hosting01 Administrador de archivos desde el propio navegador

Ahí, crearemos las carpetas y subiremos todos los archivos que tiene nuestro sitio (HTML, animaciones en Flash, sonidos, carpetas) y los pondremos tal cuál y como están en nuestra PC local. Algo que es importante especificar es que en la web no se permiten acentos, letras propias de un idioma ni espacios. Es decir, si nuestro sitio guarda todas las imágenes en una carpeta llamada “imágenes del sitio” o si existe alguna página de nombre “ubicación del lugar.html”, lo más probable es que dicha carpeta o página no podrá ser accesible hacia otras personas por el sólo hecho de llevar caracteres no válidos. Piensa en nombres descriptivos pero cortos: la carpeta podría llamarse simplemente “img” y la página podría llamarse “ubicacion.html”.

Sube todas las carpetas y archivos utilizando los administradores de tu hosting. Al ser gratuitos, la mayoría pone bastantes restricciones: no subir archivos de más de 5 Mb o que la cuota total de subida no sobrepase determinado número de megas, no permiten archivos de música, comprimidos, videos en cualquier formato y cosas por el estilo. Ten en cuenta todo esto antes de escoger un hosting gratuito.

hosting02 Se tiene que subir archivo por archivo

Otra de las desventajas de usar un hosting gratuito es que no podremos darle un nombre propio a nuestro sitio. Por ejemplo, si yo quiero que mi sitio se llame “misitio.com.mx” no podrá ser posible, ya que muchos hostings gratuitos no permiten el uso de dominios. En su lugar, el sitio podría llamarse “misitio.bravehost.com” ó “geocities.com/misitio”.

Un problema más sería para las personas que han desarrollado una aplicación web. Los hosting gratuitos no son buenos para esto, ya que muchos de ellos sólo permiten la ejecución de HTML y si queremos usar PHP ó ASP, tendremos que usar las opciones de pago.

En cuanto al hosting de pago, existen muchas opciones en internet. Los precios varían dependiendo de la tecnología que queramos usar, el espacio en disco y el ancho de banda. Generalmente hay hosting que va de 300 pesos al mes hasta los 2000 ó 5000 al año. Los precios se disparan todavía más si queremos un servidor exclusivo para nuestro sitio, es decir, toda una computadora únicamente para albergar nuestro sitio y nada más.

Muchas compañías que ofrecen el servicio de almacenamiento también ofrecen el servicio de trámite para el dominio. Ellos son los que tramitan todo ante NIC México, empresa que registra todos los dominios que se dan de alta en el país. Sin embargo, hay que tener cuidado con esto. Muchas empresas registran el dominio no a tu nombre, sino al de ellos. Esto con el propósito de mantenernos pegados a sus servicios de almacenamiento a su voluntad. Lo mejor es realizar este trámite nosotros mismos, y de eso les hablaré aparte en otro post.

Ya sea en hosting gratuito (algunos) o de pago, y si nuestro sitio tiene demasiados archivos como para subirlos de uno en uno, existe la opción de subir todo el sitio de un solo golpe y eso es gracias al FTP. El FTP, o File Transfer Protocol, es un protocolo exclusivamente para subir o bajar archivos y es más rápido para hacer eso que el HTTP. Existen muchos programas que nos permiten manejar esto, y uno que recomiendo mucho y que además es gratuito es FileZilla.

hosting03 Configuración del Gestor de sitios de FileZilla. Los datos te los proporciona el proveedor del hosting.

En FileZilla configuraremos el sitio a donde subiremos nuestros archivos, y escribiremos el nombre de usuario y contraseña que el hosting nos proporcionó o nosotros especificamos. Al realizar la conexión, basta con arrastrar los archivos y carpetas de nuestro sitio y listo. Todos se pondrán en cola e irán subiendo y colocándose en sus respectivas carpetas en el servidor remoto.

hosting04 A la izquierda está tu computadora y a la derecha el servidor remoto. Arrastra los archivos de tu sitio y las carpetas al servidor remoto.

Eso es todo. Ahora accederemos al sitio web como cualquier usuario utilizando nuestro navegador y probaremos que todo funcione tal y como queremos.

12 mar 2009

WampServer

En el post pasado, aprendimos como montar un pequeño servidor para pruebas tanto con simple HTML, como con la creación de aplicaciones web en ASP .NET. Sin embargo, existe un problema con los servidores basados en IIS: no son capaces de leer aplicaciones en otros lenguajes, como el PHP. Al menos no nativamente. Si bien es posible instalar dicho lenguaje mediante plug-ins o DLL’s, el proceso llega a ser complicado y tedioso, y a menos que lo instalemos para un servidor real, no tiene caso pelearse con los IIS.

En casos así, y como comentaba Zixit en el post anterior, existen otras formas mucho más fáciles de montar un servidor de prueba. Una de esas formas es WampServer, aplicación que nos hará todo prácticamente de forma automática.

Descargamos WampServer desde su página principal y lo instalamos como cualquier otro ejecutable: sólo siguiente, siguiente y siguiente.

Después, lo ejecutamos y enseguida aparecerá un icono en la bandeja de sistema. Con el click secundario accederemos a las configuraciones, mientras que con el click primario accederemos al menú del servidor.

wamp01
Menú de servidor y menú de configuración

Una cosa importante: no es recomendable tener activo al mismo tiempo los IIS y el WampServer, ya que ambos acceden al servidor local mediante http://localhost.com. Apaga uno antes de encender el otro. Los IIS los apagas desde el administrador de equipos. El WampServer lo apagas y lo enciendes mediante el menú de servidor.

Para probar nuestro sitio, basta copiar los archivos del mismo a la carpeta C:\wamp\www. Por último, accedemos al localhost desde nuestro navegador y nuestro sitio web correrá como si nada. Ahora puedes probar tus aplicaciones en PHP en tu computadora antes de subirla a tu servidor.

11 mar 2009

Instalando los IIS

Si eres diseñador web o en algún momento has diseñado una ya sea por mera curiosidad, trabajo escolar o por que no te quedó otra, siempre nos queda la duda de si las demás personas verán nuestro sitio tal y como lo queremos mostrar.

Lo mejor en esos casos es probarlo directamente en un servidor web, ya sea de paga o gratuito. Pero muchas veces el estar subiendo y actualizando los archivos constantemente llega a ser un fastidio sin contar con la gran cantidad de tiempo invertido, tiempo que podríamos estar usando en otras cosas o incluso para mejorar nuestro sitio web todavía más.

La solución más fácil es montarnos un servidor web casero. Claro está que no será público, sino que haremos que nuestra PC se comporte como si fuera un servidor web a nivel local, con el único propósito de probar nuestra página. .

Tanto en Windows 2000 como en XP Professional y algunas versiones de Vista poseen la habilidad “nata” de convertirse en servidores web con sólo instalar los Internet Information Server o IIS, como se les conoce comúnmente. Para instalarlas en 2000 y XP, sólo hay que ir al Panel de control, seleccionar Agregar o quitar programas e ir a la parte de Componentes de Windows. Marcamos la casilla correspondiente a los IIS, insertamos nuestro disco de instalación de XP y listo. En unos minutos, nuestra PC se convierte en un servidor web local.

iss01

Para saber si los IIS se encuentran correctamente instalados, basta con abrir Internet Explorer y escribir “http://localhost”. Si todo sale bien, veremos una página simple con la leyenda en inglés “It works”, o sea “Si funciona”. Sin embargo, los IIS se encuentran instalados, más no configurados para muchas cosas. Si nuestro sitio tiene sólo páginas en HTML, bastará con que copiemos todo el sitio en la carpeta predeterminada de los ISS, la cuál se encuentra, generalmente, en “C:\Inetpub\wwwroot”. Borra el contenido de esta carpeta, “wwwroot”, antes de hacer cualquier prueba con tu sitio. Una vez hecho eso, copia los archivos de tu web en “wwwroot”, abre la ventana de tu navegador y escribe la dirección del localhost. Esta vez, en lugar de ver la página simple, debes de ver tu página principal.

Sin embargo, si nuestro sitio ya contiene aplicaciones web en ASP o ASP. NET, necesitamos habilitar el Framework en los IIS para que las páginas “.asp” o “.aspx” funcionen correctamente.

Primero, instalaremos el Framework, ya sea el 2.0 o el 3.5, sea cual sea el caso, es necesario que sean las últimas versiones y con sus respectivos Service Packs. En el sitio web de Microsoft encontrarán la última versión en el Centro de descargas. No les pongo vínculo porque Microsoft tiene la mala manía de cambiar las direcciones cada que se les antoja. Aclaramos que si tienes instalado Visual Studio 2005 ó 2008, ya tienes las útlimas versiones disponibles y no es necesario descargar o instalar nada más.

Abre una ventana de la línea de comandos. O sea, Inicio, click en Ejecutar y Enter. Luego, escribir “cmd” y Enter. Ya en la ventana, navegar hasta la siguiente ubicación “C:\Windows\Microsoft.NET\Framework\v2.0.50727”. Finalmente, ejecutar el siguiente programa con sus respectivos parámetros: “aspnet_regiis.exe –i –enable”. Después de unos segundos, el ASP estará habilitado en nuestro servidor casero. ¿Cómo saber si funciona? Vamos a Inicio, y damos clic con el botón secundario del ratón en Mi PC. En el menú, seleccionaremos la opción Administrar. Nos abre la Administración de equipos. Nos vamos a Servicios y Aplicaciones, luego a Servicios de Internet Information Server y finalmente damos un clic en Sitios web. Del lado derecho veremos que dice Sitio web predeterminado.

iss02

Damos clic con el botón secundario y nos vamos a la parte de Propiedades. Nos abrirá las propiedades de nuestro servidor. Vamos a la ficha ASP.NET y debe aparecer tal y como aquí:

iss03

Ahora ya podremos probar las aplicaciones de ASP que desarrollemos en nuestra computadora antes de subirlas a nuestro servidor web.

iss04
El ejemplo anterior de VWD corriendo en nuestro servidor local con IIS.

6 mar 2009

Trabajando con Visual Web Developer

Tal como les comenté en el post anterior, estos días he estado desarrollando algunos sitios web para clientes y amigos. En dos de esos sitios se utiliza el acceso a datos para consultar calificaciones.

Estas escuelas, el CPMA y otra que por el momento no puedo dar detalles, necesitaban que tanto los padres de familia como los alumnos puedan ver su información académica básica en línea. Para esta tarea, y dado que en ambos casos se manejan pocos registros, decidí usar ASP.NET en el Web Developer con bases de datos en Access.

Esto, además de hacer más fácil el desarrollo, permite que personas que no conozcan de programación o de SQL Server puedan actualizar los datos utilizando sólo Access y nada más. A continuación, un “how to” de como hacer un pequeño sitio con acceso a datos. Al final, podrán descargarlo desde el SkyDrive “EjemplosVisualBasic”, a un costado de está página.

Primero, creamos una base de datos desde Access. Cabe resaltar que el formato tiene que ser de Access 2000. Dentro de la base de datos, creamos una tabla llamada “1ero”, que contendrá las calificaciones del primer año. A continuación pongo el nombre de los campos y el tipo de valor de cada uno.

 

Campo Valor
ncontrol Número
materia1 Texto
materia2 Texto
materia3 Texto
materia4 Texto
materia5 Texto

 

En todos los casos se maneja texto dado que no vamos a realizar operaciones ni cosas complicadas, todo es una simple búsqueda en SQL, la cuál veremos más adelante. Te sugiero que rellenes la tabla con registros. El campo ncontrol es muy importante, ya que la búsqueda se realizará utilizando los registros que haya en dicho campo. Guardamos todo y cerramos Access. Ahora, nos pasamos al Visual Web Developer 2008.

Vamos al menú Archivo y seleccionamos la opción Nuevo sitio web. Ahí, le especificamos la ruta y el nombre del proyecto, en este caso, EjemploPechocho. En la parte de Lenguaje, especificamos que será Visual Basic.

asp01

Una vez que terminó de cargar, nos vamos al panel Explorador de soluciones. Ahí veremos diferentes archivos: Default1.aspx y Default1.aspx.vb, web.config y una carpeta llamada App_Data. Los dos primeros son el estilo de la página y el código en Visual Basic de esta, el archivo config guarda la configuración del sitio web y la carpeta App_Data almacena las bases de datos que se ocuparán en el proyecto. Ahí mismo copiamos o movemos nuestra base de datos de Access desde el Explorador de Windows y en VWD presionamos el botón actualizar en el Explorador de soluciones. Debe quedarte algo así:

asp02

Ahora, renombraremos el archivo Default1 con el botón secundario del ratón y le pondremos el nombre que deseemos. En este caso, 1ero. En este paso, haremos lo que quizá sea lo más pesado de hacer: el diseño de la página. Dado que es un proyecto de ejemplo, haremos un diseño sencillo. Si vas a utilizar imágenes para tu página, estás tienen que estar en la raíz del sitio y no en carpetas aparte. Al menos eso me hace a mí. Después de unos minutos, nuestra página queda así:

asp04

Como nota aclaratoria: tanto el encabezado como los controles están en tablas. Llega pasar que, si intentas cambiar el tamaño de una, se altera la otra al mismo tiempo. Para evitar eso, selecciona la tabla que quieras cambiar de tamaño y en la parte de código borra la etiqueta <table xxx=”style1”> por simplemente <table>. Como ves, hay sólo dos controles. En la tabla siguiente pongo las propiedades de cada control:

 

Control

Propiedad

Textbox1 (ID) = txtControl
Button1 (ID) = cmdBuscar
Text = “Buscar calificaciones”

 

Bien, ya tenemos nuestra página, pero esta todavía no hace nada. Para que empiece a trabajar, tenemos que crear un enlace a datos. En el panel de herramientas, buscamos en el apartado Datos la opción Gridview. Arrastramos el control a la página o le damos doble clic y esto nos agrega una tabla simple, seguida de un SmartTag con sus propiedades más usadas. Seleccionamos la opción Elegir origen de datos y finalmente la opción Nuevo acceso a datos. Esto nos abre el asistente para el origen de datos.

asp05

Damos clic en Aceptar. Enseguida, el asistente nos pedirá el origen de la base de datos. Presionamos Examinar y seleccionamos App_Data donde veremos nuestra base de datos que creamos hace rato. Presionamos Aceptar y Siguiente. El siguiente paso es muy importante, ya que nos pregunta sobre la instrucción SELECT, la cual en SQL es la que se encarga de seleccionar los campos en los cuales trabajaremos. El * es un comodín que señala todos los campos. Seleccionaremos ese, ya que queremos mostrar todos los campos de la tabla 1ero.

asp06

En el siguiente cuadro podremos hacer una consulta de prueba, con el fin de verificar que la conexión a los datos y el acceso a ellos esté hecho correctamente. Si todo salió bien, damos clic en Finalizar.

asp07

Ahora, nuestra tabla en la página principal muestra los campos de la tabla 1ero de la base de datos de Access. Dado que se ve muy simplona, seleccionen la SmartTag de la tabla y seleccionen la opción Formato automático. Al igual que en Access, seleccionen el tipo de tabla que deseen usar en su proyecto. Denle Aceptar y todo debe quedar de la siguiente forma.

asp08

Para probar el sitio, presionen el botón Play como en cualquier aplicación del Visual Studio, o presionen en su teclado Ctrl+F5. Esto abrirá la página en ejecución en su navegador, al igual que creará un localhost virtual para ejecutar la aplicación web. Cuando ejecutes, te darás cuenta de que se ven todos los registros y que nuestro botón no sirve para nada. Bien, vamos a arreglar eso. Cierra la ventana del navegador y regresa a VWD. En vista diseño, dale doble clic a cualquier parte en blanco de la página. Esto nos llevará al archivo “1ero.aspx.vb” y a la propiedad Load_Page. Establece la propiedad del Gridview visible en False. Esto hará que la tabla sea invisible al momento de cargarla.

asp09

Regresa a la vista diseño y dale doble clic al botón. Aquí, en la propiedad Click del botón, establece el Gridview.visible a True. Regresa la vista diseño, y dale click al SmartTag del Gridview y selecciona el origen de datos. Abrirá el mismo asistente de hace un rato. Dale en siguiente y nos pondrá de nuevo en Configurar instrucción SELECT. Aquí es donde se pone divertido. Presiona el botón WHERE. Nos abrirá la caja de Agregar cláusula WHERE. En la parte de Columna, selecciona el campo que servirá de referencia para las búsquedas, en este caso, ncontrol. Automáticamente, el operador se establece en “=”. En origen, dale en Control. Se activa la parte de Propiedades del parámetro. En Id. de control, selecciona la caja de texto, txtControl. Abajo, nos generará automáticamente la expresión en SQL correspondiente. Presiona el botón Agregar y dicha expresión quedará agregada y lista para usarse.

asp010

Presiona Aceptar y Siguiente. Verás la caja donde podemos probar las instrucciones SQL que hemos creado. Presiona el botón Consulta de prueba. Esta vez, veremos que nos sale un cuadro de diálogo, pidiéndonos un valor para realizar la consulta. Introduce algunos de los números que estableciste al crear la base de datos. Si todo sale bien, al presionar Aceptar nos mostrará los resultados de dicha búsqueda.

asp011

Presiona Finalizar. Guarda todo y ejecuta de nuevo. Realiza de nuevo una búsqueda. Si todo salió bien, te debe aparecer la tabla mostrando sólo el registro que se buscó.

asp012

Eso es todo. Sin embargo, este sitio tiene un problema: prácticamente carga todos los registros de la tabla pero los mantiene ocultos hasta realizar la búsqueda. Si la tabla contiene pocos datos, no es problema. Pero si hablamos de más de 100 ó 200 registros, cargar todo eso y hacer la búsqueda tomaría bastante tiempo si es que subimos la aplicación a un sitio web. Si alguien sabe como resolver este problema, se lo agradecería de todo corazón, :D.

No duden en hacer preguntas o comentarios al respecto y espero que este “extenso” tutorial les haya servido. Por cierto: si descargan el archivo desde el SkyDrive, les agradecería que cualquier cosa al respecto la comenten aquí y no en el SkyDrive, ya que rara vez checo los comentarios que ahí se dejan.

Rastreando pedidos… con apps.

Quizá, ya sea por trabajo por que compraste algo en línea, alguna vez tendrás la necesidad de enviar un paquete o de rastrear alguno. No imp...