Sie sind auf Seite 1von 155

[Escriba texto]

MANUAL DE VISUAL BASIC


PARTE I
TALLER DE PROGRAMACIÓN
DISTRIBUIDA

Prof. Robert Bautista Echevarría


Ayacucho, 2018
Manual de Visual Basic Parte I 2018

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 -

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-4-
Manual de Visual Basic Parte I 2018
3

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.

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

 Esperamos que cargue…

 Observamos el Entorno de Visual Studio 2010.

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-7-
Manual de Visual Basic Parte I 2018
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 W indows Forms Application.

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

CTRL+ALT+X

1.6.3. VENTANA DE PROPIEDADES

F4

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 12 -
Manual de Visual Basic Parte I 2018
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 (W idth, Height).

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 14 -
Manual de Visual Basic Parte I 2018

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 15 -
Manual de Visual Basic Parte I 2018

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 16 -
Manual de Visual Basic Parte I 2018

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 17 -
Manual de Visual Basic Parte I 2018
 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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 18 -
Manual de Visual Basic Parte I 2018

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 19 -
Manual de Visual Basic Parte I 2018
EJERCICIOS

Cambiar de color al formulario con el evento doublé click. 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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 20 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría PROGRAMACIÓN DISTRIBUIDA


- 21 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 22 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 23 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 24 -
Manual de Visual Basic Parte I 2013

Sueldos y sus descuentos

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 25 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 26 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 27 -
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 28 -
Manual de Visual Basic Parte I 2013
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 Sub
1. GENERAR NUMEROS ALEATORIOS Y COMPARARLOS
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button6.Click
Me.Close()
End Sub
End Class
COMPARAR

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 29 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 30 -
Manual de Visual Basic Parte I 2013

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


SERIE:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 31 -
Manual de Visual Basic Parte I 2013

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:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 32 -
Manual de Visual Basic Parte I 2013

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:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 33 -
Manual de Visual Basic Parte I 2013

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:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 34 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 35 -
Manual de Visual Basic Parte I 2013
EJERCICIOS DE REFORZAMIENTO

1.

Calcular 4 2
X + 2+
𝑅=
Y Resultado + 222
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

2.

ÁNGULO
Calcular
COSENO
SENO
TANGENTE

RESOLUCIÓN:

EN MODO DE DISEÑO:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

PANTALLAS (FUNCIONAMIENTO):

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

N1 N3
N2 N4

Calcular

MAYOR MENOR

RESOLUCIÓN:

EN MODO DE DISEÑO:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

PANTALLAS (FUNCIONAMIENTO):

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 41 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 42 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 43 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Número 1 Número 2

OPERACIÓN

RESPUESTA

RESOLUCIÓN:

EN MODO DE DISEÑO:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 46 -
Manual de Visual Basic Parte I 2013
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):

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 47 -
Manual de Visual Basic Parte I 2013

7.

Número 1 Número 2

Verificar

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 48 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 49 -
Manual de Visual Basic Parte I 2013

8.

NÚMERO AL AZAR (1-100)

MOSTRAR

SUMA DE NÚMEROS

MÁXIMO NÚMERO

MÍNIMO NÚMERO

PROMEDIO

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 50 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 52 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría| PROGRAMACIÓN DISTRIBUIDA


- 53 -
Manual de Visual Basic Parte I 2013

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

Robert bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 54 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 55 -
Manual de Visual Basic Parte I 2013

////////////////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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 56 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 57 -
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 58 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 59 -
Manual de Visual Basic Parte I 2013
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
End Class ASÍ PASARÁ A LA LISTA DE LIBROS POR COMPRAR
COMPRAR;

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 60 -
Manual de Visual Basic Parte I 2013

 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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 61 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 62 -
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 63 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 64 -
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 65 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 66 -
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 67 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 68 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 69 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Caso cuando gana la “o”:

Caso que no hay ganador:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Hacemos clic en cualquiera de las celdas

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 75 -
Manual de Visual Basic Parte I 2013

Se puede encontrar una mina

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Otra jugada

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 79 -
Manual de Visual Basic Parte I 2013
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,

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 80 -
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Hacemos clic en Juego de Memoria

Se abre El juego

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 85 -
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 86 -
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 88 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 89 -
Manual de Visual Basic Parte I 2013

LEFT,HEIGHT,WIDTH,TOP
HSCROLLBAR

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 90 -
Manual de Visual Basic Parte I 2013

Programando el mismo ejemplo con radioButton:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 91 -
Manual de Visual Basic Parte I
20123

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 92 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 93 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 94 -
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 95 -
Manual de Visual Basic Parte I 2013

 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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 96 -
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 98 -
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 99 -
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


- 100
-
Manual de Visual Basic Parte I 2013

RECEPCIONANDO UNA IMAGEN EN UNA MATRIZ EJEMPLO EL JUEGO


DE TRES EN RAYA

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
10110
1-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
10210
2-
Manual de Visual Basic Parte I 2013

ARMAR UN ROMPECABEZAS

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
10310
3-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
10410
4-
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
10510
5-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
10610
6-
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
10710
7-
Manual de Visual Basic Parte I 2013

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
, )

Un formulario consulta1 sin codigo

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
10810
8-
Manual de Visual Basic Parte I 2013

Un formulario consulta20 sin codigo

Funcionamiento

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
10910
9-
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
11011
0-
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

 Crear la ventana principal menú

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
11211
2-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
11311
3-
Manual de Visual Basic Parte I 2013

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 (W ifi)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
11411
4-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
11511
5-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
11611
6-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA I


-
11711
7-
Manual de Visual Basic Parte I 2013
Funcionamiento

 Pantalla principal

 Escogiendo la opción bisness Intelligent

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
11811
8-
Manual de Visual Basic Parte I 2013

 Escogiendo la opción Cloud computing

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
11911
9-
Manual de Visual Basic Parte I 2013
 Escogiendo la opción wifi

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
12012
0-
Manual de Visual Basic Parte I 2013
 Escogiendo la opción video

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
12112
1-
Manual de Visual Basic Parte I 2013
 Escogiendo la opción ventanacascada

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
12212
2-
Manual de Visual Basic Parte I 2013
 Escogiendo la opción ventanahorizontal

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
12312
3-
Manual de Visual Basic Parte I 2013
 Escogiendo la opción ventanavertical

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
12412
4-
Manual de Visual Basic Parte I 2013
 Escogiendo que formulario deseamos que esté en primer plano

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
12512
5-
Manual de Visual Basic Parte I 2013

 Escogiendo la opción salir

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
12612
6-
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
12712
7-
Manual de Visual Basic Parte I
20133
EJERCICIOS
1. CREAR UN FORMULARIO DONDE SI SE SELECCIONA UNA DETERMINADA CIUDAD
APARECERÁ UNA INFORMACIÓN DE ELLA, UNA FOTO Y UN VIDEO.

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
12812
8-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría


End Class | PROGRAMACIÓN DISTRIBUIDA
- 129 -
Manual de Visual Basic Parte I 2013
SELECCIONANDO LA CIUDAD DE CAJAMARCA SELECCIONANDO LA CIUDAD DE CUZCO

SELECCIONANDO LA CIUDAD DE AREQUIPA

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
13013
0-
Manual de Visual Basic Parte I 2013
2. SELECCIONANDO 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.UPLA.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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
13113
1-
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
13213
2-
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
13313
3-
Manual de Visual Basic Parte I 2013
FUNCIONAMIENTO

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
13413
4-
Manual de Visual Basic Parte I 2013

OBJETO TOOLSTRIP CON IMAGELIST

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


LLAMAR A CUATRO FORMULARIOS

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
13513
5-
Manual de Visual Basic Parte I 2013
LOS FORMULARIOS TENDRÁN DIFEENTE COLOR PARA PODERLOS DISTINGUIR

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


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

VISTA PREVIA:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
13713
7-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
13813
8-
Manual de Visual Basic Parte I 2013
FUNCIONAMIENTO

SELECCIONANDO BAÑOS DEL INCA:

SELECCIONANDO COMIDAS:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
13913
9-
Manual de Visual Basic Parte I 2013

SELECCIONANDO IGLESIAS:

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
14014
0-
Manual de Visual Basic Parte I 2013

SELECCIONANDO MÚSICA:

SALIENDO

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
14114
1-
Manual de Visual Basic Parte I 2013
MOVIMIENTOS DE LAS PIEZAS DEL AJEDREZ

DISEÑO DEL TABLERO DE AJEDREZ

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
14214
2-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
14314
3-
Manual de Visual Basic Parte I 2013
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
EndCÓDIGO
If DE LAS FUNCIONES DE LOS MOVIMIENTOS DE CADA PIEZA DE AJEDREZ SON:

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
14414
4-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
14514
5-
Manual de Visual Basic Parte I 2013

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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
14614
6-
Manual de Visual Basic Parte I 2013
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!!!!!”

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
14714
7-
Manual de Visual Basic Parte I 2013
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

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
14814
8-
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
14914
9-
Manual de Visual Basic Parte I 2013

MOVER COMO ALFIL

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
15015
0-
Manual de Visual Basic Parte I 2013

MOVER COMO CABALLO

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
15115
1-
Manual de Visual Basic Parte I 2013

MOVER COMO REY

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
15215
2-
Manual de Visual Basic Parte I 2013

MOVER COMO REYNA

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
15315
3-
Manual de Visual Basic Parte I 2013

MOVER COMO PEÓN

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
15415
4-
Manual de Visual Basic Parte I 2013

Robert Bautista Echevarría | PROGRAMACIÓN DISTRIBUIDA


-
15515
5-

Das könnte Ihnen auch gefallen