08 noviembre 2012

Generando un reporte con Access y Visual Basic 2010

imprimiendoHace tiempo había descrito cómo generar cosas impresas con Visual Basic 2010 (Impresiones con Visual Basic 2010) y también había mencionado como usar un objeto DataTable para accesar los registros de una tabla hecha en Access (Access y Visual Basic 2005).  En esta ocasión uní las dos ideas discutidas en esos posts para hacer un programa que genera un reporte de lo que tiene una tabla.  Por eso, antes de continuar, te recomiendo que leas ambos artículos antes de continuar.

Básicamente lo que hago es usar los controles PrintDocument, PrintDialog, PageSetupDialog y PrintPreviewDialog para manejar la impresión, y uso un DataAdapter y DataTable para obtener los datos a mostrar en el reporte.

El evento que hace toda la “magia” es PrintDocument1_PrintPage que se ejecuta cuando se ejecuta el método Print de este control.  Creo variables para definir un tipo de letra (fuente), un DataTable para almacenar los registros (dt), una cadena para almacenar la consulta SELECT que devuelve los registros que deseo mostrar (strSQL) y la forma en que se va a conectar a la base de datos (connStr), un DataAdapter para llenar el DataTable (dataAdapter), un entero para controlar el ciclo para mostrar los registros (i) y para controlar la posición vertical donde voy a escribir cada línea de texto (y).  Uso dataAdapter para llenar dt (DataTable).  Después de esto, me deshago de dataAdapter (con Dispose lo envío al país de nunca jamás).

Después de eso, creo un nuevo tipo de letra y lo asigno al objeto fuente (les recomiendo que en sus reportes usen un tipo de letra de espacio fijo como Courier New o algo similar), dibujo una imagen (que está contenida en un control llamado picLogo), escribo los títulos de las columnas (donde dice Nombre y Sueldo), asigno el valor inicial vertical para la primera línea (y=200) y termino haciendo un ciclo que avanza por cada registro y lo escribe en la página en las coordenadas dadas (en son fijas para el eje horizontal y la variable y controla las coordenadas verticales).  Aquí está el código fuente de ese evento:

00_-_PrintDocument1

El otro botón que sufre un poco de cambio en comparación a lo que describí en Impresiones con Visual Basic 2010 es el botón que abre la ventana de propiedades de la impresora, o PrintDialog1.  La diferencia radica en el IF que uso para asignarle un documento.  Si no lo hago, cuando se presiona el botón Imprimir de esa ventana, no hace nada.  Ahora, al  poner PrintDocument1.Print si presiona el botón Ok, estoy enviando el reporte a la impresora cuando presiona el botón Imprimir desde esta ventana.  Aquí está el código:

01_-_PropImpresora

Lo demás permanece más o menos igual que lo descrito en el artículo Impresiones con Visual Basic 2010.  Este es el botón que manda imprimir (conocido como btnImprimir):

03_-_btnImprimir

Y aquí está el código de los botones para ver las propiedades de página y la presentación preeliminar, respectivamente:

04_-_PropPag_y_PReview

Por si se confundieron con los nombres de los controles, les dejo esta imagen de la vista diseño con los nombres de cada control señalados:

05_-_Form1_diseño

La tabla que uso de Access (Personal) está constituido por los siguientes campos:

06__Tabla_Personal

Y el reporte que genera se ve así (esta es la ventana de presentación preeliminar):

07_-_Reporte_Final

Espero que este artículo les haya sido de utilidad.  ¡Saludos!

15 octubre 2012

People Power

Game-People-PowerSiendo hoy el Blog Action Day me dispuse a postear algo en mi blog (como hago cada año) relacionado al tema elegido.  Este año el tema es “The Power of We” con el fin de mostrar el poder que tenemos los ciudadanos, desde ayudar a personas cercanas con tareas cotidianas hasta participar en movimientos que buscan cambios que sean benéficos para la sociedad.

Estos últimos años han sido muy interesantes en lo que respecta a la participación ciudadana en pro de la sociedad.  Desde mayo del 2011 hasta septiembre del 2012 han surgido una variedad de protestas en España que han usado las redes sociales para buscar una nueva democracia.  A principios de este año (el 25/Enero para ser precisos), usuarios de Twitter en Egipto usaron esta red social para organizarse y lograr un cambio en el gobierno, en New York usuarios de la misma red lanzaron el Occupy Wall Street (un movimiento en contra de que los ricos y compañías que evadan impuestos) y en México fuimos testigos del movimiento YoSoy132 quienes son un grupo de universitarios que buscaban la elección informada en las elecciones de presidente este verano pasado.  ¡Vaya que la gente está reaccionando y las redes sociales han dado un poder a las masas (por lo menos los que están conectados a internet) sin igual!

Ahora la pregunta sería, ¿cómo ayudar a las personas para que realizaran acciones pacíficas más efectivas?  Como muchos saben, estoy convencido que los videojuegos son herramientas poderosas para educar y enseñar cosas complejas, y es por eso que en esta ocasión quiero hablarles del juego People Power: the Game of Civil Resistance.

Pero, ¿de qué trata este juego?  Tomas el papel de un líder de un movimiento popular y debes de luchar, de forma pacífica, contra enemigos que controlan la policía, el ejército, los medios de comunicación y la burocracia.  Lo único que tienes a tu favor es tu creatividad.  Es una oportunidad de unirte a una red de jugadores que comparten ideas sobre formas pacíficas de resistencia civil.  Fue desarrollado en conjunto con la International Center on Nonviolent Conflict, o sea que hay personas detrás del juego que están muy bien informadas y metidas en la resistencia civil pacífica.

Yo lo voy a comprar en estos días porque quiero analizarlo más a fondo, pero es otra prueba de que los videojuegos no paran de sorprendernos con su poder de crear simulaciones para entrenar/enseñar/desarrollar habilidades/etc. en casi cualquier tema o materia.

Por lo tanto, ahora ¡a jugar!

Escrito para el Blog Action Day 2012 (15/Oct) #poweofwe #bad12

14 octubre 2012

Insertando datos en Access 2010 desde Visual Basic .net

En varios lugares de mi blog he explicado como mostrar datos de una tabla de Access en Visual Basic .net: puedes mostrar los datos en el ambiente de Visual mostrarlo en cajas de texto y buscar registros y mostrarlo en cajas de texto.  Una vez inserté un registro, pero no cambiaba de valor, solo insertaba el mismo registro siempre.  En esta ocasión hice un programa (que fue inspirado por el post del blog Relaciones Informáticas) que permite que usuarios llegue, ingresen su clave (o número de nómina o como le quieran llamar) y el programa registra su asistencia en una tabla hecha con Access 2010.

Aquí presento el diseño de la tabla, llamada Registro, que está en un archivo llamado Asistencia.accdb.  Si no sabes cómo crear una base de datos en Access o una tabla en vista diseño, fíjate en la primera parte de este post.  La tabla tiene estos registros y lo copié en la carpeta bin\Debug que está en la carpeta de la solución:

00_-_Tabla_Registro

En Visual Basic hice un nuevo proyecto que tiene una Label que dice “Escriba su clave”, una caja de texto llamado txtClave (que es donde van a teclear su número de empleado), dos labels donde mostrará la fecha y hora actual (llamadas lblFecha y lblHora respectivamente) y dos botones: una para registrar la asistencia (btnRegistra) y otra para salir (btnSalir).  También tiene un Timer (llamado Timer1) para actualizar la fecha y hora cada segundo (su propiedad Interval = 1000).  Así se ve la ventana en la vista diseño (están seleccionadas las dos etiquetas que tienen la fecha y hora: como están sin texto, si no las selecciono no se ven):

01_-_Form1_diseño

Ahora vamos con el código que lo hace funcionar.  Al principio de todo, aun antes del Public Class Form1, escribí lo siguiente:

02_-_Imports

Luego justo abajo del Public Class Form1 declaro el objeto que va a hacer la conexión con la base de datos y la que me va a permitir enviar comandos SQL a la tabla:

03_-_Dim_coc_y_com

En el Form_Load creo el objeto de conexión y arranco Timer1 para que muestre la fecha y hora en la ventana:

04_-_Form_Load

La variable con pone el ConnectionString de la conexión, es decir, le dice cómo se va a conectar a la base de datos y qué archivo de Access va a accesar (valga la redundancia).  Para archivos de Access 2010 siempre va a ser igual la primera parte (Provider=Microsoft.ACE.OLEDB.12.0;Data Source=) y después del Data Source= hay que indicar en dónde está el archivo que desea usar.  En este caso uso la propiedad Application.StartupPath que nos dice en qué carpeta se encuentra el archivo EXE de la aplicación (por eso copié la base de datos a la carpeta ) seguido de una diagonal invertida y el nombre del archivo de Access.

El siguiente código se encarga de insertar un nuevo registro en la tabla con la clave del usuario (que escribió en la caja de texto txtClave), la fecha y la hora actual.  Aquí pongo el código y abajo explico lo que sucede:

05_-_btnRegistra

Declaro dos variables: fecha y hora. En la fecha pongo la fecha actual (usando el método Date del objeto Now) y en hora creo una cadena con la hora actual.  Uso el bloque Try…Catch porque al trabajar con archivos en general y con bases de datos en particular, se puede tener muchos tipos de errores que causen que tu programa truene (alguien borró el archivo, alguien lo abrió en modo diseño, etc.).  Comienzo abriendo la conexión (conConexion.Open) y creo un nuevo objeto OleDbCommand.  A este objeto (llamado cmdCommand) comienzo por inicializar algunas propiedades para que pueda funcionar: la propiedad Connection que indica la conexión por medio de la cual se va a comunicar con la tabla, CommandText que contiene la instrucción SQL que va a ejecutar (si te fijas, armé una cadena con los datos de las cajas de texto y etiquetas), ExecuteNonQuery que ejecuta el comando (siempre y cuando no sea una consulta, o sea que no sea un SELECT) y Close que cierra el objeto.

Para finalizar, este es el código del Timer1_Tick que se ejecuta cada segundo para actualizar fecha y hora en las etiquetas de la ventana y el del botón de Salir (btnSalir) que se encarga de eliminar la conexión y termina la ejecución del programa:

06_-_Timer_y_btnSalir

Al ejecutarlo, se ve así:

07_-_Ejecución_1     08_-_Ejecución_2

Como verás, de forma muy similar también se pueden llevar a cabo instrucciones SQL como el DELETE y UPDATE.  Espero que les haya sido útil.

27 septiembre 2012

La OMIJAL 2013 está aquí

Si te gusta programar, vives en Jalisco y quieres tener una oportunidad de compartir y competir sanamente, te invito a que te inscribas en la OMIJAL: la Olimpiada Mexicana de Informática – Jalisco.  Es una experiencia interesante (también hay muchos premios interesantes).  Los ganadores (que conforman la selección Jalisco), compiten a nivel nacional y pueden llegar hasta el concurso internacional.

Las inscripciones se cierran el 23/Noviembre, pero no lo dejes hasta el final.  Para inscribirte y obtener más información, visita la página de la OMIJAL en www.omijal.org.  Aquí les dejo el poster.  Ojalá se animen.

poster_omijal2013

25 septiembre 2012

Los Videojuegos como espacios de aprendizaje

Solo quería compartirles que le día de mañana (26/Sep/2012) estaré en una entrevista en el programa “A medio camino” en el canal de iTópica a las 3pm, la estación de radio interno del ITESO.  Después la grabación estará disponible en el blog de podcasts del departamento de Ciencias de la Educación de la misma universidad, por si no lo pudieron escuchar y les interesa.

¡Saludos!

IN_26-09

19 septiembre 2012

Algoritmos STL

Hace tiempo escribí sobre la librería STL y el uso del vector y después expliqué cómo usar iteradores para trabajar de forma más sencilla con los vectores.  Sin embargo, eso no basta.  El STL tiene muchos algoritmos que se pueden usar, así que hice un video que explica algunos de ellos.  Espero que les sea útil.

Video que explica los algoritmos de la STL

10 septiembre 2012

Los errores de Programación

Ante la furor que han causado los memes entre mis alumnos, estuve pensando en la forma de representar algo sencillo por medio de memes.  Una de las primeras cosas que comparto con los que están aprendiendo a programar son los tipos de errores que pueden cometer (para que se cuiden) y es un tema simple que creo que puede ser representado bien con memes porque permite asociar las reacciones que tendría un programador ante cada tipo de error.

Aquí se los comparto. Espero que les sea útil o por lo menos los haga sonreír Caluroso.

Errores-prog-memes

29 agosto 2012

Mis lecturas recientes: innovación y videojuegos

Esto de andar de vacaciones y luego incapacitado por una cirugía tiene varias cosas positivas.  Por lo pronto, leí 5 libros (y tengo otros 2 en la mira), pero quiero compartirles algunas de mis lectura que he hecho en este tiempo (principalmente los que creo que les interesarán a algunos amigos).


El primer libro que leí fue Women and Gaming: The Sims and 21st Century Learning escrito por James Paul Gee y Elisabeth Hayes. Los autores se están concentrando, no tanto en las mujeres que juegan los Sims, sino lo que sucede alrededor del juego. Junto con teoría sobre aprendizaje y videojuegos (recordemos que, como dijo Kurt Lewin, “no hay nada más práctico que una buena teoría), los autores narran la experiencia de varias mujeres y sus experiencias que van más allá del videojuego. Analizan la formación de comunidades que giran en torno al juego y que son lugares propicios para que los expertos ayuden a los novatos. Comparan la escuela con este tipo de comunidades y dan algunas líneas a seguir para que los alumnos/videojugadores alcancen aprendizaje significativo.

Eligieron historias de diferentes tipos de mujeres (desde una adolescentes hasta una señora enferma de 65 años) donde cada historia resalta un aspecto importante sobre aprendizaje que se da más allá del videojuego.

En mi propia investigación me había concentrado en ver el aprendizaje a la hora de jugar, pero este libro me abrió un nuevo horizonte: el ver cómo los jugadores se convierten en diseñadores y adquieren las habilidades para manejar de herramientas tecnológicas que le permiten aprender fuera del juego para crear artefactos y/o productos culturales fuera del juego fue novedoso. También permite ver el rol, o el “estilo” por llamarlo de algún modo, que tienen muchas mujeres al jugar.


El segundo libro que leí fue Where Good Ideas Come From: The Natural History of Innovation de Steven Johnson. Como se puede observar en el video que viene abajo, hace un análisis de los descubrimientos e invenciones más importantes de los últimos 100 años para descubrir los ambientes en los cuales se daban.

Es interesante el análisis, pero lo que disfruté de sobremanera fueron las narraciones sobre diferentes personajes, desde Charles Darwin hasta Tim Berners-Lee. Además hace un análisis de estas tendencias “creativas” o “innovadoras” desde el punto de vista biológico, encuentra especies que se comportan igual que como lo hacemos nosotros cuando queremos ser creativos.

Si estás de acuerdo con sus principios de innovación (personalmente me gustó su análisis y creo que anda en el camino correcto) excelente. Pero si no, de todos modos puedes disfrutar de las historias de diferentes inventos e inventores.  Algunas partes del libro me recordaban a mis clases de Producción Científica Contemporánea con el Dr. Alfonso Islas y de Comunicación Pública de la Ciencia con Carlos Enrique Orozco.



Otro libro que les quiero compartir es la diseñadora de videojuegos y académica Jane McGonigall llamado Reality Is Broken: Why Games Make Us Better and How They Can Change the World.

Mi primer acercamiento al trabajo de Jane McGonigall fue en el video que está abajo. Me areció un poco exagerado, pero en el libro fundamenta sus propuestas (me parece que de lo hace de manera bastante sólida, aunque no soy experto en psicología y algunas otras áreas de las que se fundamenta).

Su idea, básicamente, es que los videojuegos le proporcionan al jugador satisfacciones que no puede lograr en su vida “real” (para más de esto, pero desde un enfoque educativo, les recomiendo el libro Why Video Games are good for your soul de James Paul Gee) y esto lo estimula mucho, incluso para “aguantar” lo que tiene que vivir en su “realidad”. Su reto es el de llevar los elementos que hacen que el videojuegos sea “mejor” que la realidad a la vida cotidiana para que las personas sean más felices y plenas.

Sé que suena raro y loco pero el libro lo aborda bastante bien. Comienza analizando diversos videojuegos encontrando los motivos por lo que nos hacen sentir más felices o plenos al jugar, luego procede a describir su experiencia con algunos juegos (no todos son digitales) que se juegan en la vida cotidiana y que intentan hacernos sentir tan contentos y plenos en nuestra vida “real” como lo somos cuando estamos jugando. Y termina hablando de 10 juegos diseñados para ayudar a tener un mejor mundo (si, juegos para ayudar a curar cáncer, ayudar a frenar el calentamiento global, sembrar paz, terminar con la pobreza, etc.).

Hasta lo que he leído hasta ahora (me falta 1/3 parte del libro) lo que más me ha sorprendido son las diferentes maneras en que un videojuego te hace sentir más pleno y feliz, y es interesante ver como se pueden aplicar estas mismas reglas en la vida cotidiana, diseñando experiencias en el mundo “real” que tomen estos aspectos y hagan que nos sintamos mejor.


Aquí termino este post.  También leí una novela de C. S. Lewis (si, el mismo que escribió las Crónicas de Narnia) con su versión de la Divina Comedia, una novela sobre el cielo e infierno muy interesante con muchas verdades(llamado The Great Divorce) y un par de libros de Jorge Bucay, pero digamos que mi “yo” académico quería compartirles estos 3 títulos.  ¡Saludos!

26 agosto 2012

Visual Basic .net desde cero: creando una aplicación

He escrito (y grabado videos) sobre muchas cosas respecto a Visual Basic .net (versión 2005, 2008 y 2010, que es casi lo mismo).  Alguna vez hice un pequeño video mostrando como crear una aplicación desde cero (llamado “Un programa sencillo… para ir calentando” que adivina un número al azar entre 1 y 10), sin embargo creo que con el puro video no queda claro para muchos, así que en esta ocasión voy a mostrar, paso a paso, como crear un programa sencillo en Visual Basic 2010.

Paso 1. Instalar Visual Studio 2010 en tu computadora

Para este paso, lo único que necesitas es el DVD y mucha paciencia.  Ponlo a instalar, sal por un café, platica con los cuates, juega Xbox, etc.  Como en 5 horas termina.

Paso 2. Arrancar Visual Studio por primera vez

La primera vez que arrancas Visual Studio 2010, te va a preguntar el lenguaje en el que generalmente vas a trabajar.  En nuestro caso, vamos a decirle que generalmente programaremos en Visual Basic.  Si eliges otro lenguaje, no te preocupes: de todos modos puedes escribir programas en Visual Basic.

Paso 3. Crear un nuevo proyecto

Al arrancar Visual Studio, debería aparecerte una ventana como ésta:

00_-_Visual_Studio
0. Ventana principal de Visual Studio

Ahora haz clic sobre el botón de nuevo proyecto.  Recuerda que un proyecto para Visual Studio es toda la bola de archivos necesarios para crear un programa (o sea que es una carpeta con muchas archivos y subcarpetas).  Este es el botón:

01_-_Botón_nuevo_proyecto
1. Botón "Nuevo proyecto"

Y al presionarlo aparece esta ventana (o una muy parecida):

02_-_Proyecto_nuevo 2. Ventana "Nuevo proyecto"

Hay que elegir el lenguaje de la barra izquierda (Visual Basic), vamos a elegir Windows Forms Application (que hace un programa como los que estamos acostumbrados a ver en Windows) y le ponemos un nombre a la aplicación.  En el ejemplo que voy a hacer, solo cambio el nombre (lo demás está seleccionado como lo necesito: si el tuyo aparece un poco diferente, solo selecciona lo que aquí indiqué).  Mi aplicación se va a llamar 00-Ejemplo.  Nota: en algunas versiones te pregunta la carpeta donde lo vas a guardar.

Paso 5. Dibujar la interfaz gráfica para el usuario (GUI)

Aquí viene la parte divertida.  Después de escribir el nombre de mi proyecto (y en algunos casos la carpeta donde lo voy a guardar) aparece el ambiente de desarrollo como se ve en esta imagen (obviamente los cuadros y flechas no aparecen):

03_-_Ambiente_de_desarrollo
3. Ambiente de programación. Nota: la flecha que no tiene texto apunta hacia la ventana como la verá el usuario.

Antes de hablar de los pasos siguientes, quiero que te familiarices con el entorno de trabajo.  Aunque las cosas pueden cambiar (Visual Studio te da la oportunidad de configurar tu entorno de trabajo como quieras), generalmente a la izquierda está un panel con los diferentes controles que puedes dibujar en la ventana: botones, cajas de texto, etc.  Arriba está la barra de menú y algunos botones de funciones (como el de Nuevo Proyecto que presionamos antes).  De lado derecho, tenemos el explorador de soluciones (que muestra todos los archivos que componen el proyecto) y abajo una ventana que tiene las propiedades del objeto seleccionado (colores, etc.).  En la parte inferior hay una ventana donde me pueden aparecer mensajes (sobre todo a la hora de compilar y correr un programa) y en la parte central es el área de trabajo.

Para este ejemplo, solo voy a dibujar 3 controles: una etiqueta (conocidos como Label), una caja de texto (Textbox) y un botón (Button).  Pero antes que nada, voy a modificar la ventana principal al cambiar sus propiedades.  Para empezar, arriba de la ventana le va a aparecer el texto que dice “Form1” (como se ve en la figura).  Yo quiero cambiarlo para que diga “Saludos”.

04_-_Texto_Form1 4. Parte superior de la ventana que dice "Form1".

Para hacer esto hago clic sobre la ventana en la vista diseño y cambia la ventana de propiedades para mostrar las que se relacionan a la ventana (o Form).  Ahora busco la propiedad que se llama Text y le modifico el valor para que diga “Saludos”.

05_-_Propiedades_Text
5. Panel de propiedades con la propiedad Text seleccionado.

Una vez que escribo “Saludos” en lugar de “Form1”, mi ventana se ve así (en la vista diseño):

06_-_Texto_Form1
6. La ventana Form1 con el nuevo texto.

Ahora voy a cambiar propiedades de la ventana (Form1) para que ya no tenga botón de minimizar ni de maximizar.  Esto lo hago modificando las propiedades MinimizeBox y MaximizeBox respectivamente.  Al cambiar True (verdadero, o sea que sí tiene esa “caja”) por false (falso, que lo oculte) resuelvo la situación.  Aquí está la ventana con estas dos propiedades señaladas y abajo está la ventana ya sin cajas de minimizar ni maximizar.

07_-_Minimize_y_maximize
7. Panel de propiedades con MinimizeBox y MaximizeBox señaladas.

08_-_Form1_sin_min_ni_max
8. Ventana (Form1) sin los botones de minimizar ni maximizar.

Ahora voy a dejar la ventana por la paz y voy a dibujar la etiqueta.  Voy al panel de los controles (lado izquierdo) y selecciono la que dice Label como se muestra en la imagen:

09_-_Label_tool
9. Herramienta Label.

Luego hago clic sobre la ventana en el lugar donde quiero que quede…

10_-_Form1_con_Label
10. Form1 con una etiqueta (Label1).

Y en este momento ya tengo un control en mi ventana, llamado Label1, que contiene un texto.  Ahora, aprovechando que está seleccionado (y si no, solo haz clic sobre la etiqueta), voy a modificar su propiedad Text para que diga “Nombre” en lugar de “Label1”…

 11_-_Propiedad_Text_de_Label1
11. Form1 con una etiqueta (Label1) que dice "Nombre:".

De la misma manera voy a dibujar una caja de texto.  Selecciono la caja de texto del panel de controles (o herramientas) y lo dibujo sobre la ventana.  Generalmente a los controles que voy a programar me gusta cambiarles el nombre para no hacerme bolas, así que a este le cambio la propiedad (Name) para que diga txtNombre.  La parte txt me dice que es una caja de texto… si quieres profundizar en esto, busca la notación húngara.  Aquí hay imágenes con todo el proceso:

12_-_Form1_con_Label1_que_dice_Nombre 
12. Form1 con una etiqueta (Label1) que dice "Nombre:".

 13_-_Herramienta_Textbox
13. Herramienta TextBox.

 14_-_Form1_con_la_Textbox1
14. Form1 con Textbox.

 15_-_Textbox_propiedad_name
15. Propiedad (Name) de la Textbox.

De la misma manera dibujo un botón abajo de la caja de texto.  Aquí están las imágenes que describen paso por paso:

16_-_Herramienta_button
16. Herramienta Button.

17_-_Form1_con_botón_1
17. Form1 con el botón dibujado.

18_-_Name_es_btnSalir
18. Cambié la propiedad (Name) por btnSalir (antes decía Button1).

19_-_Propiedad_Text_del_button
19. Propiedad Text del botón.

20_-_Ventana_terminada
20. Form1 “terminada”.

Paso 6. Escribir el código (pa’ que haga algo)

Una vez que está todo “bonito”, es hora de que haga algo.  Vamos a programar los eventos de la ventana.  Un evento es algo que pasa: el mouse que hace clic sobre el botón, algo que se teclea en la caja de texto, etc.

Este programa va a dejar que el usuario escriba su nombre (o cualquier otro texto) en la caja de texto y al presionar el botón Salir, se despedirá.  Por lo tanto, el único evento que tengo que programar es el que se ejecuta cuando el usuario da clic sobre el botón Salir.  Así que le doy doble clic sobre el botón y el área de trabajo cambia para escribir código.  En este caso, al dar doble clic sobre el botón aparece una nueva pestaña en el área de trabajo:

21_-_Pestaña_código
21. Pestaña para escribir código del evento del botón.

Por lo pronto no le hagas caso al código que aparece, ya luego lo iremos hablando (o lo puedes ver en varios de mis posts sobre Visual Basic .net).  Por lo pronto, aparece el código listo para escribir lo que queremos que haga cuando el usuario haga clic sobre el botón.  Este es el código que escribí:

 22_-_Código
22. Pestaña para escribir código del evento del botón.

No te preocupes si no entendiste todas las instrucciones (esto es un primer acercamiento y poco a poco podrás ir profundizando en lo que hace cada cosa).  La instrucción MsgBox se encarga de abrir una ventana y mostrar un texto (bueno, puede hacer un poco más que eso, pero para empezar hace esto).  En medio escribo lo que quiero que diga, en este caso el texto “Adiós, “ seguido por el nombre que teclearon en la caja de texto (¿recuerdas que le cambiamos el nombre por txtNombre?).  El ampersand (&) sirve para unir dos textos: en este caso, el texto “Adiós, “ y el nombre tecleado.  Después de hacer esto, se encuentra la instrucción End que termina la ejecución del programa.

Paso 7. Guardar todo

Esto es sumamente importante.  Y no debí dejarlo hasta ahora: es algo que hay que hacer cada vez que se hace algún cambio.  Presiona el botón de guardar todo (Save All, también está disponible en el menú File):

23_-_Save_All
23. Botón Guardar todo.

Y aparece esta ventana:

24_-_Guardar
24. Ventana para guardar el proyecto.

Selecciona una carpeta (botón Browse) y, si es necesario, cambia el nombre.  Luego haz clic sobre el botón Save.  En las próximas ocasiones que presiones Save All ya no aparece esta ventana.

Paso 8. La ejecución

No, esta ejecución no tiene que ver con violencia, sino con ver si el programa hace lo que queremos que haga.  Para esto, presiona el botón para comenzar la depuración (Start debugging):

25_-_Start_debug
25. Botón Start debugging....

Y aparece nuestra aplicación:

26_-_Ejecutándose
26. Ejecución de la aplicación.

Escribo mi nombre y al presionar el botón Salir, aparece esta ventana:

27_-_Ejecución_2
27. Ventana de saludo.

Al presionar el botón Aceptar (o presionar la tecla Enter), se termina la ejecución y regreso a Visual Studio.

Sé que esto ha sido muy introductorio, pero espero que haya sido útil.  Si tienen dudas, dejen un comentario.  ¡Saludos!

Related Posts Plugin for WordPress, Blogger...