Está en la página 1de 272

MANUAL DE VISUAL BASIC

PARTE I
Manual de Visual Basic Parte I 2012

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 -

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


-3-
Manual de Visual Basic Parte I 2012
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 -

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


-4-
Manual de Visual Basic Parte I 2012

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.

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


-5-
Manual de Visual Basic Parte I 2012
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.

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


-6-
Manual de Visual Basic Parte I 2012
o Y finalmente hacemos clic en Microsoft Visual Studio 2010.

 Esperamos que cargue…

 Observamos el Entorno de Visual Studio 2010.

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


-7-
Manual de Visual Basic Parte I 2012
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.

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


-8-
Manual de Visual Basic Parte I 2012
 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:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


-9-
Manual de Visual Basic Parte I 2012
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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 10 -
Manual de Visual Basic Parte I 2012
1.6.2. CUADRO DE HERRAMIENTAS

CTRL+ALT+X

1.6.3. VENTANA DE PROPIEDADES

F4

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 11 -
Manual de Visual Basic Parte I 2012
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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 12 -
Manual de Visual Basic Parte I 2012
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)

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.

1.10.2. DRAG

Inicia, termina o cancela una operación de arrastre de cualquier control, excepto


loscontroles Line, Menu, Shape, Timer o CommonDialog.

1.10.3. MOVE

Se utiliza para mover un control o formulario, especificando sus coordenadas (Top,


Left)y su tamaño (Width, Height).

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 13 -
Manual de Visual Basic Parte I 2012
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

Ocurre cuando el usuario mantiene presionada una tecla.

1.11.5. KEYUP

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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 14 -
Manual de Visual Basic Parte I 2012

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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 15 -
Manual de Visual Basic Parte I 2012

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
End Sub
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 16 -
Manual de Visual Basic Parte I 2012

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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 17 -
Manual de Visual Basic Parte I 2012
 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
End Sub
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 18 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 19 -
Manual de Visual Basic Parte I 2012
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 20 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 21 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 22 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 23 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 24 -
Manual de Visual Basic Parte I 2012

Sueldos y sus descuentos

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 25 -
Manual de Visual Basic Parte I 2012

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)
End Sub
Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles CheckBox3.CheckedChanged
TextBox1.Enabled = CheckBox3.Checked
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
TextBox1.Enabled = False
End Sub

Private Sub TextBox1_EnabledChanged(ByVal sender As Object, ByVal e As


System.EventArgs) Handles TextBox1.EnabledChanged
TextBox1.Clear()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 26 -
Manual de Visual Basic Parte I 2012

RADIOBUTTON
Sueldos y sus bonificaciones

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")
End Sub

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")
End Sub

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 27 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 28 -
Manual de Visual Basic Parte I 2012

EJERCICIOS
INTERFAZ:

Public Class Form6

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Form5.ShowDialog()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
Form1.ShowDialog()
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button3.Click
Form2.ShowDialog()
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button4.Click
Form3.ShowDialog()
End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button5.Click
Form4.ShowDialog()
End
1. GENERAR SubNUMEROS ALEATORIOS Y COMPARARLOS

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button6.Click
Me.Close()
End Sub
End Class
COMPARAR

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 29 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 30 -
Manual de Visual Basic Parte I 2012

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


SERIE:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 31 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

3. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE


SERIE:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 32 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

4. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE


SERIE:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 33 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

5. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE


SERIE:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 34 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 35 -
Manual de Visual Basic Parte I 2012

EJERCICIOS DE REFORZAMIENTO

1.

X Calcular 𝑥 4 + 𝑥𝑦 2 𝑧 + 𝑥 2 𝑦
𝑅=
Y Resultado + 𝑥 2𝑦2𝑧2
Z

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 36 -
Manual de Visual Basic Parte I 2012
PANTALLAS (FUNCIONAMIENTO):

2.

ÁNGULO
Calcular
COSENO
SENO
TANGENTE

RESOLUCIÓN:

EN MODO DE DISEÑO:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 37 -
Manual de Visual Basic Parte I 2012
EL CÓDIGO:

PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 38 -
Manual de Visual Basic Parte I 2012
3.

N1 N3
N2 N4

Calcular

MAYOR MENOR

RESOLUCIÓN:

EN MODO DE DISEÑO:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 39 -
Manual de Visual Basic Parte I 2012
EL CÓDIGO:

PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 40 -
Manual de Visual Basic Parte I 2012
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:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 41 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 42 -
Manual de Visual Basic Parte I 2012

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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 43 -
Manual de Visual Basic Parte I 2012
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 44 -
Manual de Visual Basic Parte I 2012
PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 45 -
Manual de Visual Basic Parte I 2012
6.

Número 1 Número 2

OPERACIÓN

RESPUESTA

RESOLUCIÓN:

EN MODO DE DISEÑO:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 46 -
Manual de Visual Basic Parte I 2012
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
End Sub
Private Sub RadioButton2_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles RadioButton2.Click
TextBox3.Text = CDbl(TextBox1.Text) - CDbl(TextBox2.Text)
End Sub
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
End Sub
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 Sub
End Class

PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 47 -
Manual de Visual Basic Parte I 2012

7.

Número 1 Número 2

Verificar

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 48 -
Manual de Visual Basic Parte I 2012
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 Sub
PANTALLAS (FUNCIONAMIENTO):
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 49 -
Manual de Visual Basic Parte I 2012

8.

NÚMERO AL AZAR (1-100)

MOSTRAR

SUMA DE NÚMEROS

MÁXIMO NÚMERO

MÍNIMO NÚMERO

PROMEDIO

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 50 -
Manual de Visual Basic Parte I 2012
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()
End Sub
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 51 -
Manual de Visual Basic Parte I 2012
PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 52 -
Manual de Visual Basic Parte I 2012
EJERCICOS

RESOLVER LAS SIGUIENTES SERIES

 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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 53 -
Manual de Visual Basic Parte I 2012

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

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

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 54 -
Manual de Visual Basic Parte I 2012

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

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

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 55 -
Manual de Visual Basic Parte I 2012

////////////////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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 56 -
Manual de Visual Basic Parte I 2012

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)
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
TextBox2.Text = ListBox1.Items.Count
End Sub

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 57 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 58 -
Manual de Visual Basic Parte I 2012

EJERCICIOS
1.
AGREGAR
ALUMNOS:
LISTA DE ALUMNOS:

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 59 -
Manual de Visual Basic Parte I 2012
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")
End Sub

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)
End Sub

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
End SubCLICK EN EL PRIMER BOTÓN ELIGIENDO EL LIBRO QUE DESEAMOS
COMPRAR;
End Class ASÍ PASARÁ A LA LISTA DE LIBROS POR COMPRAR

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 60 -
Manual de Visual Basic Parte I 2012

 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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 61 -
Manual de Visual Basic Parte I 2012
3. CODIGOS
A001 CÓDIGO
A002
A003 NOMBRE ARTÍCULO
A004 PRECIO
A005
STOCK
A006

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"

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"

End Select
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 62 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 63 -
Manual de Visual Basic Parte I 2012
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 64 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 65 -
Manual de Visual Basic Parte I 2012

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)

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

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 66 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 67 -
Manual de Visual Basic Parte I 2012
JUEGO DE TRES EN RAYA

El Tres en Raya es un juego muy popular.

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
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 68 -
Manual de Visual Basic Parte I 2012
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
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
nj = 1
c=0
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
RadioButton1.CheckedChanged
nj = 0
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
RadioButton2.CheckedChanged
nj = 1
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
REINICIAR()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 69 -
Manual de Visual Basic Parte I 2012

¿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:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 70 -
Manual de Visual Basic Parte I 2012
Cuando se arrepienten del juego se puede reiniciar:

Caso cuando gana la “o”:

Caso que no hay ganador:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 71 -
Manual de Visual Basic Parte I 2012
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:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 72 -
Manual de Visual Basic Parte I 2012
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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 73 -
Manual de Visual Basic Parte I 2012
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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 74 -
Manual de Visual Basic Parte I 2012
Se abre El juego

Hacemos clic en cualquiera de las celdas

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 75 -
Manual de Visual Basic Parte I 2012

Se puede encontrar una mina

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 76 -
Manual de Visual Basic Parte I 2012
Enseguida sale el mensaje de Mina, perdiste y aceptamos

Aparecen las seis minas escondidas, hacemos clic en reiniciar para jugar de nuevo

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 77 -
Manual de Visual Basic Parte I 2012
En otra jugada

Otra jugada

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 78 -
Manual de Visual Basic Parte I 2012
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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 79 -
Manual de Visual Basic Parte I 2012
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
End Sub

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
End Sub

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,

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 80 -
Manual de Visual Basic Parte I 2012
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
End Sub

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 Sub

End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 81 -
Manual de Visual Basic Parte I 2012
Pantallas de su funcionamiento

Hacemos clic en Juego de Memoria

Se abre El juego

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 82 -
Manual de Visual Basic Parte I 2012
Hacemos clic en cualquiera de las celdas, se nos mostrará una imagen

Hacemos clic en cualquiera de las celdas, para encontrar la pareja

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 83 -
Manual de Visual Basic Parte I 2012
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:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 84 -
Manual de Visual Basic Parte I 2012
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:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 85 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 86 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 87 -
Manual de Visual Basic Parte I 2012
Al hacer click en el botón: “Reiniciar Juego”, se nos mostrará nuevamente la interfaz de
inicio

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 88 -
Manual de Visual Basic Parte I 2012

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
End Sub

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 89 -
Manual de Visual Basic Parte I 2012

LEFT,HEIGHT,WIDTH,TOP
HSCROLLBAR

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 90 -
Manual de Visual Basic Parte I 2012

Programando el mismo ejemplo con radioButton:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 91 -
Manual de Visual Basic Parte I 2012

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
End Sub

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

End Sub
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
End Sub

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 92 -
Manual de Visual Basic Parte I 2012

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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 93 -
Manual de Visual Basic Parte I 2012

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 94 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 95 -
Manual de Visual Basic Parte I 2012

 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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 96 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 97 -
Manual de Visual Basic Parte I 2012
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

End Sub

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 98 -
Manual de Visual Basic Parte I 2012

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
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
PictureBox1.DoDragDrop(PictureBox1.Image, DragDropEffects.Copy)
End Sub
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
End Sub
Private Sub PictureBox2_DragDrop(sender As Object, e As
System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragDrop
PictureBox2.Image = e.Data.GetData(DataFormats.Bitmap)

End Sub
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 99 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 100 -
Manual de Visual Basic Parte I 2012

RECEPCIONANDO UNA IMAGEN EN UNA MATRIZ EJEMPLO EL JUEGO


DE TRES EN RAYA

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 101 -
Manual de Visual Basic Parte I 2012

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
End Sub
Private Sub PictureBox1_MouseMove(sender As Object, e As
System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
PictureBox1.DoDragDrop(PictureBox1.Image, DragDropEffects.Copy)
End Sub
Private Sub PictureBox2_MouseMove(sender As Object, e As
System.Windows.Forms.MouseEventArgs) Handles PictureBox2.MouseMove
PictureBox2.DoDragDrop(PictureBox2.Image, DragDropEffects.Copy)
End Sub

Private Sub PictureBox2_Click(sender As System.Object, e As


System.EventArgs) Handles PictureBox2.Click
' clic compuesto por dos mouse down y mouse up
End Sub
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)
End Sub

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 102 -
Manual de Visual Basic Parte I 2012

ARMAR UN ROMPECABEZAS

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 103 -
Manual de Visual Basic Parte I 2012

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
End Sub
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)
End Sub
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
End Sub
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 104 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 105 -
Manual de Visual Basic Parte I 2012

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
End Sub
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
End Sub
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)
End Sub
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 106 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 107 -
Manual de Visual Basic Parte I 2012

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()
End Sub

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()
End Sub

Private Sub
SALIRToolStripMenuItem1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles SALIRToolStripMenuItem1.Click
Me.Close()
End Sub

Private Sub
SALIRToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)

Un formulario consulta1 sin codigo

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 108 -
Manual de Visual Basic Parte I 2012

Un formulario consulta20 sin codigo

Funcionamiento

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 109 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 110 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 111 -
Manual de Visual Basic Parte I 2012
REALIZACIÓN DE UN PROYECTO DE SOFTWARE
Empezaremos con crear el programa:

 Crear la ventana principal menú

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 112 -
Manual de Visual Basic Parte I 2012

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
End Sub
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
End Sub
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
End Sub
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
End Sub
Private Sub CASCADAToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles CASCADAToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.Cascade)
End Sub
Private Sub HORIZONTALToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles HORIZONTALToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileHorizontal)
End Sub
Private Sub VERTICALToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles VERTICALToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileVertical)
End Sub
 creando
Private los formularios
Sub SALIRToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
o De la conferencia
System.EventArgs) Handles Cloud Computing
SALIRToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Me.MenuStrip1.MdiWindowListItem = VENTANAToolStripMenuItem
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 113 -
Manual de Visual Basic Parte I 2012

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
RichTextBox1.LoadFile("Compu.rtf")
o Un formulario para nvegar por el internet (Wifi)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 114 -
Manual de Visual Basic Parte I 2012

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
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate(TextBox1.Text)
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 115 -
Manual de Visual Basic Parte I 2012

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
End Subo Un formulario para la conferencia bisness intelligence
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 116 -
Manual de Visual Basic Parte I 2012

Public Class Form5

Private Sub Form5_Disposed(sender As Object, e As


System.EventArgs) Handles Me.Disposed
Form1.BISNESSINTELLIGENCEToolStripMenuItem.Enabled = True
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 117 -
Manual de Visual Basic Parte I 2012
Funcionamiento

 Pantalla principal

 Escogiendo la opción bisness Intelligent

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 118 -
Manual de Visual Basic Parte I 2012

 Escogiendo la opción Cloud computing

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 119 -
Manual de Visual Basic Parte I 2012
 Escogiendo la opción wifi

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 120 -
Manual de Visual Basic Parte I 2012
 Escogiendo la opción video

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 121 -
Manual de Visual Basic Parte I 2012
 Escogiendo la opción ventanacascada

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 122 -
Manual de Visual Basic Parte I 2012
 Escogiendo la opción ventanahorizontal

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 123 -
Manual de Visual Basic Parte I 2012
 Escogiendo la opción ventanavertical

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 124 -
Manual de Visual Basic Parte I 2012
 Escogiendo que formulario deseamos que esté en primer plano

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 125 -
Manual de Visual Basic Parte I 2012

 Escogiendo la opción salir

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 126 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 127 -
Manual de Visual Basic Parte I 2012

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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 128 -
Manual de Visual Basic Parte I 2012

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
End Sub
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 Sub
End Class
Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I
- 129 -
Manual de Visual Basic Parte I 2012
SELECCIONANDO LA CIUDAD DE CAJAMARCA SELECCIONANDO LA CIUDAD DE CUZCO

SELECCIONANDO LA CIUDAD DE AREQUIPA

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 130 -
Manual de Visual Basic Parte I 2012
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 131 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 132 -
Manual de Visual Basic Parte I 2012
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
End Sub
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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 133 -
Manual de Visual Basic Parte I 2012
FUNCIONAMIENTO

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 134 -
Manual de Visual Basic Parte I 2012

OBJETO TOOLSTRIP CON IMAGELIST

4. CREAR UN MENÚ Y LLAMAR ATRAVÉS DE UN TOOLSTRIP PONER IMÁGENES Y


LLAMAR A CUATRO FORMULARIOS

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 135 -
Manual de Visual Basic Parte I 2012
LOS FORMULARIOS TENDRÁN DIFEENTE COLOR PARA PODERLOS DISTINGUIR

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 136 -
Manual de Visual Basic Parte I 2012
PARA CUANDO PASE EL MOUSE ENCIMA DE UNA IMAGEN SALDRÁ EL NOMBRE DE
UNA ACTIVIDAD: ESTO ES CON LA PROPIEDAD TOOLTIPTEX.
EJEMPLO:

VISTA PREVIA:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 137 -
Manual de Visual Basic Parte I 2012

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
End Sub
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()
End Sub
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()
End Sub
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()
End Sub
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()
End Sub
Private Sub SALIRToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
SALIRToolStripMenuItem.Click
Me.Close()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 138 -
Manual de Visual Basic Parte I 2012
FUNCIONAMIENTO

SELECCIONANDO BAÑOS DEL INCA:

SELECCIONANDO COMIDAS:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 139 -
Manual de Visual Basic Parte I 2012

SELECCIONANDO IGLESIAS:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 140 -
Manual de Visual Basic Parte I 2012

SELECCIONANDO MÚSICA:

SALIENDO

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 141 -
Manual de Visual Basic Parte I 2012
MOVIMIENTOS DE LAS PIEZAS DEL AJEDREZ

DISEÑO DEL TABLERO DE AJEDREZ

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 142 -
Manual de Visual Basic Parte I 2012

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
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 143 -
Manual de Visual Basic Parte I 2012
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

End Sub

' MOVIMIENTO DE LA TORRE


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
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 144 -
Manual de Visual Basic Parte I 2012

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
End Sub

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
End Sub

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
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 145 -
Manual de Visual Basic Parte I 2012

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
End Sub

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
End Sub

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 Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 146 -
Manual de Visual Basic Parte I 2012
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!!!!!”

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 147 -
Manual de Visual Basic Parte I 2012
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

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 148 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 149 -
Manual de Visual Basic Parte I 2012

MOVER COMO ALFIL

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 150 -
Manual de Visual Basic Parte I 2012

MOVER COMO CABALLO

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 151 -
Manual de Visual Basic Parte I 2012

MOVER COMO REY

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 152 -
Manual de Visual Basic Parte I 2012

MOVER COMO REYNA

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 153 -
Manual de Visual Basic Parte I 2012

MOVER COMO PEÓN

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 154 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


- 155 -
MANUAL DE VISUAL BASIC
PARTE II
CONSULTAS CON SQL –
REPORTING SERVICES

Nombre: Karen Johana Estrada Aguilar

CAJAMARCA, 2012
Manual de Visual Basic Parte II 2012

INDICE
CONSULTAS CON SQL EN VISUAL BASIC ........................................................................ 2
Mostrar el registro de la tabla estudiantes: ................................................................ 4
Realizar el ejercicio anterior en una página web: ...................................................... 5
Buscar un alumno filtrado por su código con Radio button: ...................................... 8
Buscar un alumno filtrado por su código con Enter en el Textbox:.......................... 10
Mostrar alumnos o alumnas con radios button ......................................................... 12
UN TOOLsTRIP CON IMÁGENES...................................................................................... 15
El menúStrip deberá estar acompañado de imágenes: .................................................... 15
Creamos un módulo (Globales)............................................................................................ 16
AGREGAR UNA CONSULTA A UN LISTBOX.................................................................... 19
EJERCICIOS COMPLEMENTARIOS SOBRE CONSULTAS A BASE DE DATOS
USANDO VISUAL BASIC 2010 ........................................................................................... 32
EJERCICIOS ........................................................................................................................ 47
INSERTAR EN UNA TABLA DE UBA BASE DE DATOS DESDE VISUAL BASIC ........... 59
OBJETO MaskedTextBox ..................................................................................................... 60
CONSULTAR, AGREGAR Y ELIMINAR REGISTROS EN LA TABLA CATEGORÍAS ...... 69
CREAR IN INICIO DE SESIÓN PARA EL SISTEMA .......................................................... 79
Cambiar contraseña desde otro formulario ..................................................................... 82
CREANDO EL SISTEMA DE ASISTENCIA DE LOS ALUMNOS DE INGENIERÍA DE
SISTEMAS A LA XII SEMANA SISTÉMICA ........................................................................ 85
REPORTING SERVICE ........................................................................................................ 94

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


1
Manual de Visual Basic Parte II 2012

CONSULTAS CON SQL EN VISUAL BASIC

Para hacer una consulta desde Visual Studio a una base de datos hacemos:

 Primero creamos una tabla Estudiantes en Sql Sever Managament

 Pasamos los registros de los alumnos en un documento Csv (separado por comas),
ejecutando la siguiente consulta:

use Asistencia_Semana_Sistémica
bulk
insert dbo.PARTICIPANTES
from 'I:\alumnos2.csv'
with
(
fieldterminator=',', --separa a los campos, cambia de campo
rowterminator='\n' -- cambia de filas por el enter
)

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


2
Manual de Visual Basic Parte II 2012
CREAMOS UN FORMULARIO EN VISUAL STUDIO

 Ponemos la cabecera que funcionaría como una biblioteca: Imports


System.Data.SqlClient
 Realizamos la conexión a la Base de Datos creando el objeto conex (conex es un objeto
que guarda la ubicación de la base de datos ya sabe dónde está, es un camino)

Dim conex As New SqlConnection("server=.;database=Northwind;trusted_connection=true")

 Hacemos una consulta con SQLDataAadapter


Dim datos As New SqlDataAdapter("select* from EMPLOYEES", conex)

 Creamos un objeto DataSet


Dim ds As New Data.DataSet

 Llenamos los registros obtenidos por la consulta en un DataGridView

datos.Fill(ds, "Alumnos")
DGV1.DataSource = ds.Tables("Alumnos")

 El código en Visual Studio es:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


3
Manual de Visual Basic Parte II 2012

Ejemplo:

 Mostrar el registro de la tabla estudiantes:

Imports System.Data.SqlClient
Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
Dim conex As New
SqlConnection("server=MIK3\io;database=Northwind1;trusted_connection=true") 'conex es un
objeto que guarda la ubicacion de la base de datos ya sabe donde esta, es un camino
Dim datos As New SqlDataAdapter("select* from Estudiante", conex)
Dim ds As New Data.DataSet
datos.Fill(ds, "Alumnos")
DGV1.DataSource = ds.Tables("Alumnos")
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


4
Manual de Visual Basic Parte II 2012

 Realizar el ejercicio anterior en una página web:

1° Creamos un nuevo proyecto y escogemos en planillas instaladas la opción Web:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


5
Manual de Visual Basic Parte II 2012
2° Escogemos la opción Aplicación web ASP.NET:

3° Se observa el entorno así:

4° Agregamos un nuevo elemento un (Formulario):

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


6
Manual de Visual Basic Parte II 2012

Escogemos un DataGridView y lo arrastramos sobre el formulario:

Escribimos el código:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


7
Manual de Visual Basic Parte II 2012
Cargó:

 Buscar un alumno filtrado por su código con Radio button:

Consulta SQL:

create proc buscar_alumnos


@id char(10)
as
select *
from Estudiante
where Id_estudiante=@id

Imports System.Data.SqlClient
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles
Button1.Click
Dim conex As New
SqlConnection("server=.;database=Northwind;trusted_connection=true")
Dim datos As New SqlDataAdapter("buscar_alumnos", conex)

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


8
Manual de Visual Basic Parte II 2012
Dim ds As New Data.DataSet
datos.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos.SelectCommand.Parameters.Add("@id", SqlDbType.Char, 10).Value =
TextBox1.Text
datos.Fill(ds, "alumnitos")
DGV.DataSource = ds.Tables("Alumnitos")
End Sub
End Class

Diseño del formulario:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


9
Manual de Visual Basic Parte II 2012
 Buscar un alumno filtrado por su código con Enter en el Textbox:

En el evento keypress del textbox hacemos la conexión y el código:

Imports System.Data.SqlClient
Public Class Form2

Private Sub TextBox1_KeyPress(sender As Object, e As


System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

If e.KeyChar = Chr(13) Then


Dim conex As New
SqlConnection("server=.;database=Northwind;trusted_connection=true")
Dim datos As New SqlDataAdapter("buscar_alumnos", conex)
Dim ds As New Data.DataSet

datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.SelectCommand.Parameters.Add("@id", SqlDbType.Char, 10).Value =
TextBox1.Text

datos.Fill(ds, "alumnitos")

DGV.DataSource = ds.Tables("Alumnitos")
TextBox1.Text = ""
TextBox1.Focus()
End If

End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


10
Manual de Visual Basic Parte II 2012
Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles
MyBase.Load
TextBox1.Focus()
End Sub

Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs)


Handles TextBox1.TextChanged
TextBox1.Focus()
End Sub
End Class

Filtrar alumno por apellido:

Imports System.Data.SqlClient
Public Class Form4
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(13) Then
Dim conex As New
SqlConnection("server=MIK3\io;database=Northwind1;trusted_connection=true")
Dim datos As New SqlDataAdapter("apell", conex) ' "selec * from Estudiante where
Id_estudiante=@id" (la linea *** no seria)
Dim ds As New Data.DataSet
datos.SelectCommand.CommandType = CommandType.StoredProcedure '***

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


11
Manual de Visual Basic Parte II 2012
datos.SelectCommand.Parameters.Add("@ape", SqlDbType.Char, 10).Value =
TextBox1.Text
datos.Fill(ds, "alumnitos") 'ejecuta el data adapter, que abre la conexion
DGV.DataSource = ds.Tables("alumnitos")
TextBox1.Text = ""
TextBox1.Focus()
End If
End Sub
End Class

 Mostrar alumnos o alumnas con radios button

Dim conex1 As New


SqlConnection("server=MIK3\io;database=Northwind1;trusted_connection=true")
If RadioButton1.Checked = True Then
Dim datos As New SqlDataAdapter("sexo", conex1)
Dim ds As New Data.DataSet
datos.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos.SelectCommand.Parameters.Add("@sex", SqlDbType.Char, 1).Value = 1
datos.Fill(ds, "Alumnos")
DGV.DataSource = ds.Tables("Alumnos")
ElseIf RadioButton2.Checked = True Then

Dim datos1 As New SqlDataAdapter("sexo", conex1)


Dim ds1 As New Data.DataSet
datos1.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos1.SelectCommand.Parameters.Add("@sex", SqlDbType.Char, 1).Value = 2
datos1.Fill(ds1, "Alumnos")
DGV.DataSource = ds1.Tables("Alumnos")
End If

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


12
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


13
Manual de Visual Basic Parte II 2012

En un sistema realizar el mantenimiento en consultas:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


14
Manual de Visual Basic Parte II 2012
UN TOOLsTRIP CON IMÁGENES

EN CONSULTA HACEMOS LOS SIGUIENTES FORMULARIO:

El menúStrip deberá estar acompañado de imágenes:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


15
Manual de Visual Basic Parte II 2012

Creamos un módulo (Globales)

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


16
Manual de Visual Basic Parte II 2012
Escribimos el siguiente Código:

Module GLOBALES
Public CONEX As New
System.Data.SqlClient.SqlConnection("server=MIK3\io;database=Northwind1;trusted_connect
ion=true")
End Module

HACEMOS EL PROCEDIMIENTO ALMACENADO:

create PROC consulta1


AS
SELECT CATEGORYNAME, COUNT(*) AS TOTAL
FROM Categories AS C
INNER JOIN Products AS P
ON C.CategoryID=P.CategoryID
GROUP BY CategoryName
ORDER BY CategoryName

EN VISUAL BASIC:

Imports System.Data.SqlClient
Public Class CONSULTA1

Private Sub CONSULTA1_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
Dim datos As New SqlDataAdapter("consulta1", CONEX)
Dim DS As New Data.DataSet
datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.Fill(DS, "QUERY1")
DGV.DataSource = DS.Tables("QUERY1")
End Sub
End Class

CREATE PROC CONSULTA2


@CATE INT
AS
SELECT
ProductID,ProductName,UnitPrice,UnitsInStock,COMPANYNAME,CategoryID

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


17
Manual de Visual Basic Parte II 2012
FROM Products AS P INNER JOIN Suppliers AS S ON P.SupplierID=S.SupplierID
WHERE CategoryID=@CATE

Imports System.Data.SqlClient
Public Class consulta02
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim datos As New SqlDataAdapter("query2", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.SelectCommand.Parameters.Add("@cate", SqlDbType.Int).Value =
ListBox1.SelectedValue

Dim ds As New Data.DataSet


datos.Fill(ds, "query2")
DGV2.DataSource = ds.Tables("query2")
End Sub

Private Sub consulta02_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'NorthwindDataSet.Categories'
Puede moverla o quitarla según sea necesario.
Me.CategoriesTableAdapter.Fill(Me.NorthwindDataSet.Categories)

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


18
Manual de Visual Basic Parte II 2012
AGREGAR UNA CONSULTA A UN LISTBOX

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


19
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


20
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


21
Manual de Visual Basic Parte II 2012

Asignar los valores correspondientes al listbox

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


22
Manual de Visual Basic Parte II 2012

 Consultar entre dos precios.

CREATE PROC CONSULTA3


@ls float,
@li float
AS
SELECT ProductName,UnitPrice,Categoryname,COMPANYNAME
FROM Products AS P INNER JOIN Suppliers AS S ON P.SupplierID=S.SupplierID
inner join Categories as c on P.CategoryID=c.CategoryID
WHERE UnitPrice between @ls and @li

Imports System.Data.SqlClient
Public Class consulta03

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles


Button1.Click
Dim datos As New SqlDataAdapter("consulta3", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.SelectCommand.Parameters.Add("@ls", SqlDbType.Int).Value = TextBox1.Text
datos.SelectCommand.Parameters.Add("@li", SqlDbType.Int).Value = TextBox2.Text
Dim ds As New Data.DataSet
datos.Fill(ds, "query3")

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


23
Manual de Visual Basic Parte II 2012
DGV3.DataSource = ds.Tables("query3")
End Sub
End Class

 Consultar productos q empiecen con una determinada letra.

CREATE proc CONSULTAS4


@X NVARCHAR (40)
AS
SELECT ProductName, UnitPrice,CategoryID,SupplierID
FROM Products
WHERE ProductName LIKE @X + '%'

Imports System.Data.SqlClient
Public Class consulta04

Private Sub TextBox1_KeyPress(sender As Object, e As


System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim datos As New SqlDataAdapter("consultas4", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


24
Manual de Visual Basic Parte II 2012
datos.SelectCommand.Parameters.Add("@x", SqlDbType.VarChar).Value = TextBox1.Text

Dim ds As New Data.DataSet


datos.Fill(ds, "query4")
DGV4.DataSource = ds.Tables("query4")
End Sub
End Class

 Filtrar por el nombre del producto.

CREATE PROC CONSULTA5


@N INT
AS
SELECT PRODUCTNAME, UNITPRICE,UNITSINSTOCK,SUPPLIERID
FROM Products
WHERE SupplierID=@N

Imports System.Data.SqlClient
Public Class consulta05

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


25
Manual de Visual Basic Parte II 2012
Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As
System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim datos As New SqlDataAdapter("consulta5", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.SelectCommand.Parameters.Add("@n", SqlDbType.Int).Value =
ListBox1.SelectedValue

Dim ds As New Data.DataSet


datos.Fill(ds, "query5")
DGV5.DataSource = ds.Tables("query5")
End Sub

Private Sub consulta05_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
Me.SuppliersTableAdapter1.Fill(Me.Northwind1DataSet2.Suppliers)
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


26
Manual de Visual Basic Parte II 2012

 Filtrar por número de orden:

CREATE PROC CONSULTA6


@N INT
AS
SELECT O.OrderID,P.PRODUCTID,P.PRODUCTNAME,P.UNITPRICE,OD.QUANTITY
FROM [Order Details] AS OD INNER JOIN ORDERS AS O ON
O.OrderID=OD.OrderID INNER JOIN PRODUCTS AS P
ON P.ProductID=OD.ProductID
WHERE O.OrderID=@N

Imports System.Data.SqlClient
Public Class consulta06

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles


Button1.Click
Dim datos As New SqlDataAdapter("consulta6", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.SelectCommand.Parameters.Add("@n", SqlDbType.Int).Value = TextBox1.Text

Dim ds As New Data.DataSet


datos.Fill(ds, "query6")
DGV6.DataSource = ds.Tables("query6")
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


27
Manual de Visual Basic Parte II 2012
 Con radiobutton mostrar los productos con stock o sin stock.

CREATE PROC CONSULTA7


AS
SELECT PRODUCTiD, PRODUCTNAME,UNITPRICE,UNITSINSTOCK
FROM Products
WHERE UnitsInStock=0

CREATE PROC CONSULTAS7


AS
SELECT PRODUCTiD, PRODUCTNAME,UNITPRICE,UNITSINSTOCK
FROM Products
WHERE UnitsInStock!=0

Imports System.Data.SqlClient
Public Class consulta07

Private Sub RadioButton1_CheckedChanged(sender As System.Object, e As


System.EventArgs) Handles RadioButton1.CheckedChanged
Dim datos As New SqlDataAdapter("consultas7", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
Dim ds As New Data.DataSet
datos.Fill(ds, "query7")
DGV7.DataSource = ds.Tables("query7")
End Sub

Private Sub RadioButton2_CheckedChanged(sender As System.Object, e As


System.EventArgs) Handles RadioButton2.CheckedChanged
Dim datos As New SqlDataAdapter("consulta7", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
Dim ds As New Data.DataSet
datos.Fill(ds, "query8")
DGV7.DataSource = ds.Tables("query8")
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


28
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


29
Manual de Visual Basic Parte II 2012
 Mostrar los productos discontinuados.

CREATE PROC CONSU8


@N INT
AS
SELECT PRODUCTID, PRODUCTNAME,UNITPRICE,DISCONTINUED
FROM Products
WHERE Discontinued=@N

Imports System.Data.SqlClient
Public Class consulta08
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles CheckBox1.CheckedChanged
Dim datos As New SqlDataAdapter("consu8", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.SelectCommand.Parameters.Add("@n", SqlDbType.Bit).Value = CheckBox1.Checked
Dim ds As New Data.DataSet
datos.Fill(ds, "query9")
DGV8.DataSource = ds.Tables("query9")
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


30
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


31
Manual de Visual Basic Parte II 2012
EJERCICIOS COMPLEMENTARIOS SOBRE CONSULTAS A BASE DE DATOS USANDO
VISUAL BASIC 2010
Programación Aplicada I

1.
Modo Diseño:

Consultas en SQL:

create proc TipBusComienza


@t nvarchar(40)
as
select ProductId, ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname
from Products as p inner join Categories as c on c.CategoryID=p.CategoryID inner join
Suppliers as s on s.SupplierID=p.SupplierID
where ProductName like @t+ '%'

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


32
Manual de Visual Basic Parte II 2012
create proc TipBusTermina
@t nvarchar(40)
as
select ProductId, ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname
from Products as p inner join Categories as c on c.CategoryID=p.CategoryID inner join
Suppliers as s on s.SupplierID=p.SupplierID
where ProductName like '%'+@t

create proc TipBusContiene


@t nvarchar(40)
as
select ProductId, ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname
from Products as p inner join Categories as c on c.CategoryID=p.CategoryID inner join
Suppliers as s on s.SupplierID=p.SupplierID
where ProductName like '%'+@t+'%'

create proc TipBusNoContiene


@t nvarchar(40)
as
select ProductId, ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname
from Products as p inner join Categories as c on c.CategoryID=p.CategoryID inner join
Suppliers as s on s.SupplierID=p.SupplierID
where ProductName not like '%'+@t+'%'

create proc TipBusIgualA


@t nvarchar(40)
as
select ProductId, ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname
from Products as p inner join Categories as c on c.CategoryID=p.CategoryID inner join
Suppliers as s on s.SupplierID=p.SupplierID
where ProductName =@t

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


33
Manual de Visual Basic Parte II 2012
Código:

Imports System.Data.SqlClient
Public Class Form1
Dim var1, var2, var3 As String
Private Sub TextBox1_KeyPress(sender As Object, e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(13) Then
Select Case (ListBox1.SelectedIndex)
Case 0
var1 = "TipBusComienza"
Case 1
var1 = "TipBusTermina"
Case 2
var1 = "TipBusContiene"
Case 3
var1 = "TipBusNoContiene"
Case 4
var1 = "TipBusIgualA"
End Select
If ListBox1.SelectedIndex Then
TextBox1.Focus()
End If
TextBox1.Focus()
Dim conex As New
SqlConnection("server=.;database=Northwind;trusted_connection=true")
Dim datos As New SqlDataAdapter(var1, conex)
Dim ds As New Data.DataSet
datos.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos.SelectCommand.Parameters.Add("@t", SqlDbType.NVarChar, 40).Value =
TextBox1.Text
datos.Fill(ds, "Query1")
DGV.DataSource = ds.Tables("Query1")
TextBox1.Text = ""
TextBox1.Focus()
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


34
Manual de Visual Basic Parte II 2012
Pantallas:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


35
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


36
Manual de Visual Basic Parte II 2012
Modo Diseño:

Consultas en SQL:

create proc selec1


as
select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued
from Products
where UnitsinStock!=0

create proc selec2


as
select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued
from Products
where Discontinued=0

create proc selec3


@cat int

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


37
Manual de Visual Basic Parte II 2012
as
select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued
from Products
where CategoryID=@cat
create proc selec4
as
select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued
from Products

Código:

Imports System.Data.SqlClient
Public Class Form2
Dim var1, var2 As String
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles
Button1.Click
Dim conex As New SqlConnection("server=.;database=Northwind;trusted_connection=true")
If RadioButton1.Checked = True Then
var1 = "selec1"
Dim datos2 As New SqlDataAdapter(var1, conex)
Dim ds2 As New Data.DataSet
datos2.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos2.Fill(ds2, "Query1")
DGV.DataSource = ds2.Tables("Query1")
ElseIf RadioButton2.Checked = True Then
var1 = "selec2"
Dim datos As New SqlDataAdapter("selec2", conex)
Dim ds As New Data.DataSet
datos.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos.Fill(ds, "Query2")
DGV.DataSource = ds.Tables("Query2")
ElseIf RadioButton3.Checked = True Then
var1 = "selec3"
Dim datos1 As New SqlDataAdapter(var1, conex)
Dim ds1 As New Data.DataSet
datos1.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos1.SelectCommand.Parameters.Add("@cat", SqlDbType.NVarChar, 40).Value =
TextBox1.Text
datos1.Fill(ds1, "Query3")
DGV.DataSource = ds1.Tables("Query3")
ElseIf RadioButton4.Checked = True Then
var1 = "selec4"
Dim datos As New SqlDataAdapter(var1, conex)
Dim ds As New Data.DataSet
datos.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos.Fill(ds, "Query4")
DGV.DataSource = ds.Tables("Query4")
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


38
Manual de Visual Basic Parte II 2012
Pantallas:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


39
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


40
Manual de Visual Basic Parte II 2012
2.
Modo Diseño:

Consultas en SQL:

create proc selec1


as
select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued
from Products
where UnitsinStock!=0

create proc selec2


as
select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued
from Products
where Discontinued=0

create proc selec3


@cat int
as
select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued
from Products

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


41
Manual de Visual Basic Parte II 2012
where CategoryID=@cat

create proc selec4


as
select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued
from Products

Código:

Imports System.Data.SqlClient
Public Class Form3
Dim var1 As String
Private Sub RadioButton1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles
RadioButton3.CheckedChanged, RadioButton2.CheckedChanged, RadioButton1.CheckedChanged,
RadioButton4.CheckedChanged
Dim conex As New SqlConnection("server=.;database=Northwind;trusted_connection=true")
If RadioButton1.Checked = True Then
var1 = "selec1"
Dim datos2 As New SqlDataAdapter(var1, conex)
Dim ds2 As New Data.DataSet
datos2.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos2.Fill(ds2, "Query1")
DGV.DataSource = ds2.Tables("Query1")
ElseIf RadioButton2.Checked = True Then
var1 = "selec2"
Dim datos As New SqlDataAdapter("selec2", conex)
Dim ds As New Data.DataSet
datos.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos.Fill(ds, "Query2")
DGV.DataSource = ds.Tables("Query2")
ElseIf RadioButton3.Checked = True Then
If RadioButton3.Checked Then
TextBox1.Enabled = True
Else
TextBox1.Enabled = False
End If
TextBox1.Focus()
ElseIf RadioButton4.Checked = True Then
var1 = "selec4"
Dim datos As New SqlDataAdapter(var1, conex)
Dim ds As New Data.DataSet
datos.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos.Fill(ds, "Query4")
DGV.DataSource = ds.Tables("Query4")
End If
End Sub
Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles
TextBox1.KeyPress
If e.KeyChar = Chr(13) Then
TextBox1.Focus()
Dim conex As New SqlConnection("server=.;database=Northwind;trusted_connection=true")
Dim datos As New SqlDataAdapter("selec3", conex)
Dim ds As New Data.DataSet
datos.SelectCommand.CommandType = CommandType.StoredProcedure '***
datos.SelectCommand.Parameters.Add("@cat", SqlDbType.NVarChar, 40).Value = TextBox1.Text
datos.Fill(ds, "Query3")
DGV.DataSource = ds.Tables("Query3")
TextBox1.Text = ""
TextBox1.Focus()
End If
End Sub
End Class
Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I
42
Manual de Visual Basic Parte II 2012
Pantallas:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


43
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


44
Manual de Visual Basic Parte II 2012
3.
Modo Diseño:

Código:

Imports System.Data.SqlClient

Public Class Form4

Private Sub MonthCalendar1_DateChanged(sender As System.Object, e As


System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged
TextBox1.Text = MonthCalendar1.SelectionStart
Dim traerdatos As New SqlDataAdapter("ejercicio4", conex2)
traerdatos.SelectCommand.CommandType = CommandType.StoredProcedure
traerdatos.SelectCommand.Parameters.Add("@fecha", SqlDbType.DateTime).Value =
MonthCalendar1.SelectionStart
'fill = es abre la conexion, ejecuta la consulta
Dim contenedordatos As New Data.DataSet
traerdatos.Fill(contenedordatos, "con categoria")
DataGridView1.DataSource = contenedordatos.Tables("con categoria")
End Sub

Private Sub Form4_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load


TextBox1.Enabled = False
End Sub
End Class

Consulta SQL:

create proc ejercicio4


@fecha datetime
as
select o.OrderId, (OrderDate), ProductName, p.UnitPrice , Quantity

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


45
Manual de Visual Basic Parte II 2012
from Products as p
inner join [Order Details] as od on od.ProductID =p.ProductID
inner join Orders as o on o.OrderID =od.OrderID
where @fecha=OrderDate

Pantallas:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


46
Manual de Visual Basic Parte II 2012
EJERCICIOS
1.

Categorías

categoriId categorYname Descripción

create proc categorias


as
select CategoryID,CategoryName,Description
from Categories

Productos

productoid productname unitprice categoriId

create proc productos


@cat int
as
select ProductID,ProductName,UnitPrice,CategoryID
from (Products)
where CategoryID=@cat

Imports System.Data.SqlClient
Public Class consulta13

Private Sub consulta13_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
'TODO: This line of code loads data into the 'Northwind1DataSet.Categories' table. You
can move, or remove it, as needed.
Me.CategoriesTableAdapter1.Fill(Me.Northwind1DataSet.Categories)
End Sub
Dim conex As New SqlConnection("Data Source=MIK3\io;Initial
Catalog=Northwind1;Integrated Security=True")

Private Sub DGVCAB_CellEnter(sender As Object, e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVCAB.CellEnter
Dim detalle As New SqlDataAdapter("select ProductID ,ProductName ,UnitPrice
,CategoryID from Products where CategoryID =@cate", conex)
Dim DB As New Data.DataSet

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


47
Manual de Visual Basic Parte II 2012
detalle.SelectCommand.Parameters.Add("@cate", SqlDbType.Int).Value =
DGVCAB.Rows(e.RowIndex).Cells(0).Value
detalle.Fill(DB, "detalle")
DGVDET.DataSource = DB.Tables("detalle")
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


48
Manual de Visual Basic Parte II 2012

1.

ORDERS

ORDERID ORDERDATE FREIGHT

create proc ord


as
SELECT OrderID, OrderDate,Freight
FROM Orders

ORDERDETAILS

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


49
Manual de Visual Basic Parte II 2012
ORDERID DISCOUNT PRODUCTID PRODUCTNAME
UNITPRICE
QUANTITI

create proc ordet


@n int
as
SELECT OrderID,Discount,P.ProductID,ProductnAME,P.UnitPrice
FROM [Order Details] OD INNER JOIN Products P ON P.ProductID=OD.ProductID
where OrderID=@n

Imports System.Data.SqlClient
Public Class CONSULTA14
Private Sub CONSULTA14_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim datos As New SqlDataAdapter("ord", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
Dim ds As New Data.DataSet
datos.Fill(ds, "consulta14")
DataGridView1.DataSource = ds.Tables("consulta14")
End Sub
Private Sub DataGridView1_CellEnter(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
Dim datos As New SqlDataAdapter("ordet", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.SelectCommand.Parameters.Add("@n", SqlDbType.Int).Value =
DataGridView1.Rows(e.RowIndex).Cells(0).Value
Dim ds As New Data.DataSet
datos.Fill(ds, "consulta141")
DataGridView2.DataSource = ds.Tables("consulta141")
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


50
Manual de Visual Basic Parte II 2012

2.

EMPLEADOID FIRSTNAME LASTNAME


ADRESS CITY COUNTRY

MOSTRAR LA FOTO DEL EMPLEADO SELECCIONADO

Me.EmployeesTableAdapter.Fill(Me.Northwind1DataSet3.Employees)

Imports System.Data.SqlClient
Public Class consulta15
Dim n As Integer

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


51
Manual de Visual Basic Parte II 2012
Dim conex As New SqlConnection("Data Source=MIK3\io;Initial
Catalog=Northwind1;Integrated Security=True")
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
n = DataGridView1.Rows(e.RowIndex).Cells(0).Value
PictureBox1.Image = Image.FromFile(CStr(n) + ".jpg")
End Sub

Private Sub consulta15_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Me.EmployeesTableAdapter.Fill(Me.Northwind1DataSet3.Employees)

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


52
Manual de Visual Basic Parte II 2012
3.

EMPLEADOS
EMPLOYEEID LASTNAME FIRSTNAME

Me.EmployeesTableAdapter.Fill(Me.Northwind1DataSet.Employees)

(Nombe completo del empleado)


ÓRDENES REALIZADAS POR:

OrderID OrderDate EmployeeId

CREATE proc ordxemp


@e int
as
select orderid,orderdate, employeeid
from orders
where employeeid=@e

(OrderId)
Productos Comprados en la orden:
OrderId ProductID Productname UnitPrice quantity

CREATE PROC CON3


@O INT
AS
SELECT O.ORDERID, P.ProductID, PRODUCTNAME, P.UNITPRICE,QUANTITY
FROM PRODUCTS P INNER JOIN [ORDER DETAILS] OD ON OD.PRODUCTID=P.ProductID
INNER JOIN ORDERS O ON O.ORDERID=OD.ORDERID
WHERE O.ORDERID=@O

Imports System.Data.SqlClient
Public Class Form3
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


53
Manual de Visual Basic Parte II 2012
Me.EmployeesTableAdapter.Fill(Me.Northwind1DataSet.Employees)
End Sub

Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Dim datos As New SqlDataAdapter("ordxemp", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.SelectCommand.Parameters.Add("@e", SqlDbType.Int).Value =
DataGridView1.Rows(e.RowIndex).Cells(0).Value
Dim ds As New Data.DataSet
datos.Fill(ds, "consulta141")
DataGridView2.DataSource = ds.Tables("consulta141")
Label2.Text = DataGridView1.Rows(e.RowIndex).Cells(1).Value + " " +
DataGridView1.Rows(e.RowIndex).Cells(2).Value
End Sub

Private Sub DataGridView2_CellClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView2.CellClick
Dim datos As New SqlDataAdapter("CON3", conex)
datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.SelectCommand.Parameters.Add("@O", SqlDbType.Int).Value =
DataGridView2.Rows(e.RowIndex).Cells(0).Value
Dim ds As New Data.DataSet
datos.Fill(ds, "consulta141")
DataGridView3.DataSource = ds.Tables("consulta141")
Label4.Text = DataGridView2.Rows(e.RowIndex).Cells(0).Value
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


54
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


55
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


56
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


57
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


58
Manual de Visual Basic Parte II 2012
INSERTAR EN UNA TABLA DE UBA BASE DE DATOS DESDE VISUAL BASIC

EN ESTA OPORTUNIDAD PRIMERO CREAREMOS UNA TABLA “PERSONA”


CON LOS SIGUIENTES CAMPOS:

CREAMOS EL PROCEDIMIENTO ALMACENADO QUE NOS PERMITIRÁ INSERTAR


UNA NUEVA PERSONA

CREATE PROC INSERTAR_PERSO


@ID CHAR (8),
@N VARCHAR(30),
@A VARCHAR(40),
@E VARCHAR(50),
@G CHAR(1),
@EC CHAR(1),
@FN DATETIME
AS
INSERT INTO PERSONAS
VALUES (@ID,@N,@A,@E,@G,@EC,@FN)

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


59
Manual de Visual Basic Parte II 2012

VERIFICAMOS EJECUTANDO EL PROCEDIMIENTO ALMACENADO


INSERTAR_PERSO
EXEC INSERTAR_PERSO '47060664','KAREN JOHANA','ESTRADA
AGUILAR','KJESTRADAA@UNC.EDU.PE','F','S','22/10/1991'

HACEMOS LA SIGUIENTE CONSULTA PARA VERIFICAR:

SELECT *
FROM PERSONAS

OBTENIENTO EL SIGUIENTE RESULTADO:

OBJETO MaskedTextBox

CAMBIAR LA MASCARA

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


60
Manual de Visual Basic Parte II 2012

INSERTAR UNA PERSONA:

Imports System.Data.SqlClient
Public Class Form1
Sub limpiar_ingreso()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox6.Text = ""
MaskedTextBox1.Text = ""
TextBox1.Focus()
End Sub
Sub cargar_datos()
Dim datos As New SqlDataAdapter(" select * from Personas", conex)
Dim ds As New Data.DataSet
datos.Fill(ds, "Tabla")
DataGridView1.DataSource = ds.Tables("Tabla")
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


61
Manual de Visual Basic Parte II 2012
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles
Button1.Click
Dim respuesta As Integer
Dim sexo As Char
Dim insert_per As New SqlCommand("insertar_perso", conex)
If RadioButton1.Checked = True Then
sexo = "F"
ElseIf RadioButton2.Checked = True Then
sexo = "M"
End If
insert_per.CommandType = CommandType.StoredProcedure
insert_per.Parameters.Add("@id", SqlDbType.Char, 8).Value = TextBox1.Text
insert_per.Parameters.Add("@n", SqlDbType.VarChar, 30).Value = TextBox2.Text
insert_per.Parameters.Add("@a", SqlDbType.VarChar, 40).Value = TextBox3.Text
insert_per.Parameters.Add("@e", SqlDbType.VarChar, 50).Value = TextBox4.Text
insert_per.Parameters.Add("@g", SqlDbType.Char, 1).Value = sexo
insert_per.Parameters.Add("@ec", SqlDbType.Char, 1).Value = TextBox6.Text
insert_per.Parameters.Add("@fn", SqlDbType.DateTime).Value =
CDate(MaskedTextBox1.Text)
conex.Open()
respuesta = insert_per.ExecuteNonQuery
conex.Close()
If respuesta = 1 Then
MessageBox.Show("Se grabó el registro")
limpiar_ingreso()
cargar_datos()
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


62
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


63
Manual de Visual Basic Parte II 2012

Ahora creamos la tabla “libros”

LA TABLA EDITORIAL Y LA TABLA AUTOR

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


64
Manual de Visual Basic Parte II 2012

LLENAMOS LAS TABLA EDITORIALES Y AUTORES CON ALGUNOS DATOS:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


65
Manual de Visual Basic Parte II 2012
CREAMOS UN PROCEDIMIENTO ALMACENADO QUE NOS PERMITA INSERTAR
NUEVOS LIBROS:

use Northwind1
CREATE proc inserlibros
@t varchar(50),
@ide int,
@e varchar(50),
@a datetime,
@ida int
as
insert into Libros
(Titulo,IDEditorial,Edicion,AÑO_PUBLICACION,Autor)
values(@t,@ide,@e,@a,@ida)

Imports System.Data.SqlClient
Public Class Form2
Sub limpiar_ingreso()
TextBox1.Text = ""
TextBox2.Text = ""
MaskedTextBox1.Text = ""
TextBox1.Focus()
End Sub
Sub cargar_datos()

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


66
Manual de Visual Basic Parte II 2012
Dim datos As New SqlDataAdapter(" select * from Libros", conex)
Dim ds As New Data.DataSet
datos.Fill(ds, "Tabla")
DataGridView1.DataSource = ds.Tables("Tabla")
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Me.AUTORESTableAdapter.Fill(Me.Northwind1DataSet1.AUTORES)
Me.EDITORIALESTableAdapter1.Fill(Me.Northwind1DataSet.EDITORIALES)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim respuesta As Integer
Dim insert_per As New SqlCommand("inserlibros", conex)
insert_per.CommandType = CommandType.StoredProcedure
insert_per.Parameters.Add("@t", SqlDbType.VarChar, 50).Value = TextBox1.Text
insert_per.Parameters.Add("@ide", SqlDbType.Int).Value = ListBox1.SelectedValue
insert_per.Parameters.Add("@e", SqlDbType.VarChar, 50).Value = TextBox2.Text
insert_per.Parameters.Add("@a", SqlDbType.DateTime).Value = MaskedTextBox1.Text
insert_per.Parameters.Add("@ida", SqlDbType.Int).Value = ListBox2.SelectedValue
conex.Open()
respuesta = insert_per.ExecuteNonQuery
conex.Close()
If respuesta = 1 Then
MessageBox.Show("Se grabó el registro")
limpiar_ingreso()
cargar_datos()
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


67
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


68
Manual de Visual Basic Parte II 2012

CONSULTAR, AGREGAR Y ELIMINAR REGISTROS EN LA TABLA CATEGORÍAS

Creamos un origen de datos, escogiendo los campos Category ID, Category Name,
Description de la tabla Categories:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


69
Manual de Visual Basic Parte II 2012

Arrastramos este hacia el formulario teniendo lo siguiente:

Código generado automáticamente:

Public Class Form1

Private Sub CategoriesBindingNavigatorSaveItem_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles CategoriesBindingNavigatorSaveItem.Click
Me.Validate()
Me.CategoriesBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.Northwind1DataSet)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles MyBase.Load
'TODO: This line of code loads data into the 'Northwind1DataSet.Categories' table. You
can move, or remove it, as needed.

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


70
Manual de Visual Basic Parte II 2012
Me.CategoriesTableAdapter.Fill(Me.Northwind1DataSet.Categories)

End Sub
End Class

Observando las categorías:

Agregando un nuevo registro:

El código se autogenera, sólo llenamos el nombre y la descripción:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


71
Manual de Visual Basic Parte II 2012
Damos en guardar:

Verificamos en sql:

También lo podríamos eliminar:

Guardamos:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


72
Manual de Visual Basic Parte II 2012
Verificamos en sql:

Con el ejercicio anterior también podemos observar los productos que pertenecen a
esa categoría cargando la información en un DataGridView:

Imports System.Data.SqlClient
Public Class Form1
Sub CargarDatos()
Dim conex As New
SqlConnection("server=MIK3\io;database=northwind1;trusted_connection=true")
Dim datos As New SqlDataAdapter("select
productname,unitprice,unitsinstock,categoryid from products where categoryid=@cate",
conex)
Dim ds As New Data.DataSet
datos.SelectCommand.Parameters.Add("@cate", SqlDbType.Int).Value =
CInt(CategoryIDTextBox.Text)
datos.Fill(ds, "Detalle")
DataGridView1.DataSource = ds.Tables("Detalle")
End Sub
Private Sub CategoriesBindingNavigatorSaveItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs)
Me.Validate()
Me.CategoriesBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.Northwind1DataSet)
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


73
Manual de Visual Basic Parte II 2012
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
'TODO: This line of code loads data into the 'Northwind1DataSet.Categories' table. You
can move, or remove it, as needed.
Me.CategoriesTableAdapter.Fill(Me.Northwind1DataSet.Categories)
CargarDatos()
End Sub
Private Sub CategoryIDTextBox_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles CategoryIDTextBox.TextChanged
CargarDatos()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


74
Manual de Visual Basic Parte II 2012

BUSCAR LA INFORMACIÓN DE UN PRODUCTO DE UN DETERMINADO


PRODUCTID:

Imports System.Data.SqlClient
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim conex As New
SqlConnection("server=MIK3\io;database=northwind1;trusted_connection=true")
Dim comando As New SqlCommand("select productname, unitprice, unitsinstock,
categoryid from products where productid= @id", conex)
comando.Parameters.Add("@id", SqlDbType.Int).Value = CInt(TextBox1.Text)
Dim registro As SqlDataReader
conex.Open()

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


75
Manual de Visual Basic Parte II 2012
registro = comando.ExecuteReader() ' se utiliza cuando es una consulta el
executereader trae una variable y la alamcena en registro
registro.Read()
If registro.HasRows = True Then
TextBox3.Text = registro.Item(0)
TextBox5.Text = registro.Item(3)
TextBox4.Text = registro.Item(1)
TextBox2.Text = registro.Item(2)
Else
MessageBox.Show("NO HAY REGISTROS QUE MOSTRAR")
End If
registro.Close()
conex.Close()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


76
Manual de Visual Basic Parte II 2012

Guardar en una lista los datos del producto de un determinado proveedor:

Imports System.Data.SqlClient
Public Class Form3
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim conex As New
SqlConnection("server=MIK3\io;database=northwind1;trusted_connection=true")
Dim comando As New SqlCommand("select productname, unitprice, unitsinstock,
SupplierID from products where SupplierID= @id", conex)
comando.Parameters.Add("@id", SqlDbType.Int).Value = CInt(TextBox1.Text)

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


77
Manual de Visual Basic Parte II 2012
Dim registro As SqlDataReader
conex.Open()
registro = comando.ExecuteReader()
registro.Read()
Do While registro.Read()
ListBox1.Items.Add(CStr(registro.Item(0)) + "-" + CStr(registro.Item(1)) + "-" +
CStr(registro.Item(2)) + "-" + CStr(registro.Item(3)))
Loop
registro.Close()
conex.Close()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


78
Manual de Visual Basic Parte II 2012
CREAR IN INICIO DE SESIÓN PARA EL SISTEMA

Agregamos un nuevo elemento y escogemos Login Form:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


79
Manual de Visual Basic Parte II 2012
Ahora crearemos una tabla de usuarios en SQL respectivo:

LLENAMOS CON ALGUNOS DATOS:

EN VISUAL BASIC:

Imports System.Data.SqlClient
Public Class LoginForm1
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
OK.Click
Dim VALOR As Integer

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


80
Manual de Visual Basic Parte II 2012
Dim conex As New
SqlConnection("server=MIK3\io;database=northwind1;trusted_connection=true")
Dim QUERY As New SqlCommand("SELECT COUNT(*) FROM USUARIOS WHERE
USUARIO=@U AND CONTRASEÑA=@P", conex)
QUERY.Parameters.Add("@U", SqlDbType.VarChar, 20).Value = UsernameTextBox.Text
QUERY.Parameters.Add("@P", SqlDbType.VarChar, 20).Value = PasswordTextBox.Text
conex.Open()
VALOR = QUERY.ExecuteScalar()
conex.Close()
If VALOR = 1 Then
Form1.Show()
Me.Hide()
Me.Close()
Else
MessageBox.Show("USUARIO Y/O CONTRASEÑA INCORRECTA!!!")
MessageBox.Show("VUELVA A INGRESAR LO CORRECTO")
UsernameTextBox.Text = Space(0)
PasswordTextBox.Text = Space(0)
UsernameTextBox.Focus()
Me.Show()
End If
End Sub

Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Cancel.Click
Me.Close()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


81
Manual de Visual Basic Parte II 2012
SÍ SE EJECUTA!!!!

CUANDO LA CONTRASEÑA O USUARIO ES INCORRECTO:

Cambiar contraseña desde otro formulario


Agregamos un link en el LoginForm1:

AL HACER CLIC EN EL LINK NOS LLEVA A OTRO FORMULARIO:

Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As


System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
Form4.Show()
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


82
Manual de Visual Basic Parte II 2012
EN EL FORMULARIO 4:

Imports System.Data.SqlClient
Public Class Form4
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim conex As New
SqlConnection("server=MIK3\io;database=northwind1;trusted_connection=true")
Dim DATOS As New SqlCommand("UPDATE USUARIOS SET CONTRASEÑA=@NP
WHERE USUARIO=@U AND CONTRASEÑA=@P", conex)
If TextBox3.Text = TextBox4.Text Then
conex.Open()
DATOS.Parameters.Add("@NP", SqlDbType.VarChar, 20).Value = TextBox3.Text
DATOS.Parameters.Add("@U", SqlDbType.VarChar, 20).Value = TextBox1.Text
DATOS.Parameters.Add("@P", SqlDbType.VarChar, 20).Value = TextBox2.Text
MessageBox.Show("CAMBIO EXITOSO")
DATOS.ExecuteNonQuery()
conex.Close()
Else : MessageBox.Show("NO SE HA CAMBIADO")
End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button2.Click
Me.Close()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


83
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


84
Manual de Visual Basic Parte II 2012
CREANDO EL SISTEMA DE ASISTENCIA DE LOS ALUMNOS DE INGENIERÍA
DE SISTEMAS A LA XII SEMANA SISTÉMICA

CREAMOS LA BASE DE DATOS SEM_SIST

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


85
Manual de Visual Basic Parte II 2012

Buscar un alumno o por su código o por su apellido:

create proc buscar_parti


@id varchar(10)
as
select *
from PARTICIPANTES
where IDPARTICIPANTE like @id+'%'

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


86
Manual de Visual Basic Parte II 2012
create proc cod
@ap varchar(20)
as
select *
from PARTICIPANTES
where APEPAT like @ap+'%'

Imports System.Data.SqlClient
Public Class Form1

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If RadioButton1.Checked = True Then
Dim datos As New SqlDataAdapter("buscar_parti", CONEX)
Dim ds As New Data.DataSet

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


87
Manual de Visual Basic Parte II 2012
datos.SelectCommand.CommandType = CommandType.StoredProcedure
datos.SelectCommand.Parameters.Add("@id", SqlDbType.VarChar, 10).Value =
TextBox1.Text
datos.Fill(ds, "participantes")
DataGridView1.DataSource = ds.Tables("participantes")
ElseIf RadioButton2.Checked = True Then
Dim datos1 As New SqlDataAdapter("cod", CONEX)
Dim ds1 As New Data.DataSet
datos1.SelectCommand.CommandType = CommandType.StoredProcedure
datos1.SelectCommand.Parameters.Add("@AP", SqlDbType.VarChar, 20).Value =
TextBox1.Text
datos1.Fill(ds1, "participantes2")
DataGridView1.DataSource = ds1.Tables("participantes2")
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


88
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


89
Manual de Visual Basic Parte II 2012

MANTENIMIENTO DE INSTITUCIONES

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


90
Manual de Visual Basic Parte II 2012

MANTENIMIENTO DE CONFERENCIAS

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


91
Manual de Visual Basic Parte II 2012

NUEVO PARICIPANTE

Imports System.Data.SqlClient
Public Class Form4

Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles MyBase.Load
'TODO: This line of code loads data into the 'SEM_SISTDataSet3.INSTITUCIONES'
table. You can move, or remove it, as needed.
Me.INSTITUCIONESTableAdapter.Fill(Me.SEM_SISTDataSet3.INSTITUCIONES)

End Sub
Sub limpiar_ingreso()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
ComboBox1.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox1.Focus()
End Sub
Sub cargar_datos()
Dim datos As New SqlDataAdapter(" select * from PARTICIPANTES", CONEX)
Dim ds As New Data.DataSet
datos.Fill(ds, "Tabla")

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


92
Manual de Visual Basic Parte II 2012
DataGridView1.DataSource = ds.Tables("Tabla")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim respuesta As Integer
Dim sexo As Char
Dim insert_par As New SqlCommand("InsertaParticipante", CONEX)
If RadioButton1.Checked = True Then
sexo = "1"
ElseIf RadioButton2.Checked = True Then
sexo = "2"
End If
insert_par.CommandType = CommandType.StoredProcedure
insert_par.Parameters.Add("@id", SqlDbType.Char, 10).Value = TextBox1.Text
insert_par.Parameters.Add("@ap", SqlDbType.VarChar, 20).Value = TextBox2.Text
insert_par.Parameters.Add("@am", SqlDbType.VarChar, 40).Value = TextBox3.Text
insert_par.Parameters.Add("@n", SqlDbType.VarChar, 50).Value = TextBox4.Text
insert_par.Parameters.Add("@s", SqlDbType.Char, 1).Value = sexo
insert_par.Parameters.Add("@e", SqlDbType.VarChar, 45).Value = TextBox5.Text
insert_par.Parameters.Add("@i", SqlDbType.Int).Value = ComboBox1.SelectedValue
CONEX.Open()
respuesta = insert_par.ExecuteNonQuery
CONEX.Close()
If respuesta = 1 Then
MessageBox.Show("Se grabó el registro")
limpiar_ingreso()
cargar_datos()
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


93
Manual de Visual Basic Parte II 2012

REPORTING SERVICE

AGREGAMOS UN NUEVO ELEMENTO (UN REPORTE):

ACEPTAMOS Y CREAMOS UN REPORTE:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


94
Manual de Visual Basic Parte II 2012

EN EL FORMULARIO ESCOGEMOS EL OBJETO REPORTVIEWER

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


95
Manual de Visual Basic Parte II 2012
EJECUTAMOS

REPORTE DE VENTA DE TRUCHAS:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


96
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


97
Manual de Visual Basic Parte II 2012
Ventas por los empleados de cada año:

 Órdenes por empleados en los meses:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


98
Manual de Visual Basic Parte II 2012

 Productos:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


99
Manual de Visual Basic Parte II 2012

Public Class Form5

Private Sub Form5_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
Me.CategoriesTableAdapter.Fill(Me.NorthwindDataSet6.Categories)

ComboBox1.Text = Space(0)
End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As


System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Me.CATEGORIASTableAdapter.Fill(Me.NorthwindDataSet5.CATEGORIAS)

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


100
Manual de Visual Basic Parte II 2012
Me.REPORTESTableAdapter.Fill(Me.NorthwindDataSet4.REPORTES,
ComboBox1.SelectedValue)
Me.ReportViewer1.RefreshReport()
End Sub
End Class

 Libros con páginas

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


101
Manual de Visual Basic Parte II 2012
Clientes

Public Class Form7

Private Sub Form7_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'NorthwindDataSet8.Suppliers'
Puede moverla o quitarla según sea necesario.
Me.SuppliersTableAdapter.Fill(Me.NorthwindDataSet8.Suppliers)
'TODO: esta línea de código carga datos en la tabla 'NorthwindDataSet7.Customers'
Puede moverla o quitarla según sea necesario.
Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet7.Customers)

Me.ReportViewer1.RefreshReport()
Me.ReportViewer2.RefreshReport()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


102
Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


103
Manual de Visual Basic Parte II 2012

Ver empleado y Órdenes que ha realizado

Reporte:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


104
Manual de Visual Basic Parte II 2012

Imports System.Data.SqlClient
Public Class Form1

Private Sub EmployeesBindingNavigatorSaveItem_Click(sender As System.Object, e As


System.EventArgs) Handles EmployeesBindingNavigatorSaveItem.Click
Me.Validate()
Me.EmployeesBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NorthwindDataSet)

End Sub

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
Me.EmployeesTableAdapter.Fill(Me.NorthwindDataSet.Employees)
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


105
Manual de Visual Basic Parte II 2012
Private Sub EmployeeIDTextBox_TextChanged(sender As System.Object, e As
System.EventArgs) Handles EmployeeIDTextBox.TextChanged
Dim conex As New
SqlConnection("server=.;database=Northwind;trusted_connection=true")
Dim DATOS As New SqlDataAdapter("detalle_orden", conex)
Dim ds As New Data.DataSet
DATOS.SelectCommand.CommandType = CommandType.StoredProcedure '***
DATOS.SelectCommand.Parameters.Add("@e", SqlDbType.Int).Value =
EmployeeIDTextBox.Text
DATOS.Fill(ds, "empleado")
DataGridView1.DataSource = ds.Tables("empleado")
End Sub
End Class

 Reporte seleccionar un año:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


106
Manual de Visual Basic Parte II 2012

Public Class Form2

Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load

Me.ANIOTableAdapter.Fill(Me.NorthwindDataSet2.ANIO)
End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As


System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Me.producvendiTableAdapter.Fill(Me.NorthwindDataSet4.producvendi,
ComboBox1.SelectedValue)
Me.ReportViewer1.RefreshReport()
End Sub

End Class

 Seleccionando el cliente:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


107
Manual de Visual Basic Parte II 2012

Public Class Form3

Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
Me.MONTOSTableAdapter.Fill(Me.NorthwindDataSet9.MONTOS)
Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet5.Customers)

Me.ReportViewer1.RefreshReport()
End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As


System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Me.CLIENTESTableAdapter.Fill(Me.NorthwindDataSet7.CLIENTES,
CChar(ComboBox1.SelectedValue))
Me.ReportViewer1.RefreshReport()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


108
Manual de Visual Basic Parte II 2012
Hacer un gráfico de número de productos filtrado por categoría:

Public Class Form4

Private Sub Form4_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
Me.MONTOSTableAdapter.Fill(Me.NorthwindDataSet9.MONTOS)

Me.ReportViewer1.RefreshReport()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


109
Manual de Visual Basic Parte II 2012
 Reporte de los productos:

Public Class Form5

Private Sub Form5_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
Me.PCTableAdapter1.Fill(Me.NorthwindDataSet11.PC)
Me.PCTableAdapter.Fill(Me.NorthwindDataSet10.PC)

Me.ReportViewer1.RefreshReport()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


110
Manual de Visual Basic Parte II 2012

 Pasar un parámetro de clientete

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


111
Manual de Visual Basic Parte II 2012
Public Class Form6
Private Sub Form6_Load(sender As System.Object, e As System.EventArgs) Handles
MyBase.Load
Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet13.Customers)
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As
System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Me.CLIENTITableAdapter.Fill(Me.NorthwindDataSet14.CLIENTI,
ComboBox1.SelectedValue)
Me.ReportViewer1.RefreshReport()
End Sub
End Class

 Hacer un formulario donde se muestren las conferencias, los participantes, asistentes


y un gráfico:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


112
Manual de Visual Basic Parte II 2012
Reporte1:

Reporte2:

Reporte3:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


113
Manual de Visual Basic Parte II 2012
Reporte4:

Código:

Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
Me.ASISXCTableAdapter.Fill(Me.Asistencia_Semana_SistémicaDataSet5.ASISXC)
Me.CONFERENCIASTableAdapter1.Fill(Me.Asistencia_Semana_SistémicaDataSet3.CONFERE
NCIAS)

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


114
Manual de Visual Basic Parte II 2012
Me.CONFERENCIASTableAdapter.Fill(Me.Asistencia_Semana_SistémicaDataSet1.CONFERE
NCIAS)
Me.PARTICIPANTESTableAdapter.Fill(Me.Asistencia_Semana_SistémicaDataSet.PARTICIPA
NTES)
Me.ReportViewer1.RefreshReport()
Me.ReportViewer2.RefreshReport()
Me.ReportViewer4.RefreshReport()
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As
System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Me.ASISTableAdapter.Fill(Me.Asistencia_Semana_SistémicaDataSet2.ASIS,
ComboBox1.SelectedValue)
Me.ReportViewer3.RefreshReport()
End Sub
End Class

 Una consulta que nos lleve a otro formulario:


o Formulario 1:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


115
Manual de Visual Basic Parte II 2012
Imports System.Data.SqlClient
Public Class Form2
Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles
MyBase.Load
Me.ProductsTableAdapter.Fill(Me.NorthwindDataSet.Products)
End Sub
Private Sub DataGridView1_CellContentDoubleClick(sender As Object, e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
DataGridView1.CellContentDoubleClick
Dim detalle As New SqlDataAdapter("SELECT OD.OrderID, OD.UnitPrice, OD.Quantity,
P.ProductName FROM [Order Details] OD INNER JOIN Products P ON OD.ProductID =
P.ProductID WHERE P.ProductNAME=@P", conex)
Dim DB As New Data.DataSet
detalle.SelectCommand.Parameters.Add("@P", SqlDbType.NVarChar, 40).Value =
DataGridView1.Rows(e.RowIndex).Cells(1).Value
detalle.Fill(DB, "detalle")
Form3.DataGridView1.DataSource = DB.Tables("detalle")
Form3.Show()
End Sub
End Class
o Formulario2:

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


116
Manual de Visual Basic Parte II 2012
Imports System.Data.SqlClient
Public Class Form2

Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles


MyBase.Load
Me.ProductsTableAdapter.Fill(Me.NorthwindDataSet.Products)
End Sub
Private Sub DataGridView1_CellContentDoubleClick(sender As Object, e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
DataGridView1.CellContentDoubleClick
Dim detalle As New SqlDataAdapter("SELECT OD.OrderID, OD.UnitPrice, OD.Quantity,
P.ProductName FROM [Order Details] OD INNER JOIN Products P ON OD.ProductID =
P.ProductID WHERE P.ProductNAME=@P", conex)
Dim DB As New Data.DataSet
detalle.SelectCommand.Parameters.Add("@P", SqlDbType.NVarChar, 40).Value =
DataGridView1.Rows(e.RowIndex).Cells(1).Value
detalle.Fill(DB, "detalle")
Form3.DataGridView1.DataSource = DB.Tables("detalle")
Form3.Show()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I


117