MANUAL DE VISUAL BASIC PARTE I



Documentos relacionados
UNIVERSIDAD LIBRE DE COLOMBIA ELECTIVA IV VISUAL BASIC GUIA No. 1

2_trabajar con calc I

UNIVERSIDAD LIBRE DE COLOMBIA FACULTAD INGENIERIA DE SISTEMAS ELECTIVA TECNICA II.NET Y SQL SERVER

GUÍA DE TRABAJO N 3 C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 10. Tema: APLICACIONES WINDOWS FORMS LENGUAJE C#

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Ejemplo de programa básico en Visual Basic. Option Explicit, Form, Dim, String, etc. (CU00310A)

C.F.G.S. DESARROLLO DE APLICACIONES INFORMÁTICAS. MÓDULO: Diseño y realización de servicios de presentación en entornos gráficos.

Día 2: Utilizando controles de datos en Visual Studio 2008.

Guía N 1: Fundamentos básicos(i)

NÚCLEO BÁSICO Nº 5: INTRODUCCIÓN A MICROSOFT WINDOWS XP. SESIÓN DE APRENDIZAJE Nº 5.1: ACCESORIOS DE WINDOWS XP: CALCULADORA, BLOCK DE NOTAS Y PAINT.

Pasos para crear un sitio web ASP.Net con el Visual Studio en cualquiera de sus versiones. Unidad 1. Conceptos [ASP.NET EN VISUAL STUDIO]

VISUAL BASIC 2010 RECONOCIMIENTO UNIDAD UNO

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

GUÍA DE TRABAJO GRADO 11 Programación de. Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

CAPÍTULO 2 INTERFASE VISUAL BASIC 6.0

MANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES

TEMA 2. CARACTERÍSTICAS DEL LENGUAJE VISUAL BASIC

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)

Formato para prácticas de laboratorio

Windows Journal en dos patadas

3_formato I. NOTA: al pegar unas celdas sobre otras no vacías, se borrará el contenido de estas últimas.

Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía.

MACROS Y FORMULARIOS

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

Uso del programa CALC

Soluciones propuestas

Finalmente, aprenderá a interceptar y a manejar muchos de los eventos comunes que tienen los componentes y los formularios de Windows Form.

REGISTRAR LOS SITIOS WEB MÁS INTERESANTES

RELACIÓN DE PRÁCTICAS DEL TEMA 2

MANUAL DE LA APLICACIÓN HELP DESK

Prerrequisitos El alumno debe conocer y dominar los aspectos básicos de programación.

Operación Microsoft Access 97

La ventana de Microsoft Excel

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE DE MEDELLÍN. FACULTAD NACIONAL DE MINAS Escuela de Sistemas

Guía rápida de Introducción a Windows Forms en C#.NET

Programación: QBASIC

LABORATORIO Nº 1 Sistemas de Información asociados a los Formularios en Excel

En este ejemplo también vamos a crear la capa Entidades que va a servir para modelar nuestra base de datos.

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

Curso de Visual Basic Lección 1 Area Interactiva CURSO DE. Visual Basic 6.0

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Clase Nº 9 OPERADOR PC. P á g i n a 1 HOJA DE CALCULO MICROSOFT EXCEL

Centro de Capacitación en Informática

Elaborado por: TSU Ronald Maza E_mail:

1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana

Curso de Visual Basic Lección 1 Area Interactiva -

Kaldeera Advanced Forms 2009 Guía del usuario

Enviar Felicitación Navideña por con Off. 2007

PROCEDIMIENTOS Y FUNCIONES DE LA PROGRAMACIÓN (VISUAL BASIC)

Guía de Aprendizaje No. 1

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS

NORMA 34.14(SEPA) 05/11/2013

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Modulo 1 El lenguaje Java

MANEJANDO FICHEROS Y CARPETAS

MANUAL TARIFICADOR A continuación encontrara un Paso a Paso de la instalación del tarificador.

Resolver triángulos en Visual Basic. Parte 3/3

Cuando crees tus propios documentos, puede ser que alguna

Web Services. Visual Basic 2005 Ejemplo de Web Services. Alumnos Colaboradores: Rosario Avendaño Mirta Frias Laura Langer

Creación de un Gráfico con OpenOffice.org Calc Presentación de los Datos Asistente para Gráficos

Módulo I - Word. Iniciar Word Finalizar Word Definición de elementos de pantalla Escribir texto en un documento El cursor...

ANEXO Windows 98. En el curso trabajaremos con Windows 98, el sistema operativo instalado en las computadoras del Laboratorio.

Operación de Microsoft Excel

Actividades con GeoGebra

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

Primeros Pasos INTRODUCCIÓN A APLICACIONES WINDOWS. Introducción

6.- Este software se instalara como una versión Demo con una duración de 25 días de uso. En el código de validación, se dejara la palabra Demo.

Tecnologías de la Información. Apuntes de programación en Visual Basic 6.0

Un icono es una representracion grafica para programas o documentos. Es comun colocar encima del escritorio iconos de los programas mas utilizados.

Nociones básicas de Windows: Organizando: El Explorador de archivos de Windows

CREAR USERFORMS. Silvia Mayoral USER-FORMS

Instrumentación Virtual con LabVIEW

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.

PowerPoint 2010 Manejo de archivos

MANUAL DE FACTURACIÓN TOUCH SCREEN

API. Administración Portuaria Integral, Veracruz. Manual de Usuario del software para generar la programación de conceptos de Obras...

LAS CONSULTAS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

MANUAL DE USUARIO. JNyARchiTech ALFONSO NEIL JIMÉNEZ CASALLAS MAYDA ALEXANDRA CARVAJAL VARGAS PONTIFICIA UNIVERSIDAD JAVERIANA

Creando un Sitio Web personal.

Proceso de Compra de Avisos Clasificados desde Internet

INFORMATICA VISUAL BASIC 2008

Manual Visual Paso a Paso

Trabajar con diapositivas

Tutorial Básico de vbscript

Que Es Una Computadora?

Uso de Visual C++ Pre-Practica No. 3

Operación de Microsoft Word

Aplicaciones didácticas en Internet: DREAMWEAVER Bloque 2


PRÁCTICAS DE GESTIÓN GANADERA:

Manual de Introducción a SIMULINK

6.1. Conoce la papelera

Quieres diseñar una página web y no sabes por dónde empezar? Puedes decantarte por utilizar Visual Web Developer.

ELABORACIÓN DE TABLEROS DINÁMICOS DE COMUNICACIÓN CON EL PROGRAMA EDITOR TICO

Colegio Agustiniano Campestre Amor y Ciencia: Educamos la mente y el corazón

Transcripción:

MANUAL DE VISUAL BASIC PARTE I

CAPÍTULO I... - 5 - VISUAL STUDIO 2010... - 5-1.1. REQUERIMIENTOS Y CARACTERÍSTICAS...- 5-1.2. DECLARACIÓN DE VARIABLES... - 5-1.3. CONCATENACIÓN DE CADENAS... - 5-1.4. INICIANDO VISUAL STUDIO 2010...- 6-1.5. CREAR UN NUEVO PROYECTO DE WINDOWS FORMS APPLICATION...- 8-1.6. ENTORNO DE VISUAL BASIC:...- 10-1.6.1. VENTANA EXPLORADOR DE PROYECTO... - 10-1.6.2. CUADRO DE HERRAMIENTAS... - 11-1.6.3. VENTANA DE PROPIEDADES... - 11-1.6.4. VENTANA EDITOR DE CÓDIGO...- 12-1.6.5. VENTANA DE DEPURACIÓN...- 12-1.6.6. VENTANA DEL FORMULARIO...- 12-1.7. TERMINOLOGÍA... - 13-1.7.1. OBJETOS...- 13-1.7.2. CLASE...- 13-1.7.3. PROPIEDADES...- 13-1.7.4. MÉTODOS...- 13-1.7.5. EVENTOS...- 13-1.8. ALGUNOS OBJETOS Y CONTROLES... - 13-1.9. ALGUNAS PROPIEDADES... - 13-1.10. ALGUNOS MÉTODOS... - 13-1.10.1. SET FOCUS (ENTREGAR EL ENFOQUE)...- 13-1.10.2. DRAG...- 13-1.10.3. MOVE...- 13-1.11. ALGUNOS EVENTOS...- 14-1.11.1. CLICK... - 14-1.11.2. DBLCLICK... - 14-1.11.3. DRAGDROP... - 14-1.11.4. KEYDOWN... - 14-1.11.5. KEYUP... - 14-1.11.6. KEYPRESS... - 14-1.11.7. MOUSEDOWN... - 14-1.11.8. MOUSEUP... - 14-1.11.9. MOUSEMOVE... - 14-1.11.10. CHANGE... - 14 - - 3 -

1.11.11. LOAD... - 14 - CAPITULO II... - 15 - ESTRUCTURA SELECTIVA... - 15-2.1. ESTRUCTURA DE SELECCIÓN SIMPLE IF... - 15 - EJERCICIOS... - 20 - RADIOBUTTON... - 27 - EJERCICIOS... - 29 - EJERCICIOS DE REFORZAMIENTO... - 36 - EJERCICIOS... - 59 - JUEGO DE TRES EN RAYA... - 68 - INCLUIR JUEGOS... - 72 - JUEGO DE BUSCAMINAS... - 72 - JUEGO DE MEMORIA... - 79 - OBJETO TIMER...- 89 - LEFT,HEIGHT,WIDTH,TOP...- 90 - MOVIENDO UN OBJETO CON KEYPRESS... - 93 - MOVIENDO UN OBJETO QUE LE SIGA AL MOUSE CON EL EVENTO MOUSEMOVE - 98 - MOVER UNA IMAGEN SOBRE UN OBJETO ARRASTRE... - 99 - RECEPCIONANDO UNA IMAGEN EN UNA MATRIZ EJEMPLO EL JUEGO DE TRES EN RAYA... - 101 - ARMAR UN ROMPECABEZAS... - 103 - CON ARRASTRE COPIAR EL TEXTO DE UN TEXTBOX A OTRO... - 106 - VENTANAS CON MENÚ... - 108 - REALIZACIÓN DE UN PROYECTO DE SOFTWARE... - 112 - EJERCICIOS... - 128 - OBJETO TOOLSTRIP CON IMAGELIST... - 135 - MOVIMIENTOS DE LAS PIEZAS DEL AJEDREZ... - 142 - - 4 -

VISUAL STUDIO 2010 1.1. REQUERIMIENTOS Y CARACTERÍSTICAS Visual Studio tiene reservadas determinadas palabras clave para su uso exclusivo. Por ejemplo, si se usan las palabras clave o reservadas en Visual Studio como If, while, etc.en una sesión de la declaración o programación del código, se estará indicando a visual Studio que debe realizar dicha función. Debe evitar usar una palabra clave reservada como nombre de un objeto. Si el nombre de un objeto coincide con una palabra clave, cada vez que se haga referencia al objeto debe aparecer entre identificadores delimitadores, como dobles comillas ( ) o corchetes ([ ]). Para hacer un comentario en una línea se puede poner una comilla simple antes de éste ( ). Ejm.: la declaración se hace así Visual Studio no distingue las mayúsculas de las minúsculas 1.2. DECLARACIÓN DE VARIABLES La declaración de las variables en Visual Basic 2005 se hace por medio de la instrucción Dim seguida del nombre de la constante y del tipo de datos que esta contendrá. Con una misma instrucción Dim podemos declarar más de una variable, incluso de tipos diferentes, tal como veremos a continuación. La siguiente línea de código declara una variable de tipo entero: Dim i As Integer Tal como hemos comentado, también podemos declarar en una misma línea más de una variable: Dim a, b, c, As Integer En este caso, las tres variables las estamos definiendo del mismo tipo, que es el indicado al final de la declaración. 1.3. CONCATENACIÓN DE CADENAS El operador de concatenación de cadenas (+) concatena valores de cadena. El resto de las operaciones con cadenas se controla mediante las funciones de cadena. - 5 -

1.4. INICIANDO VISUAL STUDIO 2010 Para iniciar el trabajo con Visual seguiremos los siguientes pasos: Buscamos el icono de Microsoft Visual Studio 2010 en el escritorio y hacemos doble clic. Podemos escribir la siguiente dirección en el cuadro Ejecutar: C:\Program Files (x86)\microsoft Visual Studio 10.0\Common7\IDE\devenv.exe y pulsar ENTER. Es la ruta que adquiere el programa de Visual Studio 2010 en la instalación estándar. Si no encontramos éste icono en el escritorio y no podemos ejecutar lo anterior hacemos lo siguiente: o Clic en el botón inicio. o Clic en todos los programas. o Clic en Microsoft Visual Studio 2010. - 6 -

o Y finalmente hacemos clic en Microsoft Visual Studio 2010. Esperamos que cargue Observamos el Entorno de Visual Studio 2010. - 7 -

1.5. CREAR UN NUEVO PROYECTO DE WINDOWS FORMS APPLICATION Para crear un nuevo proyecto hacemos clic primero en File (Archivo). Luego hacemos clic en New Project (Nuevo Proyecto). Clic en Visual Basic Seguidamente hacemos clic en Windows Forms Application. - 8 -

Finalmente hacemos clic en OK. Podemos observar la Form1 donde se trabajará en modo de diseño. Y también se trabajará programando como en la siguiente ventana, para empezar a programar: - 9 -

1.6. ENTORNO DE VISUAL BASIC: Después de haber creado un Proyecto de Windows Forms Application, se mostrará la ventana de Visual Basic: 1.6.1. VENTANA EXPLORADOR DE PROYECTO CTRL+R, CTRL+ALT+L - 10 -

1.6.2. CUADRO DE HERRAMIENTAS CTRL+ALT+X 1.6.3. VENTANA DE PROPIEDADES F4-11 -

1.6.4. VENTANA EDITOR DE CÓDIGO F7 1.6.5. VENTANA DE DEPURACIÓN CTRL+G 1.6.6. VENTANA DEL FORMULARIO SHIFT+F7-12 -

1.7. TERMINOLOGÍA 1.7.1. OBJETOS Instancia de la clase, tiene propiedades atributos. 1.7.2. CLASE Concepto, idea, las características y comportamientos comunes de los objetos. 1.7.3. PROPIEDADES Características de los objetos, calificativo. 1.7.4. MÉTODOS Se programa. 1.7.5. EVENTOS Es una acción que se aplica a los objetos. 1.8. ALGUNOS OBJETOS Y CONTROLES Formularios (Form) Botones de comando (Button) Etiquetas (Label) Cuadros de textos (TextBox) CheckBox RadioButton ListBox 1.9. ALGUNAS PROPIEDADES Name (nombre) Caption (título) Text (texto) Font (fuente) Fore color (color de primer plano) Backcolor (color de fondo) Enabled (disponible) 1.10. ALGUNOS MÉTODOS 1.10.1. SET FOCUS (ENTREGAR EL ENFOQUE) 1.10.2. DRAG 1.10.3. MOVE Este método se utiliza para hacer que un objeto reciba el enfoque. Este método es uno de los más usados para los controles de Visual Basic 6.0. Inicia, termina o cancela una operación de arrastre de cualquier control, excepto loscontroles Line, Menu, Shape, Timer o CommonDialog. Se utiliza para mover un control o formulario, especificando sus coordenadas (Top, Left)y su tamaño (Width, Height). - 13 -

1.11. ALGUNOS EVENTOS 1.11.1. CLICK Al hacer click. Ocurre cuando el usuario presiona y suelta un botón del mouse sobre un objeto. 1.11.2. DBLCLICK Ocurre cuando el usuario presiona y suelta dos veces un botón del mouse sobre unobjeto. 1.11.3. DRAGDROP Ocurre como resultado de arrastrar y soltar con el mouse un control sobre un determinado tipo de objeto. 1.11.4. KEYDOWN 1.11.5. KEYUP Ocurre cuando el usuario mantiene presionada una tecla. Ocurre cuando el usuario termina la operación de pulsar una tecla. Se podría decir, que este evento ocurre precisamente al terminar el evento KeyDown. 1.11.6. KEYPRESS Ocurre como resultado de presionar y soltar una tecla. 1.11.7. MOUSEDOWN Ocurre cuando el usuario presiona un botón del mouse, pero a diferencia del evento. 1.11.8. MOUSEUP El evento MouseUp se produce cuando el usuario suelta el botón del mouse. Es un compañero útil a los eventos MouseDown y MouseMove. 1.11.9. MOUSEMOVE Este evento ocurre mientras el usuario mueve o desplaza el puntero del mouse sobre un objeto. 1.11.10. CHANGE Al cambiar 1.11.11. LOAD Al cargarse en memoria - 14 -

ESTRUCTURA SELECTIVA 2.1. ESTRUCTURA DE SELECCIÓN SIMPLE IF Calcular el descuento según las especificaciones Sueldo Descuento 350-1200 22% 1200-2500 19% 2500-5000 15% 5000-10000 9% 10000-A mas 3% Public Class Form2 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim vsuel, vdessoles, vneto As Double Dim vdespor As Integer If Not String.IsNullOrEmpty(TextBox1.Text) And Not String.IsNullOrWhiteSpace(TextBox1.Text) Then vsuel = TextBox1.Text If vsuel >= 350 Then If vsuel <= 1200 Then vdespor = 22 vdessoles = vsuel * 0.22 ElseIf vsuel <= 2500 Then vdespor = 19 vdessoles = vsuel * 0.19 ElseIf vsuel <= 5000 Then vdespor = 15 vdessoles = vsuel * 0.15 ElseIf vsuel <= 10000 Then vdespor = 9 vdessoles = vsuel * 0.09 ElseIf vsuel > 10000 Then vdespor = 3 vdessoles = vsuel * 0.03-15 -

Else vdespor = 0 vdessoles = vsuel End If vneto = vsuel - vdessoles TextBox2.Text = vdespor TextBox3.Text = vdessoles TextBox4.Text = vneto Else MessageBox.Show("EL SUELDO DEBE SER MAYOR O IGUAL A 350") MessageBox.Show("ARREGLALO") End If End If Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If Char.IsDigit(e.KeyChar) Or Asc(e.KeyChar) = 46 Or Asc(e.KeyChar) = 8 Then e.handled = False Else e.handled = True End If End Class - 16 -

"para que no acepte un char que no sea número" - 17 -

Notas Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim vn1, vn2, vn3, vnp As Double 'ingresar notas vn1 = CDbl(TextBox1.Text) vn2 = CDbl(TextBox2.Text) vn3 = CDbl(TextBox3.Text) vnp = (vn1 + vn2 + vn3) / 3 TextBox5.Text = vnp If vnp >= 10.5 Then TextBox5.ForeColor = Color.Blue MessageBox.Show("Aprobado") Else TextBox5.ForeColor = Color.Red MessageBox.Show("Desaprobado") End If Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'borrar las nota para ingresarlas nuevamente TextBox1.Text = Space(0) TextBox2.Text = Space(0) TextBox3.Text = Space(0) TextBox5.Text = Space(0) 'empezar a llenar desde la nota1 TextBox1.Focus() End Class - 18 -

- 19 -

EJERCICIOS Cambiar de color al formulario con el evento doubleclick. Programar el cambio del color de fondo del formulario al dar doble click. Cambia al dar doble click, cambia de azul a rojo y de rojo a azul. Public Class Form1 Private Sub Form1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDoubleClick If Me.BackColor = Color.Blue Then Me.BackColor = Color.Red ElseIf Me.BackColor = Color.Red Then Me.BackColor = Color.Blue End If End Class - 20 -

Resolviendo una ecuación con tres variables Public Class Form2 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim x, y, z, r As Double x = TextBox1.Text y = TextBox2.Text z = TextBox3.Text r = ((2 * Math.Pow(x, 4)) + 3 * Math.Pow(x, 2) * Math.Pow(y, 2)) / (y + (Math.Sqrt(4 * x * y * Math.Pow(z, 2))) - 2 * z) TextBox4.Text = r End Class - 21 -

Calcular promedios eliminando la menor nota Public Class Form3 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim n1, n2, n3, n4, v, p As Double n1 = TextBox1.Text n2 = TextBox2.Text n3 = TextBox3.Text n4 = TextBox4.Text v = n1 If n2 < v Then v = n2 End If If n3 < v Then v = n3 End If If n4 < v Then v = n4 End If p = (n1 + n2 + n3 + n4 - v) / 3 TextBox5.Text = p End Class - 22 -

Calculando el número mayor Public Class Form4 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim n1, n2 As Double n1 = TextBox1.Text n2 = TextBox2.Text If n1 > n2 Then MessageBox.Show("El número mayor es " & n1) Else MessageBox.Show("El número mayor es " & n2) End If End Class - 23 -

Contando la cantidad de checkbox seleccionados Public Class Form5 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim C As Integer C = 0 If CheckBox1.Checked Then C = C + 1 If CheckBox2.Checked Then C = C + 1 End If If CheckBox3.Checked Then C = C + 1 End If MessageBox.Show("Han sido seleccionados " + Str(C) + " checkbox") End If End Class - 24 -

Sueldos y sus descuentos - 25 -

Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim VSB, VDES As Double VDES = 0 VSB = CDbl(TextBox4.Text) If CheckBox1.Checked Then VDES = VDES + VSB * 0.11 End If If CheckBox2.Checked Then VDES = VDES + 15 End If If CheckBox3.Checked Then VDES = VDES + CDbl(TextBox1.Text) End If TextBox2.Text = VDES TextBox3.Text = CStr(VSB - VDES) Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged TextBox1.Enabled = CheckBox3.Checked Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TextBox1.Enabled = False Private Sub TextBox1_EnabledChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.EnabledChanged TextBox1.Clear() End Class - 26 -

Sueldos y sus bonificaciones RADIOBUTTON Public Class Form2 Private Sub RadioButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton1.Click Dim SUEL, OTRO, T As Double SUEL = TextBox1.Text OTRO = SUEL * 0.1 T = SUEL + OTRO TextBox2.Text = OTRO TextBox3.Text = T 'MessageBox.Show("HOLA SOY EL RADIO BUTTON 1") Private Sub RadioButton2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton2.Click Dim SUEL, OTRO, T As Double SUEL = TextBox1.Text OTRO = SUEL * 0.2 T = SUEL + OTRO TextBox2.Text = OTRO TextBox3.Text = T 'MessageBox.Show("HOLA SOY EL RADIO BUTTON 2") Private Sub RadioButton3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton3.Click Dim SUEL, OTRO, T As Double SUEL = TextBox1.Text OTRO = SUEL * 0.35 T = SUEL + OTRO TextBox2.Text = OTRO TextBox3.Text = T 'MessageBox.Show("HOLA SOY EL RADIO BUTTON 3") End Class - 27 -

- 28 -

INTERFAZ: EJERCICIOS Public Class Form6 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form5.ShowDialog() Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Form1.ShowDialog() Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Form2.ShowDialog() Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Form3.ShowDialog() Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Form4.ShowDialog() 1. GENERAR NUMEROS ALEATORIOS Y COMPARARLOS Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Me.Close() End Class COMPARAR - 29 -

Public Class Form5 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim NUM1, NUM2 As Integer NUM1 = 1 + Math.Truncate(Rnd() * 12) NUM2 = 1 + Math.Truncate(Rnd() * 12) TextBox1.Text = NUM1 TextBox2.Text = NUM2 If NUM1 = NUM2 Then TextBox3.Text = " = " ElseIf NUM1 > NUM2 Then TextBox3.Text = " > " Else TextBox3.Text = " < " End If End Class - 30 -

2. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE SERIE: - 31 -

Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim X, I, TEMP As Integer Dim S As Double Dim CAD As String X = TextBox1.Text TEMP = 1 CAD = CStr(TEMP) S = 1 For I = 2 To X Step 1 TEMP = I CAD = CAD + ", " + CStr(TEMP) S = S + TEMP Next TextBox2.Text = CAD TextBox3.Text = S End Class 3. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE SERIE: - 32 -

Public Class Form2 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim X, I, TEMP As Integer Dim S As Double Dim CAD As String X = TextBox1.Text TEMP = 2 CAD = CStr(TEMP) S = TEMP For I = 2 To X Step 1 TEMP = I * 2 CAD = CAD + ", " + CStr(TEMP) S = S + TEMP Next TextBox2.Text = CAD TextBox3.Text = S End Class 4. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE SERIE: - 33 -

Public Class Form3 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim X, I, TEMP As Integer Dim S As Double Dim CAD As String S = 5 X = TextBox1.Text TEMP = 5 CAD = CStr(TEMP) For I = 1 To X - 1 Step 1 TEMP = TEMP + I CAD = CAD + ", " + CStr(TEMP) S = S + TEMP Next TextBox2.Text = CAD TextBox3.Text = S End Class 5. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE SERIE: - 34 -

Public Class Form4 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim X, I, TEMP As Integer Dim S As Double Dim CAD As String S = 2 X = TextBox1.Text * 2 TEMP = 2 CAD = CStr(TEMP) For I = 1 To X - 2 Step 2 TEMP = TEMP + I + 2 CAD = CAD + ", " + CStr(TEMP) S = S + TEMP Next TextBox2.Text = CAD TextBox3.Text = S End Class - 35 -

EJERCICIOS DE REFORZAMIENTO 1. X Y Z Calcular Resultado R = x 4 + xy 2 z + x 2 y + x 2 y 2 z 2 RESOLUCIÓN: EN MODO DE DISEÑO: EL CÓDIGO: Public Class Form1 Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim X, Y, Z, R As Double X = TextBox1.Text Y = TextBox2.Text Z = TextBox3.Text R = (Math.Sqrt(3 * Math.Pow(X, 4) + 2 * X * Math.Pow(Y, 2) * Z) + 5 * Math.Pow(X, 2) * Y) / (3 + Math.Pow(X, 2) * Math.Pow(Y, 2) * Math.Pow(Z, 2)) TextBox4.Text = R End Class - 36 -

PANTALLAS (FUNCIONAMIENTO): 2. ÁNGULO COSENO SENO TANGENTE Calcular RESOLUCIÓN: EN MODO DE DISEÑO: - 37 -

EL CÓDIGO: PANTALLAS (FUNCIONAMIENTO): - 38 -

3. N1 N3 N2 N4 Calcular MAYOR MENOR RESOLUCIÓN: EN MODO DE DISEÑO: - 39 -

EL CÓDIGO: PANTALLAS (FUNCIONAMIENTO): - 40 -

4. SUELDO BRUTO BONIFICACIÓN DESCUENTO 10 % S/. 15 Otro Calcular TOTAL BONIFICACIÓN TOTAL DESCUENTO SUELDO NETO RESOLUCIÓN: EN MODO DE DISEÑO: - 41 -

EL CÓDIGO: Public Class Form2 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim suel, bon, desc, suelnet As Double desc = 0 suel = TextBox1.Text If CheckBox1.Checked Then desc = desc + suel * 0.1 End If If CheckBox2.Checked Then desc = desc + 15 End If If CheckBox3.Checked Then desc = desc + CDbl(TextBox3.Text) End If If RadioButton1.Checked Then bon = suel * 0.08 End If If RadioButton2.Checked Then bon = 500 End If If RadioButton3.Checked Then bon = CDbl(TextBox2.Text) End If suelnet = suel + bon - desc TextBox4.Text = bon TextBox5.Text = desc TextBox6.Text = suelnet End Class PANTALLAS (FUNCIONAMIENTO): - 42 -

5. LIBROS ORACLE ng (S/. 80.99) SQL SERVER 2008 (S/. 75.00) PHP Y MY SQL (S/. 65.50) Google APPS (S/. 150.00) Windows Server 2008 (S/. 180.75) Calcular Cantidad de Libros Monto a Pagar - 43 -

RESOLUCIÓN: EN MODO DE DISEÑO: EL CÓDIGO: Public Class Form3 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim c, monto As Double c = 0 monto = 0 If CheckBox1.Checked Then c = c + 1 monto = monto + 80.99 End If If CheckBox2.Checked Then c = c + 1 monto = monto + 75.0 End If If CheckBox3.Checked Then c = c + 1 monto = monto + 65.5 End If If CheckBox4.Checked Then c = c + 1 monto = monto + 150.0 End If If CheckBox5.Checked Then c = c + 1 monto = monto + 180.75 End If TextBox1.Text = c TextBox2.Text = monto End Class - 44 -

PANTALLAS (FUNCIONAMIENTO): - 45 -

6. Número 1 Número 2 OPERACIÓN RESPUESTA EN MODO DE DISEÑO: RESOLUCIÓN: - 46 -

EL CÓDIGO: Public Class Form4 Private Sub RadioButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton1.Click TextBox3.Text = CDbl(TextBox1.Text) + CDbl(TextBox2.Text) 'RadioButton1.Checked = False Private Sub RadioButton2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton2.Click TextBox3.Text = CDbl(TextBox1.Text) - CDbl(TextBox2.Text) Private Sub RadioButton3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton3.Click If TextBox2.Text = 0 Then MessageBox.Show("NO SE PUEDE DIVIDIR ENTRE 0") Else TextBox3.Text = CDbl(TextBox1.Text) / CDbl(TextBox2.Text) End If Private Sub RadioButton4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton4.Click TextBox3.Text = CDbl(TextBox1.Text) * CDbl(TextBox2.Text) End Class PANTALLAS (FUNCIONAMIENTO): - 47 -

7. Número 1 Número 2 Verificar - 48 -

RESOLUCIÓN: EN MODO DE DISEÑO: EL CÓDIGO: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text > TextBox2.Text Then Label3.Text = " > " ElseIf TextBox1.Text < TextBox2.Text Then Label3.Text = " < " Else Label3.Text = " = " End If End Class PANTALLAS (FUNCIONAMIENTO): - 49 -

8. NÚMERO AL AZAR (1-100) MOSTRAR SUMA DE NÚMEROS MÁXIMO NÚMERO MÍNIMO NÚMERO PROMEDIO - 50 -

RESOLUCIÓN: EN MODO DE DISEÑO: EL CÓDIGO: Public Class Form8 Private Sub Form8_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Randomize() Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim X, temp As Integer Dim S, MAY, MEN, i As Double Dim cad As String X = TextBox1.Text temp = CInt(1 + Rnd() * 100) S = temp cad = CStr(temp) MAY = temp MEN = temp For i = 2 To X temp = CInt(1 + Rnd() * 100) cad = cad + " - " + CStr(temp) S = S + temp MAY = Math.Max(MAY, temp) MEN = Math.Min(MEN, temp) Next TextBox2.Text = S TextBox3.Text = MAY TextBox4.Text = MEN TextBox5.Text = S / X TextBox6.Text = cad End Class - 51 -

PANTALLAS (FUNCIONAMIENTO): - 52 -

RESOLVER LAS SIGUIENTES SERIES EJERCICOS INTERFAZ PARA TODAS LAS SERIES: 1. 2, 5, 10, 17, 26,... Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim s, c, t, nt, incre As Integer s = 0 c = 1 t = 2 nt = TextBox1.Text incre = 3 While c <= nt Label4.Text = Label4.Text + CStr(t) If c <= nt Then Label4.Text = Label4.Text + ", " s = s + t t = t + incre c = c + 1 incre = incre + 2 End If End While TextBox2.Text = s End Class - 53 -

2. 2, -4, 6, -8, 10, -12,... Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim s, c, t, nt As Integer s = 0 c = 1 t = 2 nt = TextBox1.Text End Class While c <= nt ' Label4.Text = Label4.Text + CStr(t) If c Mod 2 = 0 Then t = t * -1 End If Label4.Text &= CStr(t) If c < nt Then Label4.Text &= ", " If c = 10 Then Label4.Text &= Label4.Text + Chr(13) End If End If s = s + t t = Math.Abs(t) + 2 c = c + 1 End While TextBox2.Text = s - 54 -

3. -5, 10, -15, 20, -25, 30,... Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim s, c, t, nt As Integer s = 0 c = 1 t = 5 nt = TextBox1.Text End Class While c <= nt ' Label4.Text = Label4.Text + CStr(t) If c Mod 2 = 0 Then t = t * -1 End If Label4.Text &= CStr(t) If c < nt Then Label4.Text &= ", " If c = 10 Then Label4.Text &= Label4.Text + Chr(13) End If End If s = s + t t = Math.Abs(t) + 5 c = c + 1 End While TextBox2.Text = s - 55 -

////////////////TAREA/////////////////////// 1, 1, 2, 4, 7, 13, 24,... 4. Serie de Fibonacci: LOS PRIMEROS N NÚMEROS DE LA SERIE Y LA SUMA 1, 1, 2, 3, 5, 8, 13, 21,... Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim c, tant, tact, nt, temp, s As Integer c = 2 tant = 1 tact = 1 s = tant nt = TextBox1.Text Label1.Text = CStr(tant) While c <= nt Label1.Text = Label1.Text + ", " + CStr(tact) s = s + tact temp = tact tact = tant + tact tant = temp c = c + 1 End While TextBox2.Text = s End Class - 56 -

LISTBOX Public Class Form2 Dim I As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ListBox1.Items.Add(TextBox1.Text) Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox2.Text = ListBox1.Items.Count Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged TextBox3.Text = ListBox1.SelectedItem(ListBox1.SelectedIndex) TextBox3.Text = ListBox1.SelectedItem TextBox4.Text = ListBox1.SelectedIndex + 1 ListBox1.Items.RemoveAt(0) 'ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) End Class - 57 -

- 58 -

1. ALUMNOS: LISTA DE ALUMNOS: EJERCICIOS AGREGAR TOTAL DE ALUMNOS: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Trim(TextBox1.Text) = "" Then MessageBox.Show("ingresa un alumno") TextBox1.Focus() Else : ListBox1.Items.Add(TextBox1.Text) TextBox2.Text = ListBox1.Items.Count() TextBox1.Text = Space(0) TextBox1.Focus() End If End Class - 59 -

2. LIBROS Public Class Form2 Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ListBox1.Items.Add("SQL SERVER 2008") ListBox1.Items.Add("BASE DE DATOS AVANZADAS") ListBox1.Items.Add("ORACLE") ListBox1.Items.Add("VISUAL STUDIO 2010") ListBox1.Items.Add("OFICCE") ListBox1.Items.Add("MACROMEDIA FLASH MX") ListBox1.Items.Add("WINDOWS 2008") ListBox1.Items.Add("TIMERS") ListBox1.Items.Add("TEXTOS DE CUENTOS") ListBox1.Items.Add("HOJAS DE CALCUOLO") Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ListBox2.Items.Add(ListBox1.SelectedItem) ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ListBox1.Items.Add(ListBox2.SelectedItem) ListBox2.Items.RemoveAt(ListBox2.SelectedIndex) HAREMOS CLICK EN EL PRIMER BOTÓN ELIGIENDO EL LIBRO QUE DESEAMOS End COMPRAR; Class ASÍ PASARÁ A LA LISTA DE LIBROS POR COMPRAR - 60 -

CUANDO NOS EQUIVOQUEMOS EN ELEGIR UN LIBRO HAREMOS CLIC EN EL SEGUNDO BOTÓN ELIGIENDO EL LIBRO YA NO DESEADO, ENTONCES PASARÁ A LA LISTA DE LIBROS - 61 -

3. CODIGOS A001 A002 A003 A004 A005 A006 CÓDIGO NOMBRE ARTÍCULO PRECIO STOCK Public Class Form3 Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged TextBox1.Text = ListBox1.SelectedItem PictureBox1.Image = Image.FromFile("I" + CStr(ListBox1.SelectedIndex) + ".jpg") Select Case (ListBox1.SelectedIndex) Case 0 TextBox2.Text = "laptop" TextBox3.Text = "2800" TextBox4.Text = "5" End Select End Class Case 1 TextBox2.Text = "teclado" TextBox3.Text = "250" TextBox4.Text = "105" Case 2 TextBox2.Text = "mouse" TextBox3.Text = "100" TextBox4.Text = "50" Case 3 TextBox2.Text = "monitor" TextBox3.Text = "560" TextBox4.Text = "85" Case 4 TextBox2.Text = "CPU" TextBox3.Text = "560" TextBox4.Text = "85" Case Else TextBox2.Text = "otrito" TextBox3.Text = "560" TextBox4.Text = "85" - 62 -

- 63 -

4. Public Class Form4 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim n1, n2, n3 As Integer Dim saldo As Integer n1 = (Math.Truncate(Rnd() * 5)) n2 = (Math.Truncate(Rnd() * 5)) n3 = (Math.Truncate(Rnd() * 5)) PictureBox1.Image = Image.FromFile("I" + CStr(n1) + ".jpg") PictureBox2.Image = Image.FromFile("I" + CStr(n2) + ".jpg") PictureBox3.Image = Image.FromFile("I" + CStr(n3) + ".jpg") If n1 = n2 = n3 Then MessageBox.Show("Ganaste!!!") ElseIf n1 = 0 And n2 = 0 And n3 = 0 Then MessageBox.Show("ganaste!!!" + CStr(100)) ElseIf n1 = 0 And n2 = 0 And n3 = 2 Then MessageBox.Show("ganaste!!!" + CStr(50)) ElseIf n1 = 2 And n2 = 3 And n3 = 1 Then MessageBox.Show("ganaste!!!" + CStr(25)) ElseIf n1 = 1 And n2 = 1 And n3 = 5 Then MessageBox.Show("ganaste!!!" + CStr(900)) End If saldo = 50 saldo = saldo - 1 saldo = saldo Label6.Text = saldo End Class - 64 -

- 65 -

5. Public Class Form3 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim N1, N2 As Integer N1 = (Math.Truncate(Rnd() * 11) + 1) N2 = (Math.Truncate(Rnd() * 11) + 1) End Class PictureBox1.Image = Image.FromFile("C" + CStr(N1) + ".png") PictureBox2.Image = Image.FromFile("C" + CStr(N2) + ".png") If N1 > N2 Then Label1.Text = " > " ElseIf N1 < N2 Then Label1.Text = " < " Else Label1.Text = " = " End If - 66 -

- 67 -

El Tres en Raya es un juego muy popular. JUEGO DE TRES EN RAYA Objetivo: El objetivo de este juego es lograr formar una línea recta con X o 0 en forma horizontal, vertical o diagonal. Reglas: Se puede jugar solamente entre dos personas X y 0. Se seleccionará aquel que empiece primero x o 0. Después de hacer clic en las celdas en los diferentes turnos de cada jugador. Ganará aquel que haya cumplido con el objetivo del juego, iniciando así otro juego. Juego en Visual Basic: Modo Diseño: Modo de programación o ejecución Public Class Form1 Dim nj As Integer Dim c As Integer Sub REINICIAR() Dim OBJ As Control For Each OBJ In Me.Controls If TypeOf OBJ Is PictureBox Then Dim IMG As PictureBox OBJ.Tag = "" IMG = OBJ IMG.Image = Nothing End If 'MessageBox.Show(OBJ.Name) nj = 0 c = 0 RadioButton1.Enabled = True RadioButton1.Checked = True RadioButton2.Checked = False RadioButton2.Enabled = True Next - 68 -

Private Sub C11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles C11.Click, C12.Click, C13.Click, C21.Click, C22.Click, C23.Click, C31.Click, C32.Click, C33.Click If nj <= 1 Then RadioButton1.Enabled = False RadioButton2.Enabled = False End If If sender.tag = "" Then If nj Mod 2 = 0 Then sender.image = Image.FromFile("I:\x.png") sender.tag = "x" Else sender.image = Image.FromFile("I:\o.png") sender.tag = "o" End If nj += 1 c += 1 Else MessageBox.Show("Celda Ocupada por: " + sender.tag) End If If C11.Tag = sender.tag And C12.Tag = sender.tag And C13.Tag = sender.tag Then MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO") REINICIAR() ElseIf C11.Tag = sender.tag And C21.Tag = sender.tag And C31.Tag = sender.tag Then MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO") REINICIAR() ElseIf C13.Tag = sender.tag And C23.Tag = sender.tag And C33.Tag = sender.tag Then MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO") REINICIAR() ElseIf C31.Tag = sender.tag And C32.Tag = sender.tag And C33.Tag = sender.tag Then MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO") REINICIAR() ElseIf C11.Tag = sender.tag And C22.Tag = sender.tag And C33.Tag = sender.tag Then MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO") REINICIAR() ElseIf C13.Tag = sender.tag And C22.Tag = sender.tag And C31.Tag = sender.tag Then MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO") REINICIAR() ElseIf C21.Tag = sender.tag And C22.Tag = sender.tag And C23.Tag = sender.tag Then MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO") REINICIAR() ElseIf C12.Tag = sender.tag And C22.Tag = sender.tag And C32.Tag = sender.tag Then MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO") REINICIAR() ElseIf c = 9 Then MsgBox("EL JUEGO TERMINÓ, NO HAY GANADOR", MsgBoxStyle.Critical, "DESACIERTO") REINICIAR() End If Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load nj = 1 c = 0 Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged nj = 0 Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged nj = 1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click REINICIAR() End Class - 69 -

Cómo funciona? Como determinado esta check el aspa o cruz, se empieza a jugar: Caso cuando gana X : Se puede elegir que empiece el círculo: - 70 -

Cuando se arrepienten del juego se puede reiniciar: Caso cuando gana la o : Caso que no hay ganador: - 71 -

INCLUIR JUEGOS JUEGO DE BUSCAMINAS 1. El Buscaminas es un juego aparentemente sencillo de memoria y lógica, además de ser uno de los juegos más populares. Objetivo: Encontrar los recuadros vacíos y evitar las minas. El tablero: Es una matriz de 6 x 6 (seis filas y seis columnas) y aleatoriamente están 6 minas en diferentes casilleros. Cómo jugar Las reglas del Buscaminas son simples: 1. Si se descubre una mina termina el juego. Se hace clic en el botón Reiniciar para empezar otro. 2. Si se desea reiniciar antes se hace clic en el botón Reiniciar. 3. Si se descubre una carta de un as corazones sigue el juego. En Visual Basic Modo de diseño Código: - 72 -

PublicClassBuscaminas DimV(36) AsInteger Dim I, N AsInteger SubREINICIAR() Dim OBJ AsControl ForEach OBJ InMe.Controls IfTypeOf OBJ IsPictureBoxThen Dim IMG AsPictureBox OBJ.Tag = "" IMG = OBJ IMG.Image = Nothing IMG.Enabled = True EndIf I = 0 N = 0 Next EndSub Subaleatorio() Randomize() Dim VAR, C AsInteger VAR = 1 While VAR > 0 VAR = 0 I = Math.Truncate(Rnd() * 36 + 1) 'genera un numero aleatorio en un rango de 1-36 For C = 0 To N If V(C) = I Then VAR += 1 EndIf Next EndWhile V(N) = I N += 1 EndSub PrivateSub C11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles C11.Click, C12.Click, C13.Click, C14.Click, C15.Click, C16.Click, C21.Click, C22.Click, C23.Click, C24.Click, C25.Click, C26.Click, C31.Click, C32.Click, C33.Click, C34.Click, C35.Click, C36.Click, C41.Click, C42.Click, C43.Click, C44.Click, C45.Click, C46.Click, C51.Click, C52.Click, C53.Click, C54.Click, C55.Click, C56.Click, C61.Click, C62.Click, C63.Click, C64.Click, C65.Click, C66.Click aleatorio() sender.tag = CStr(i) If I = 1 Or I = 2 Or I = 3 Or I = 4 Or I = 5 Or I = 6 Then sender.image = Image.FromFile("f:\cartas\0.png") MsgBox("MINA, PERDISTE", MsgBoxStyle.Critical, "DESACIERTO") DimobjAsControl ForEachobjInMe.Controls IfTypeOfobjIsPictureBoxAndobj.Tag = ""Then - 73 -

aleatorio() If I = 1 Or I = 2 Or I = 3 Or I = 4 Or I = 5 Or I = 6 Then DimimagenAsPictureBox imagen = obj imagen.image = Image.FromFile("f:\cartas\0.png") EndIf obj.tag = CStr(I) EndIf Next Else sender.image = Image.FromFile("f:\cartas\1.png") If N = 30 Then MsgBox("BIEN HECHO, GANASTE!!!", MsgBoxStyle.Information, "ACIERTO") REINICIAR() EndIf EndIf EndSub PrivateSub Button1_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handles Button1.Click REINICIAR() EndSub EndClass Pantallas de su funcionamiento Hacemos clic en Juego de Buscaminas - 74 -

Se abre El juego Hacemos clic en cualquiera de las celdas - 75 -

Se puede encontrar una mina - 76 -

Enseguida sale el mensaje de Mina, perdiste y aceptamos Aparecen las seis minas escondidas, hacemos clic en reiniciar para jugar de nuevo - 77 -

En otra jugada Otra jugada - 78 -

JUEGO DE MEMORIA 1. El Juego de Memoria, denominado también pescador es un juego, que como el nombre indica, se necesita tener buena memoria para poder ganarlo. Objetivo: Encontrar la pareja de una de las imágenes dentro de un grupo de imágenes. El tablero: Es una matriz de 4 x 4 (cuatro filas y cuatro columnas) y aleatoriamente están dispuestas 8 imágenes con sus respectivas parejas. Al hablar de parejas se hace mención a la misma imagen. Cómo jugar Las reglas del Juego de Memoria son las siguientes: a) Si se descubre la pareja de la imagen, previamente seleccionada; ambas se ocultan. Si se desea reiniciar antes se hace clic en el botón Reiniciar. b) Si no se descubre la imagen, ambas se voltean. En Visual Basic Modo de diseño - 79 -

Código: Public Class Memoria Dim ig1 As New PictureBox Dim ig2 As New PictureBox Dim imag(16) As PictureBox Dim vector1(16) As Integer Dim j, cclick As Integer Private Sub Memoria_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Randomize() cclick = 0 j = -1 Function buscarepet(byval ParamArray vector2() As Integer) As Integer 'ASIGNA UN NUMERO ALEATORIO (1-8) A CADA PICTUREBOX Dim cont, estado, numero As Integer 'QUE SÓLO SE REPITA DOS VECES estado = 0 j = j + 1 While estado < 1 numero = Int(Rnd() * 8) + 1 cont = 0 For k As Integer = 0 To j If numero = vector2(k) Then cont = cont + 1 End If Next If cont <= 1 Then vector2(j) = numero estado = 1 End If End While Return numero End Function Sub AsinaImagen(ByVal imagen As PictureBox) If imagen.tag Is Nothing Then imagen.tag = buscarepet(vector1) imagen.image = Image.FromFile(Application.StartupPath + "\IMAGS\" + CStr(imagen.Tag) + ".jpg") ' APPLICATION.STARTUPPATH PARA TENER LAS IMÁGENES EN EL MISMO PROYECTO imag(j) = imagen Else If imagen.backcolor <> Color.Black Then imagen.image = Image.FromFile(Application.StartupPath + "\IMAGS\" + CStr(imagen.Tag) + ".jpg") End If End If Private Sub P34_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles P11.Click, P12.Click, P13.Click, P14.Click, P21.Click, P22.Click, P23.Click, - 80 -

P24.Click, P31.Click, P32.Click, P33.Click, P34.Click, P41.Click, P42.Click, P43.Click, P44.Click Dim imgvalida As New PictureBox imgvalida = sender If imgvalida.image Is Nothing And imgvalida.backcolor = Color.Pink Then cclick = cclick + 1 End If If (cclick = 1) Then ig1 = sender AsinaImagen(ig1) ElseIf (cclick = 2) Then ig2 = sender AsinaImagen(ig2) Else If ig1.tag = ig2.tag Then ig1.backcolor = Color.Black ig2.backcolor = Color.Black ig1.image = Nothing ig2.image = Nothing ig1 = sender AsinaImagen(ig1) ElseIf ig2.image Is Nothing = False Then ig1.image = Nothing ig2.image = Nothing ig1 = sender AsinaImagen(ig1) End If cclick = 1 End If Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click For Z As Integer = 0 To j imag(z).backcolor = Color.Pink imag(z).image = Nothing imag(z).tag = Nothing vector1(z) = 0 Next j = -1 cclick = 0 End Class - 81 -

Pantallas de su funcionamiento Hacemos clic en Juego de Memoria Se abre El juego - 82 -

Hacemos clic en cualquiera de las celdas, se nos mostrará una imagen Hacemos clic en cualquiera de las celdas, para encontrar la pareja - 83 -

Como las imágenes so son las mismas, se voltearán, haremos click en otra Seguiremos buscando la imagen de la última mostrada, al encontrarla; ambas se ocultarán: - 84 -

Al hacer click en otra imagen, las imágenes encontradas anteriormente se ocultarán: Se seguirá la misma secuencia, hasta que se termine el juego: - 85 -

- 86 -

- 87 -

Al hacer click en el botón: Reiniciar Juego, se nos mostrará nuevamente la interfaz de inicio - 88 -

OBJETO TIMER OBJETO NO VISIBLE SE ACTIVA EN FUNCIÓN DEL TIEMPO METODOS: TIMER1.START() TIMER1.STOP() DETENER EL CRONOMETRO INTERVAL=INTERVALO DE TIEMPO ENTRE CADA EVENTO 1. CAMBIAR DE COLOR AL FORMULARIO. Public Class Form1 Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick If Me.BackColor = Color.Blue Then Me.BackColor = Color.Red Else Me.BackColor = Color.Blue End If Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Me.BackColor = Color.Blue If Button1.Text = "INICIAR" Then Timer1.Start() Button1.Text = "DETENER" Else Timer1.Stop() Button1.Text = "INICIAR" End If End Class - 89 -

HSCROLLBAR LEFT,HEIGHT,WIDTH,TOP - 90 -

Programando el mismo ejemplo con radiobutton: - 91 -

Public Class Form3 Dim direccion As Boolean Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load direccion = True HScrollBar1.Value = Timer1.Interval Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick If direccion = True Then If (PictureBox1.Width + PictureBox1.Left + 10) < Me.Width Then PictureBox1.Left = PictureBox1.Left + 100 Else direccion = False End If Else If PictureBox1.Left > 9 Then PictureBox1.Left = PictureBox1.Left - 100 Else direccion = True End If End If Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll Timer1.Interval = 10000 - HScrollBar1.Value TextBox1.Text = HScrollBar1.Value Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Button1.Text = "Iniciar" Then Timer1.Start() Button1.Text = "Parar" Else Timer1.Stop() Button1.Text = "Iniciar" End If End Class - 92 -

MOVIENDO UN OBJETO CON KEYPRESS MOVIENDO OBJETOS CON KEY DOW KEY PREVIEW=TRUE Mover un objeto con las letras: A=izquieda S=derecha W=arriba Z=abajo - 93 -

Se puede reemplazar el código: 'If Char.ToUpper(e.KeyChar) = "A" Then 'PictureBox1.Left -= 10 'ElseIf Char.ToUpper(e.KeyChar) = "S" Then 'PictureBox1.Left += 10 'ElseIf Char.ToUpper(e.KeyChar) = "W" Then 'PictureBox1.Top -= 10 'ElseIf Char.ToUpper(e.KeyChar) = "Z" Then 'PictureBox1.Top += 10 'End If Por un iif anidado: Public Class Form1 Private Sub Form1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress PictureBox1.Left -= IIf(Char.ToUpper(e.KeyChar) = "A", 1, 0) PictureBox1.Left += IIf(Char.ToUpper(e.KeyChar) = "D", 1, 0) PictureBox1.Top -= IIf(Char.ToUpper(e.KeyChar) = "W", 1, 0) PictureBox1.Top += IIf(Char.ToUpper(e.KeyChar) = "Z", 1, 0) End Class - 94 -

- 95 -

Moviendo una imagen con las flechas de desplazamiento Public Class Form1 Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown PictureBox2.Left -= IIf(e.KeyCode = Keys.Left, 10, 0) PictureBox2.Left += IIf(e.KeyCode = Keys.Right, 10, 0) PictureBox2.Top -= IIf(e.KeyCode = Keys.Up, 10, 0) PictureBox2.Top += IIf(e.KeyCode = Keys.Down, 10, 0) 'tambien se puede usar el siguiente código alternativo 'PictureBox2.Left -= IIf(e.KeyCode = 37, 10, 0) 'PictureBox2.Left += IIf(e.KeyCode = 39, 10, 0) 'PictureBox2.Top -= IIf(e.KeyCode = 38, 10, 0) 'PictureBox2.Top += IIf(e.KeyCode = 40, 10, 0) End Class - 96 -

- 97 -

MOVIENDO UN OBJETO QUE LE SIGA AL MOUSE CON EL EVENTO MOUSEMOVE Public Class EJER2 Private Sub EJER2_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove 'PictureBox1.Left = PictureBox1.Left + 10 'PictureBox1.Location = MousePosition Label1.Text = "X: " + CStr(e.X) + " y: " + CStr(e.Y) PictureBox1.Left = e.x PictureBox1.Top = e.y Private Sub PictureBox1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove Label2.Text = "X: " + CStr(e.X) + " y: " + CStr(e.Y) PictureBox1.Left += e.x PictureBox1.Top += e.y End Class - 98 -

MOVER UNA IMAGEN SOBRE UN OBJETO ARRASTRE Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'el picture 2 podrá recepcionar el objeto arrastrado PictureBox2.AllowDrop = True Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove PictureBox1.DoDragDrop(PictureBox1.Image, DragDropEffects.Copy) Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click ' clic compuesto por dos mouse down y mouse up Private Sub PictureBox2_DragDrop(sender As Object, e As System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragDrop PictureBox2.Image = e.data.getdata(dataformats.bitmap) Private Sub PictureBox2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragEnter If e.data.getdatapresent(dataformats.bitmap) Then e.effect = DragDropEffects.Copy Else e.effect = DragDropEffects.None End If End Class - 99 -

- 100 -

RECEPCIONANDO UNA IMAGEN EN UNA MATRIZ EJEMPLO EL JUEGO DE TRES EN RAYA - 101 -

Public Class Form2 Dim c As Integer Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 'LAS CELDAS podrán recepcionar el objeto arrastrado c11.allowdrop = True c12.allowdrop = True c13.allowdrop = True c21.allowdrop = True c22.allowdrop = True c23.allowdrop = True c31.allowdrop = True c32.allowdrop = True c33.allowdrop = True Private Sub PictureBox1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove PictureBox1.DoDragDrop(PictureBox1.Image, DragDropEffects.Copy) Private Sub PictureBox2_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles PictureBox2.MouseMove PictureBox2.DoDragDrop(PictureBox2.Image, DragDropEffects.Copy) Private Sub PictureBox2_Click(sender As System.Object, e As System.EventArgs) Handles PictureBox2.Click ' clic compuesto por dos mouse down y mouse up Private Sub c11_dragdrop(sender As Object, e As System.Windows.Forms.DragEventArgs) Handles c11.dragdrop, c12.dragdrop, c13.dragdrop, c21.dragdrop, c22.dragdrop, c23.dragdrop, c31.dragdrop, c32.dragdrop, c33.dragdrop sender.image = e.data.getdata(dataformats.bitmap) Private Sub c11_dragenter(sender As Object, e As System.Windows.Forms.DragEventArgs) Handles c11.dragenter, c12.dragenter, c13.dragenter, c21.dragenter, c22.dragenter, c23.dragenter, c31.dragenter, c32.dragenter, c33.dragenter If e.data.getdatapresent(dataformats.bitmap) Then e.effect = DragDropEffects.Copy Else e.effect = Not (DragDropEffects.None) End If End Class - 102 -

ARMAR UN ROMPECABEZAS - 103 -

Public Class Form3 Dim var As Integer Dim objeto As PictureBox Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load PictureBox5.AllowDrop = True PictureBox6.AllowDrop = True PictureBox7.AllowDrop = True PictureBox8.AllowDrop = True Private Sub PictureBox5_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox5.DragDrop, PictureBox6.DragDrop, PictureBox7.DragDrop, PictureBox8.DragDrop sender.image = e.data.getdata(dataformats.bitmap) Private Sub PictureBox5_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox5.DragEnter, PictureBox6.DragEnter, PictureBox7.DragEnter, PictureBox8.DragEnter If e.data.getdatapresent(dataformats.bitmap) Then If sender.tag = var Then e.effect = DragDropEffects.Copy ' objeto.image = Nothing End If End If Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove, PictureBox2.MouseMove, PictureBox3.MouseMove, PictureBox4.MouseMove sender.dodragdrop(sender.image, DragDropEffects.Copy) var = CInt(sender.tag) objeto = sender End Class - 104 -

- 105 -

CON ARRASTRE COPIAR EL TEXTO DE UN TEXTBOX A OTRO Public Class Form4 Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TextBox1.AllowDrop = True Private Sub TextBox2_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox2.MouseMove If TextBox2.Text = "" Then Else : TextBox1.DoDragDrop(TextBox2.Text, DragDropEffects.Copy) End If Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop sender.text = e.data.getdata(dataformats.text) Private Sub TextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter If TextBox2.Text = "" Then Else If e.data.getdatapresent(dataformats.text) Then e.effect = DragDropEffects.Copy Else e.effect = DragDropEffects.None End If End If TextBox2.Text = "" TextBox2.Focus() End Class - 106 -

- 107 -

VENTANAS CON MENÚ Para llamar a un aformulario Dim FM1 As New consulta2 FM1.MdiParent = Me 'FM1 PERYENECE A UN FORM MDI Y SU PADRE ES ME.FORM1 FM1.Show() Para cerrar un formulario que está abierto con una opción se escribe el siguiente código Me.Close() Public Class Form1 Private Sub ProductosPorCategoriaToolStripMenuItem_Click(ByVa l sender As System.Object, ByVal e As System.EventArgs) Handles ProductosPorCategoriaToolStripMenuItem.Click Dim FM1 As New consulta1 FM1.MdiParent = Me 'FM1 PERYENECE A UN FORM MDI Y SU PADRE ES ME.FORM1 FM1.Show() Private Sub ClientesPorCiudadToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ClientesPorCiudadToolStripMenuItem.Click Dim FM1 As New consulta2 FM1.MdiParent = Me 'FM1 PERYENECE A UN FORM MDI Y SU PADRE ES ME.FORM1 FM1.Show() Private Sub SALIRToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SALIRToolStripMenuItem1.Click Me.Close() Private Sub SALIRToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Un formulario consulta1 sin codigo - 108 -

Un formulario consulta20 sin codigo Funcionamiento - 109 -

- 110 -

- 111 -

REALIZACIÓN DE UN PROYECTO DE SOFTWARE Empezaremos con crear el programa: Crear la ventana principal menú - 112 -

Public Class Form1 Private Sub CLOUDCOMPUTINGToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CLOUDCOMPUTINGToolStripMenuItem.Click Dim frn As New Form2 frn.mdiparent = Me frn.show() CLOUDCOMPUTINGToolStripMenuItem.Enabled = False Private Sub WIFIToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WIFIToolStripMenuItem.Click Dim frn As New Form3 frn.mdiparent = Me frn.show() WIFIToolStripMenuItem.Enabled = False Private Sub VideoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VideoToolStripMenuItem.Click Dim frn As New Form4 frn.mdiparent = Me frn.show() VideoToolStripMenuItem.Enabled = False Private Sub BISNESSINTELLIGENCEToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BISNESSINTELLIGENCEToolStripMenuItem.Click Dim frn As New Form5 frn.mdiparent = Me frn.show() BISNESSINTELLIGENCEToolStripMenuItem.Enabled = False Private Sub CASCADAToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CASCADAToolStripMenuItem.Click Me.LayoutMdi(MdiLayout.Cascade) Private Sub HORIZONTALToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HORIZONTALToolStripMenuItem.Click Me.LayoutMdi(MdiLayout.TileHorizontal) Private Sub VERTICALToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VERTICALToolStripMenuItem.Click Me.LayoutMdi(MdiLayout.TileVertical) Private creando Sub SALIRToolStripMenuItem_Click(ByVal los formularios sender As System.Object, ByVal e As System.EventArgs) o De Handles la conferencia SALIRToolStripMenuItem.Click Cloud Computing Me.Close() Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.MenuStrip1.MdiWindowListItem = VENTANAToolStripMenuItem End Class - 113 -

Public Class Form2 Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Form1.CLOUDCOMPUTINGToolStripMenuItem.Enabled = True Try PictureBox1.Image = Image.FromFile("cloud.png") Catch ex As Exception MessageBox.Show(ex.Message) End Try Try o Un formulario RichTextBox1.LoadFile("Compu.rtf") para nvegar por el internet (Wifi) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Class - 114 -

Public Class Form3 Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'WebBrowser1.Navigate("www.google.com") Form1.WIFIToolStripMenuItem.Enabled = True Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate(TextBox1.Text) End Class - 115 -

o Un formulario donde se pueda observar el video Public Class Form4 Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load AxWindowsMediaPlayer1.URL = "Wildlife.wmv" Form1.VideoToolStripMenuItem.Enabled = True o Un formulario para la conferencia bisness intelligence End Class - 116 -

Public Class Form5 Private Sub Form5_Disposed(sender As Object, e As System.EventArgs) Handles Me.Disposed Form1.BISNESSINTELLIGENCEToolStripMenuItem.Enabled = True End Class - 117 -

Funcionamiento Pantalla principal Escogiendo la opción bisness Intelligent - 118 -

Escogiendo la opción Cloud computing - 119 -

Escogiendo la opción wifi - 120 -

Escogiendo la opción video - 121 -

Escogiendo la opción ventana cascada - 122 -

Escogiendo la opción ventana horizontal - 123 -

Escogiendo la opción ventana vertical - 124 -

Escogiendo que formulario deseamos que esté en primer plano - 125 -

Escogiendo la opción salir - 126 -

- 127 -

EJERCICIOS 1. CREAR UN FORMULARIO DONDE SI SE SELECCIONA UNA DETERMINADA CIUDAD APARECERÁ UNA INFORMACIÓN DE ELLA, UNA FOTO Y UN VIDEO. - 128 -

Public Class Form1 Private Sub RadioButton1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RadioButton1.CheckedChanged, RadioButton2.CheckedChanged If RadioButton1.Checked = True Then Try PictureBox1.Image = Image.FromFile("Lighthouse.jpg") Catch ex As Exception MessageBox.Show(ex.Message) End Try Try RichTextBox1.LoadFile("Corazón Nuevo.rtf") Catch ex As Exception MessageBox.Show(ex.Message) End Try AxWindowsMediaPlayer1.URL = "hindu01.wmv" AxWindowsMediaPlayer1.Ctlcontrols.stop() ElseIf RadioButton2.Checked = True Then Try PictureBox1.Image = Image.FromFile("Desert.jpg") Catch ex As Exception MessageBox.Show(ex.Message) End Try Try RichTextBox1.LoadFile("CUZCO.rtf") Catch ex As Exception MessageBox.Show(ex.Message) End Try AxWindowsMediaPlayer1.URL = "hindu02.wmv" AxWindowsMediaPlayer1.Ctlcontrols.stop() ElseIf RadioButton3.Checked = False Then Try PictureBox1.Image = Image.FromFile("Hydrangeas.jpg") Catch ex As Exception MessageBox.Show(ex.Message) End Try Try RichTextBox1.LoadFile("AREQUIPA.rtf") Catch ex As Exception MessageBox.Show(ex.Message) End Try AxWindowsMediaPlayer1.URL = "hindu03.wmv" End If Private Sub RadioButton3_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RadioButton3.CheckedChanged Try PictureBox1.Image = Image.FromFile("Hydrangeas.jpg") Catch ex As Exception MessageBox.Show(ex.Message) End Try Try RichTextBox1.LoadFile("AREQUIPA.rtf") Catch ex As Exception MessageBox.Show(ex.Message) End Try AxWindowsMediaPlayer1.URL = "hindu03.wmv" AxWindowsMediaPlayer1.Ctlcontrols.stop() End Class - 129 -

SELECCIONANDO LA CIUDAD DE CAJAMARCA SELECCIONANDO LA CIUDAD DE CUZCO SELECCIONANDO LA CIUDAD DE AREQUIPA - 130 -

2. SELECICIONANDO DE UNA LISTA A UNA PÁGINA WEB RÁPIDAMENTE SE DEBERÁ MOSTRAR DICHA PÁGINA EN EL LADO DERECHO: Public Class Form2 Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged Select Case (ListBox1.SelectedIndex) Case 0 WebBrowser1.Navigate("WWW.GOOGLE.COM") Case 1 WebBrowser1.Navigate("WWW.UNC.EDU.PE") Case 2 WebBrowser1.Navigate("WWW.CALETA.COM") Case 3 WebBrowser1.Navigate("WWW.HOTMAIL.COM") Case 4 WebBrowser1.Navigate("WWW.FACEBOOK.COM") Case 5 WebBrowser1.Navigate("WWW.WIKIPEDIA.COM") Case Else End Select End Class - 131 -

- 132 -

3. INICIAR UN VIDEO A TRAVÉS DE UN RADIOBOTTON APARECERÁ EL SÍMBOLO DE PLAY PARA INICIAR EL VIDEO, CAMBIARÁ AL SÍMBOLO DE PARAR PARA REINICIAR EL VIDEO. Public Class Form3 Dim P As Integer Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click If P = 1 Then Button1.Image = Image.FromFile("I1.JPG") AxWindowsMediaPlayer1.Ctlcontrols.stop() P = 2 ElseIf P = 2 Then Button1.Image = Image.FromFile("I2.JPG") AxWindowsMediaPlayer1.Ctlcontrols.play() P = 1 End If Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load P = 2 Button1.Text = "" Button1.Image = Image.FromFile("I1.JPG") AxWindowsMediaPlayer1.URL = "hindu05.wmv" AxWindowsMediaPlayer1.Ctlcontrols.stop() End Class - 133 -

FUNCIONAMIENTO - 134 -

OBJETO TOOLSTRIP CON IMAGELIST 4. CREAR UN MENÚ Y LLAMAR ATRAVÉS DE UN TOOLSTRIP PONER IMÁGENES Y LLAMAR A CUATRO FORMULARIOS - 135 -

LOS FORMULARIOS TENDRÁN DIFEENTE COLOR PARA PODERLOS DISTINGUIR - 136 -

PARA CUANDO PASE EL MOUSE ENCIMA DE UNA IMAGEN SALDRÁ EL NOMBRE DE UNA ACTIVIDAD: ESTO ES CON LA PROPIEDAD TOOLTIPTEX. EJEMPLO: VISTA PREVIA: - 137 -

CÓDIGO: Public Class Form5 Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ToolStrip1.ImageList = ImageList1 ToolStripButton1.ImageIndex = 0 ToolStripButton2.ImageIndex = 1 ToolStripButton3.ImageIndex = 2 ToolStripButton4.ImageIndex = 3 Private Sub ToolStripButton1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click Dim FRM As New Form6 FRM.MdiParent = Me FRM.Show() Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click Dim FRM As New Form7 FRM.MdiParent = Me FRM.Show() Private Sub ToolStripButton3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click Dim FRM As New Form8 FRM.MdiParent = Me FRM.Show() Private Sub ToolStripButton4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton4.Click Dim FRM As New Form9 FRM.MdiParent = Me FRM.Show() Private Sub SALIRToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SALIRToolStripMenuItem.Click Me.Close() End Class - 138 -

FUNCIONAMIENTO SELECCIONANDO BAÑOS DEL INCA: SELECCIONANDO COMIDAS: - 139 -

SELECCIONANDO IGLESIAS: - 140 -

SELECCIONANDO MÚSICA: SALIENDO - 141 -

DISEÑO DEL TABLERO DE AJEDREZ MOVIMIENTOS DE LAS PIEZAS DEL AJEDREZ - 142 -

CÓDIGO: DIBUJANDO EL TABLERO COMPLETO CON TODAS LAS PIEZAS EN SU LUGAR Public Class Form1 Dim c_actual, c_nuevo As PictureBox Dim fa, ca, fn, cn As Integer 'DIBUJANDO EL TABLERO COMPLETO CON TODAS LAS PIEZAS EN SU LUGAR Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Colocando las piezas negras en sus respectivos lugares c1.image = Image.FromFile("Torren.png") c3.image = Image.FromFile("alfiln.png") c2.image = Image.FromFile("caballon.png") c4.image = Image.FromFile("reyn.png") c5.image = Image.FromFile("reynan.png") c9.image = Image.FromFile("peonn.png") c8.image = Image.FromFile("Torren.png") c6.image = Image.FromFile("alfiln.png") c7.image = Image.FromFile("caballon.png") c10.image = Image.FromFile("peonn.png") c11.image = Image.FromFile("peonn.png") c12.image = Image.FromFile("peonn.png") c13.image = Image.FromFile("peonn.png") c14.image = Image.FromFile("peonn.png") c15.image = Image.FromFile("peonn.png") c16.image = Image.FromFile("peonn.png") 'Colocando las piezas blancas en sus respectivos lugares c57.image = Image.FromFile("torreb.png") c58.image = Image.FromFile("alfilb.png") c59.image = Image.FromFile("caballob.png") c60.image = Image.FromFile("reyb.png") c61.image = Image.FromFile("reinab.png") c49.image = Image.FromFile("peonb.png") c64.image = Image.FromFile("Torreb.png") c63.image = Image.FromFile("alfilb.png") c62.image = Image.FromFile("caballob.png") c50.image = Image.FromFile("peonb.png") c51.image = Image.FromFile("peonb.png") c52.image = Image.FromFile("peonb.png") c53.image = Image.FromFile("peonb.png") c54.image = Image.FromFile("peonb.png") c55.image = Image.FromFile("peonb.png") c56.image = Image.FromFile("peonb.png") c_actual = c1-143 -

LLAMANDO A LAS FUNCIONES DE LOS MOVIMIENTOS DE LAS PIEZAS Private Sub c8_click(sender As System.Object, e As System.EventArgs) Handles c8.click, c1.click, c2.click, c3.click, c4.click, c5.click, c6.click, c7.click, c9.click, c10.click, c11.click, c12.click, c13.click, c14.click, c15.click, c16.click, c17.click, c18.click, c19.click, c20.click, c21.click, c22.click, c23.click, c24.click, c25.click, c26.click, c27.click, c28.click, c29.click, c30.click, c31.click, c32.click, c33.click, c34.click, c35.click, c36.click, c37.click, c38.click, c39.click, c40.click, c41.click, c42.click, c43.click, c44.click, c45.click, c46.click, c47.click, c48.click, c49.click, c50.click, c51.click, c52.click, c53.click, c54.click, c55.click, c56.click, c57.click, c58.click, c59.click, c60.click, c61.click, c62.click, c63.click, c64.click c_nuevo = sender If c_actual.tag <> c_nuevo.tag Then fa = Microsoft.VisualBasic.Left(c_actual.Tag, 1) ca = Microsoft.VisualBasic.Right(c_actual.Tag, 1) fn = Microsoft.VisualBasic.Left(c_nuevo.Tag, 1) cn = Microsoft.VisualBasic.Right(c_nuevo.Tag, 1) Select Case (ListBox1.SelectedIndex) Case 0 mover_torre() Case 1 mover_alfil() Case 2 mover_caballo() Case 3 mover_rey() Case 4 mover_reina() Case 5 mover_peon() End Select Else MessageBox.Show("Hey estas en la misma celda!!!!!") EL CÓDIGO DE LAS FUNCIONES DE LOS MOVIMIENTOS DE CADA PIEZA DE AJEDREZ SON: End If TORRE ' MOVIMIENTO DE LA TORRE Sub mover_torre() If (fa = fn) Or (ca = cn) Then c_nuevo.image = c_actual.image c_actual.image = Nothing c_actual = c_nuevo Else MessageBox.Show("Movimiento incorrecto!!!") End If - 144 -

ALFIL ' MOVIMIENTO DEL ALFIL Sub mover_alfil() If (Math.Abs(fa - fn) = Math.Abs(ca - cn)) Then c_nuevo.image = c_actual.image c_actual.image = Nothing c_actual = c_nuevo Else MessageBox.Show("Movimiento incorrecto!!!") End If REYNA ' MOVIMIENTO DE LA REINA Sub mover_reina() If (Math.Abs(fa - fn) = Math.Abs(ca - cn)) Or (fa = fn) Or (ca = cn) Then c_nuevo.image = c_actual.image c_actual.image = Nothing c_actual = c_nuevo Else MessageBox.Show("Movimiento incorrecto!!!") End If CABALLO ' MOVIMIENTO DEL CABALLO Sub mover_caballo() If (Math.Abs(fa - fn) = 2 And Math.Abs(ca - cn) = 1) Or (Math.Abs(fa - fn) = 1 And Math.Abs(ca - cn) = 2) Then c_nuevo.image = c_actual.image c_actual.image = Nothing c_actual = c_nuevo Else MessageBox.Show("Movimiento incorrecto!!!") End If - 145 -

REY ' MOVIMIENTO DEL REY Sub mover_rey() If (Math.Abs(fa - fn) <= 1 And Math.Abs(ca - cn) <= 1) Or ((fa - fn) = 1) Or ((ca - cn) = 1) Then c_nuevo.image = c_actual.image c_actual.image = Nothing c_actual = c_nuevo Else MessageBox.Show("Movimiento incorrecto!!!") End If PEÓN ' MOVIMIENTO DEL PEÓN Sub mover_peon() If ((fn - fa) = 1) And ((ca = cn)) Then c_nuevo.image = c_actual.image c_actual.image = Nothing c_actual = c_nuevo Else MessageBox.Show("Movimiento incorrecto!!!") End If ASIGNANDO LAS IMÁGENES DE LAS PIEZAS DE ACUERDO A CADA CASO: Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged Select Case ListBox1.SelectedIndex Case 0 c_actual.image = Image.FromFile("Torren.png") Case 1 c_actual.image = Image.FromFile("alfiln.png") Case 2 c_actual.image = Image.FromFile("caballon.png") Case 3 c_actual.image = Image.FromFile("reyn.png") Case 4 c_actual.image = Image.FromFile("reynan.png") Case 5 c_actual.image = Image.FromFile("peonn.png") End Select End Class - 146 -

FUNCIONAMIENTO CUANDO SE HACE CLIC EN LA MISMA CELDA DONDE ESTÁ LA PIEZA A MOVER SQLE UN MENSAJE DE ATENCIÓN HEY ESTÁS EN LA MISMA CELDA!!!!! - 147 -

SI EL MOVIMIENTO QUE SE HACE NO CORRESPONDE CON LOS MOVIMIENTOS PROPIOS DE LA PIEZA SELECCIONADA SALE UN MENSAJE DE MOVIMIENTO INCORRECTO MOVER COMO TORRE - 148 -

- 149 -

MOVER COMO ALFIL - 150 -

MOVER COMO CABALLO - 151 -

MOVER COMO REY - 152 -

MOVER COMO REYNA - 153 -

MOVER COMO PEÓN - 154 -

- 155 -