entrega 7 - capitulo xi

40
Capitulo XI

Upload: idsystems

Post on 27-Oct-2014

194 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Entrega 7 - Capitulo XI

Capitulo XI

id3545281 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com

Page 2: Entrega 7 - Capitulo XI

INDICE

CAPITULO XI

MessageBox 01

Variables de Tipo MsgBoxResult 02

Tipos 01

Funciones Tipo Cadena 02

IF � THEN - ELSE 03

Ejercicio 71 03

Ejercicio 72 06

InputBox 11

Ejercicio 73 12

Format 15

Ejercicio 74 16

Ejercicio 75 17

SELECT CASE 19

Ejercicio 76 19

Ejercicio 77 21

Ejercicio 78 23

Ejercicio 79 26

Funciones Públicas 28

Ejercicio 80 28

Clases y NameSpace en un Modulo 30

Ejercicio 81 30

Ejercicio 82 34

Función Shell 35

Ejercicio 83 36

Despedida 38

Page 3: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

1

MSGBOX

El MSGBOX es una ventana que nos muestra un mensaje en el centro de la

pantalla. Su sintaxis es la siguiente:

MsgBox(Mensaje, Tipo de Mensaje, Titulo)

Por ejemplo:

MsgBox("¿Desea Salir de la Aplicación?", MsgBoxStyle.YesNo, "Sistema")

El mensaje que nos mostrara será el siguiente:

Tipo de Mensaje Icono Botones (Botón Cerrar)

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

Abortar, Reintentar, Ignorar (Desactivado)

Aceptar (Activado)

Aceptar (Activado)

Aceptar (Activado)

Aceptar (Activado)

Aceptar (Activado)

Aceptar (Activado)

Aceptar (Activado)

Aceptar, Ayuda (Activado)

Aceptar (Activado)

Aceptar (Activado y al lado Izquierdo)

Aceptar (Activado)

Aceptar, Cancelar (Activado)

Aceptar (Activado)

Aceptar (Activado)

Reintentar, Cancelar (Activado)

Aceptar (Activado) Icono en el Titulo

Si, No (Desactivado)

Si, No, Cancelar (Activado)

id3621656 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com

Page 4: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

2

Variable tipo MsgBoxResult

La variable tipo MsgBoxResult, almacena los resultados que se obtenga

mediante un Message Box, que después no sirva compararala y ejecutar

instrucciones, por ejemplo:

Dim Resp As MsgBoxResult

Resp = MsgBox("¿Desea Salir?", MsgBoxStyle.YesNo, "Sistema")

If Resp = MsgBoxResult.Yes Then

Me.Close()

End If

Explicación:

Primero declaramos una variable Resp de tipo MsgBoxResult, esta variable

almacena el valor devuelto del mensaje, si el usuario responde SI, este valor que

es verdadero (True) va a ser comparado con la siguiente instrucción IF que

compara la variable Resp, que seria mas o menos así: Si la variables Resp tienes

almacenado el valor SI, cerrara la ventana, sino, no hará ninguna instrucción.

FUNCIONES TIPO CADENA

Una cadena es un dato de tipo String (Carácter); es decir se refiere a letras

o letras y números, ahora veremos las funciones de cadenas mas utilizadas y

posteriormente realizaremos una aplicación para que les quede mas claro, sobre las

funciones de cadena.

Right: Obtiene de una cadena, una cantidad de caracteres empezando por

la derecha: Sintaxis; Microsoft.VisualBasic.Right(Cadena,N)

Left: Obtiene de una cadena, una cantidad de caracteres empezando por la

izquierda: Sintaxis; Microsoft.VisualBasic.Left(Cadena,N)

Mid: Obtiene de una cadena, una cantidad de caracteres a partir de una

posición determinada: Sintaxis; Microsoft.VisualBasic.Mid(Cadena,N)

Len: Obtiene la longitud de una cadena, es decir la cantidad de caracteres

que contiene incluyendo los espacios en blanco: Sintaxis; Len(Cadena)

Trim: Quita los espacios en blanco al final de una cadena: Sintaxis;

Trim(Cadena)

RTrim: Quita los espacios en blanco al final de una cadena: Sintaxis;

RTrim(Cadena)

LTrim: Quita los espacios en blanco al inicio de una cadena: Sintaxis;

LTrim(Cadena)

UCase: Convierte una cadena en mayúsculas: Sintaxis; UCase(Cadena)

LCase: Convierte una cadena en minúsculas: Sintaxis; LCase(Cadena)

StrConv: Convierte una cadena en 3 formas diferentes, en mayúsculas = 1,

minúsculas = 2, la primera letra de cada palabra en mayúsculas = 3 :

Sintaxis; StrConv(Cadena,Valor)

InStr: Obtiene un número que indica la posición de una subcadena dentro

de una cadena: Sintaxis; InStr(Cadena,SubCadena)

Page 5: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

3

txtNombre

txtDireccion

txtTelefono

txtCE

txtObservaciones

btnNuevo btnFinalizar

IF - THEN - ELSE

Como ya hemos visto antes esta instrucción condicional, en las consolas de

aplicación, ahora veremos en las aplicaciones de ventanas, que por cierto no

cambian nada, ahora veremos unos cuantos ejercicios usando el IF y el

MessageBox.

71. Ahora desarrollaremos nuevamente el ejercicio anterior (62).

Page 6: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

4

Esta aplicación deberá tener las siguientes características:

Al ejecutar la aplicación el botón Nuevo Alumno debe estar desactivado. Sólo

se debe activar cuando comience a ingresar el nombre del alumno.

Cuando el usuario ingrese un campo y pulse Enter, el cursor debe pasar

automáticamente al siguiente campo.

Al hacer clic en el botón finalizar se debe mostrar un mensaje de

advertencia. Las instrucciones de este botón se deben ejecutar cuando el

usuario pulse la tecla Esc.

txtNombre (Evento KeyPress)

If Asc(e.KeyChar) = 13 Then

Me.txtDireccion.Focus()

End If

txtDireccion (Evento KeyPress)

If Asc(e.KeyChar) = 13 Then

Me.txtTelefono.Focus()

End If

txtTelefono (Evento KeyPress)

If Asc(e.KeyChar) = 13 Then

Me.txtCE.Focus()

End If

txtCE (Evento KeyPress)

If Asc(e.KeyChar) = 13 Then

Me.txtObservaciones.Focus()

End If

frmEjercicio71 (Evento FormClosing)

Dim Resp As MsgBoxResult

Resp = MsgBox("¿Desea Salir de la Aplicación?", MsgBoxStyle.YesNo,

"Sistema")

If Resp = MsgBoxResult.No Then

e.Cancel = True

End If

frmEjercicio71 (Evento Load)

Me.btnNuevo.Enabled = False

Page 7: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

5

btnFinalizar (Evento Click)

Me.Close()

btnNuevo (Evento Click)

Me.txtCE.Text = ""

Me.txtDireccion.Text = ""

Me.txtNombre.Text = ""

Me.txtObservaciones.Text = ""

Me.txtTelefono.Text = ""

Me.txtNombre.Focus()

txtNombre (Evento TextChanged)

If Trim(Me.txtNombre.Text) = "" Then

Me.btnNuevo.Enabled = False

Else

Me.btnNuevo.Enabled = True

End If

Para que se active o realice las instrucciones que se encuentren en el botón

Finalizar, con solo presionar Esc, tendrán que especificar CancelButton en la

propiedad del formulario, indicando el botón btnFinalizar.

Explicación

Seguro se estarán haciendo algunas preguntas como lo son: e.KeyChar,

e.Cancel, Asc, ahora les explico:

e.KeyChar: Esta instrucción nos devuelve el carácter que ha sido digitado en

ese momento, por ejemplo si digitamos la letra �a�, esta instrucción nos

devuelve el valor de a pero como carácter.

Asc: Esta función convierte cualquier carácter enviado en un código ASCII ,

siguiendo del ejemplo anterior, ya que e.KeyChar tiene el carácter de �a�, si

esto lo enviamos a la función Asc, quedaría mas o menos así:

Asc(e.KeyChar), esta instrucción nos devolvería el valor de 97, porq?, wueno

el valor de �a� en código ASCII es 97, así de simple.

e.Cancel: Esta instrucción nos permite cancelar cualquier evento que se este

realizando, por ejemplo si estamos cerrando el formulario, podemos

indicarle que lo cancele, enviándole o instan ciándole un valor verdadero,

para la cancelación del evento.

Page 8: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

6

txtApeNom

btnSalir

btnNuevo

txtPromedio

txtTurno

txtFecNac

72. La siguiente aplicación nos ingresar los apellidos y nombres, fecha de ingreso,

turno y promedio de un alumno. Este programa debe contar con las siguientes

características:

El primer carácter de cada nombre o apellido debe convertirse en

mayúsculas y el reto en minúsculas.

Se debe de verificar que la fecha ingresada sea correcta

En el turno solo se debe aceptar las letras M, T y N.

El promedio debe ser un número entre 0 y 20.

Los botones Nuevo y Salir deben permanecer desactivados hasta que

se ingresen todos los datos correctos.

Función Mayúscula Esta función indica si la letra ingresada esta en mayúscula.

Function Mayuscula(ByVal v As Integer) As Boolean

If v >= 65 And v <= 90 Then

Mayuscula = True

Else

Mayuscula = False

End If

End Function

Función Minúscula Esta función indica si la letra ingresada esta en minúscula.

Function Minuscula(ByVal v As Integer) As Boolean

If v >= 97 And v <= 122 Then

Minuscula = True

Else

Minuscula = False

End If

End Function

Page 9: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

7

Función Número Esta función indica si el carácter ingresado es un número.

Function Numero(ByVal v As Integer) As Boolean

If v < 48 Or v > 57 Then

Numero = False

Else

Numero = True

End If

End Function

Función Especial Indica si a ingresado una vocal con tilde, la letra ñ o Ñ o pulso

ENTER, la barra espaciadora o de retroceso (BackSpace).

Function Especial(ByVal v As Integer) As Boolean

If v = 13 Or v = 32 Or v = 8 Or v = 225 Or v = 233 Or v = 237 Or v = 243

Or v = 250 Or v = 241 Or v = 209 Then

Especial = True

Else

Especial = False

End If

End Function

Función Ingresados Esta función verifican si todos lo datos han sido ingresados

correctamente.

Sub Ingresados()

If Trim(Me.txtApeNom.Text) <> "" And IsDate(Me.txtFecNac.Text) And

Trim(Me.txtTurno.Text) <> "" And Trim(Me.txtPromedio.Text) <> "" Then

Me.btnNuevo.Enabled = True

Me.btnSalir.Enabled = True

Else

Me.btnNuevo.Enabled = False

Me.btnSalir.Enabled = False

End If

End Sub

Función Limpiar Esta función limpia los controles TextBox.

Sub Limpiar()

Me.txtApeNom.Text = ""

Me.txtFecNac.Text = ""

Me.txtPromedio.Text = ""

Me.txtTurno.Text = ""

Me.btnNuevo.Enabled = False

Me.btnSalir.Enabled = False

Me.txtApeNom.Focus()

End Sub

Page 10: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

8

txtApeNom (Evento KeyPress)

Static anteriorespacio As Boolean

If Asc(e.KeyChar) = 13 Then

Me.txtFecNac.Focus()

End If

If Asc(e.KeyChar) = 32 Then

anteriorespacio = True

Else

If Mayuscula(Asc(e.KeyChar)) Or Minuscula(Asc(e.KeyChar)) Or

Especial(Asc(e.KeyChar)) Then

If Trim(Me.txtApeNom.Text) = "" Or anteriorespacio Then

REM Convierte a Mayuscula

e.KeyChar = UCase(e.KeyChar)

Else

REM Convierte a Minuscula

e.KeyChar = LCase(e.KeyChar)

End If

anteriorespacio = False

Else

MsgBox("Debe de Ingresar sólo Letras", MsgBoxStyle.Information,

"Cuidado")

e.KeyChar = ChrW(0)

Me.btnNuevo.Enabled = False

Me.btnSalir.Enabled = False

End If

End If

txtFecNac (Evento KeyPress)

If Asc(e.KeyChar) = 13 Then

Me.txtTurno.Focus()

End If

txtFecNac (Evento LostFocus)

If IsDate(Me.txtFecNac.Text) Then

Ingresados()

Else

MsgBox("Debe de Ingresar una Fecha Correcta", MsgBoxStyle.Information,

"Cuidado")

Me.txtFecNac.SelectionStart = 0

Me.txtFecNac.SelectionLength = Len(Me.txtFecNac.Text)

Me.txtFecNac.Text = Me.txtFecNac.Text

Me.txtFecNac.Focus()

End If

Page 11: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

9

frmEjercicio72 (Evento FormClosing)

Dim Resp As MsgBoxResult

Resp = MsgBox("Esta Seguro de Salir", MsgBoxStyle.YesNo, "Cuidado")

If Resp = MsgBoxResult.No Then

REM Si respondio que NO

e.Cancel = True

End If

frmEjercicio72 (Evento Load)

Limpiar()

txtTurno (Evento KeyPress)

Dim Letra As String

If Asc(e.KeyChar) = 13 Then

Me.txtPromedio.Focus()

Else

Letra = UCase(e.KeyChar)

If Letra = "M" Or Letra = "T" Or Letra = "N" Or Asc(e.KeyChar) = 8 Then

REM Convierte la Letra a Mayusculas

e.KeyChar = UCase(e.KeyChar)

Else

MsgBox("Debe Ingresar sólo las Letras M,T o N",

MsgBoxStyle.Information, "Error")

REM Ignora el Carácter Ingresado

e.KeyChar = ChrW(0)

Me.btnNuevo.Enabled = False

Me.btnSalir.Enabled = False

End If

End If

txtPromedio (Evento KeyPress)

If Numero(Asc(e.KeyChar)) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 13

Then

Ingresados()

Else

MsgBox("Debe Ingresar Sólo Números", MsgBoxStyle.Information,

"Cuidado")

e.KeyChar = ChrW(0)

Me.btnNuevo.Enabled = False

Me.btnSalir.Enabled = False

End If

Page 12: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

10

txtPromedio (Evento TextChanged)

If Val(Me.txtPromedio.Text) < 0 Or Val(Me.txtPromedio.Text) > 20 Then

MsgBox("El Valor Debe Estar Entre 0 y 20", MsgBoxStyle.Information,

"Error")

Me.txtPromedio.SelectionStart = 0

Me.txtPromedio.SelectionLength = Len(Me.txtPromedio.Text)

Me.txtPromedio.Text = Me.txtPromedio.SelectedText

Me.txtPromedio.Focus()

Me.btnNuevo.Enabled = False

Me.btnSalir.Enabled = False

Else

Ingresados()

End If

txtApeNom, txtTurno (Evento TextChanged)

Ingresados()

btnNuevo (Evento Click)

Limpiar()

btnSalir (Evento Click)

Me.Close()

En este ejercicio no casi nada que explicar en el código, ya que es casi lo

mismo que hemos usado en el ejercicio anterior, solo me queda dejarle una

pequeña tabla de código ASCII que hemos usado.

De A a la Z = del 65 al 90

De a a la z = del 97 al 122

á = 255, é = 233, í = 237, ó = 243, ú = 250, ñ = 241, Ñ = 209

De 0 al 9 = del 48 al 57

ENTER = 13

BACKSPACE = 8

ESC = 27

Barra Espaciadora = 32

Page 13: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

11

INPUTBOX

El INPUTBOX es una ventana que permite que el usuario pueda ingresar un

dato. Su sintaxis es la siguiente:

InputBox(Mensaje, Titulo, Valor Pred., Columna, Fila)

Mensaje Es el mensaje que se desea mostrar cuando se pida el dato a

ingresar.

Titulo Es el titulo de la ventana.

Valor Predeterminado Es el valor que se muestra en forma automática

para ser ingresado.

Columna Es un valor que indica la posición horizontal del formulario, donde

se desea que se muestre la ventana.

Fila Es un valor que indica la posición vertical del formulario, donde se

desea que se muestre la ventana.

Ejemplo:

Dim resp As String

resp = InputBox("Ingrese el Nombre de la Persona", "Nuevo Registro", "Joel

Martin Chuco Marrufo")

En este ejemplo hemos declarado una variable resp de tipo cadena, para

poder almacenar el nombre que el usuario ingrese, también se puede obtener otro

tipo de dato, ya sea número, fecha.

Page 14: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

12

btnOk txtCliente

txtMonto

btnDeposito btnRetiro

lblCantDep

lblTotalDep

lblCantRet lblTotalRet

lblSaldo

btnNuevo

btnSalir

73. Este ejercicio cuenta el número de depósitos y retiros realizados por un cliente,

además almacena el total de los montos tanto de retiros como de depósitos

efectuados incluyendo el saldo actual.

Page 15: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

13

Variables a nivel del formulario

Dim cd, cr As Integer

Dim td, tr, saldo As Single

Funcion Limpia

Sub Limpia()

cd = 0

cr = 0

td = 0

tr = 0

saldo = 0

Me.txtCliente.Text = ""

Me.txtMonto.Text = ""

Me.lblCantDep.Text = ""

Me.lblCantRet.Text = ""

Me.lblSaldo.Text = ""

Me.lblTotalDep.Text = ""

Me.lblTotalRet.Text = ""

Me.btnOk.Visible = True

Me.btnDeposito.Enabled = False

Me.btnRetiro.Enabled = False

Me.txtCliente.ReadOnly = False

Me.txtMonto.ReadOnly = True

Me.txtCliente.Focus()

End Sub

frmEjercicio73 (Evento FormClosing)

Dim Resp As MsgBoxResult

Resp = MsgBox("Desea Salir de la Aplicacion", MsgBoxStyle.YesNo, "Banco El

Amigo")

If Resp = MsgBoxResult.No Then

e.Cancel = True

End If

frmEjercicio73 (Evento Load)

Call Limpia()

Page 16: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

14

btnOk (Evento Click)

Me.txtCliente.ReadOnly = True

Me.txtMonto.ReadOnly = False

Me.btnOk.Visible = False

Me.btnDeposito.Enabled = True

Me.btnRetiro.Enabled = True

REM Utilizamos un InputBox para ingresar el saldo inicial

saldo = Val(InputBox("Monto de Apertura " + Chr(13) + Chr(13) + "La

Cuenta se Apertura con cualquier monto ", "Nueva Cuenta", 350))

Me.lblSaldo.Text = CStr(saldo)

td = saldo

cd = 1

Me.lblCantDep.Text = CStr(cd)

Me.lblTotalDep.Text = CStr(td)

Me.txtMonto.Focus()

btnDeposito (Evento Click)

Dim deposito As Single

deposito = CSng(Me.txtMonto.Text)

td = td + deposito

cd = cd + 1

Me.lblCantDep.Text = CStr(cd)

Me.lblTotalDep.Text = CStr(td)

saldo = CSng(Me.lblSaldo.Text)

Me.lblSaldo.Text = CStr(saldo + deposito)

Me.txtMonto.SelectionStart = 0

Me.txtMonto.SelectionLength = Len(Me.txtMonto.Text)

Me.txtMonto.Focus()

btnRetiro (Evento Click)

Dim retiro As Single

retiro = CSng(Me.txtMonto.Text)

saldo = CSng(Me.lblSaldo.Text)

If saldo < retiro Then

MsgBox("La cantidad que desea retirar excede su saldo actual",

MsgBoxStyle.Critical, "Disculpe")

Me.txtMonto.Text = ""

Me.txtMonto.Focus()

Else

tr = tr - retiro

cr = cr + 1

Me.lblCantRet.Text = CStr(cr)

Me.lblTotalRet.Text = CStr(tr)

Me.lblSaldo.Text = CStr(saldo - retiro)

End If

Me.txtMonto.SelectionStart = 0

Me.txtMonto.SelectionLength = Len(Me.txtMonto.Text)

Me.txtMonto.Focus()

Page 17: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

15

btnNuevo (Evento Click)

Call Limpia()

btnSalir (Evento Click)

Me.Close()

FORMAT

Esta función format nos permite darle un formato a un dato, ya sea una

fecha, número, hora, etc. Sus formatos mas utilizados son:

Formato devuelto Formato

152,125.32 ###,##0.00

04 - May - 2006 dd � MMM - yyyy

04/05/06 dd/mm/yy

Jueves, May 04 2006 dddd, MMM d yyyy

02:49:35 pm hh:mm:ss tt

14:49:35 HH:mm:ss

Su sintaxis seria la siguiente:

Format(Variable,�Formato�)

Ejemplo:

Dim Numero As Double

Numero = 100000/3

Me.Label1.Text = Format(Numero, "###,##0.00")

Y lo que nos mostraría el Label en la pantalla seria lo siguiente

33,333.33

Page 18: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

16

txtProducto

txtPrecAn

txtPrecAct

lblAlzaS

lblAlzaP

btnNuevo btnSalir btnCalcular

74. Esta aplicación nos permite ingresar el nombre del producto, precio anterior y

precio actual, luego nos permite calcular el alza en soles y el alza en

porcentajes. El alza en porcentaje es igual al alza en soles por 100 entre precio

anterior.

Funcion Limpia

Sub Limpia()

Me.txtPrecAct.Text = ""

Me.txtPrecAnt.Text = ""

Me.txtProducto.Text = ""

Me.lblAlzaP.Text = ""

Me.lblAlzaS.Text = ""

Me.txtProducto.Focus()

End Sub

frmEjercicio74 (Evento FormClosing)

Dim Resp As MsgBoxResult

Resp = MsgBox("Desea Salir de la Aplicacion", MsgBoxStyle.YesNo,

"Cuidado")

If Resp = MsgBoxResult.No Then

e.Cancel = True

End If

Page 19: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

17

frmEjercicio74 (Evento Load)

Call Limpia()

btnCalcular (Evento Click)

Me.lblAlzaS.Text = CStr(Val(Me.txtPrecAct.Text) - Val(Me.txtPrecAnt.Text))

Me.lblAlzaS.Text = Format(Val(Me.lblAlzaS.Text), "###,##0.00")

Me.lblAlzaP.Text = CStr(Val(Me.lblAlzaS.Text) * 100 /

Val(Me.txtPrecAnt.Text))

Me.lblAlzaP.Text = Format(Val(Me.lblAlzaP.Text), "###,##0.00")

Me.lblAlzaP.Text = Me.lblAlzaP.Text + " %"

btnNuevo (Evento Click)

Call Limpia()

btnSalir (Evento Click)

Me.Close()

75. Esta aplicación nos permite ingresar el nombre del profesor, el número de horas

normales que ha trabajado y el número de horas extras, luego se debe calcular

el total que se le debe pagar por el número de horas normales, el total por

horas extras y el total a pagar. Si trabajo mas de 48 horas su pago por hora es

de S/. 8.00 soles y S/. 7.00 en caso contrario. Por hora extra S/. 9.50.

txtHT

txtHE

lblPH

lblTHN

lblTHE

lblTP

btnCalcular

btnNuevo

btnSalir

txtNomProf

Page 20: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

18

Funcion Limpia

Sub Limpia()

Me.txtHE.Text = ""

Me.txtHT.Text = ""

Me.txtNomProf.Text = ""

Me.lblPH.Text = ""

Me.lblTHE.Text = ""

Me.lblTHN.Text = ""

Me.lblTP.Text = ""

Me.txtNomProf.Focus()

End Sub

frmEjercicio75 (Evento Load)

Call Limpia()

btnCalcular (Evento Click)

Dim PHN As Single

PHN = IIf(Val(Me.txtHT.Text) > 48, 8.0, 7.0)

Me.lblPH.Text = Format(PHN, "##0.00")

Me.lblTHE.Text = Format(Val(Me.txtHE.Text) * 9.5, "###,##0.00")

Me.lblTHN.Text = Format(Val(Me.txtHT.Text) * PHN, "###,##0.00")

Me.lblTP.Text = Format(Val(Me.lblTHE.Text) + Val(Me.lblTHN.Text),

"###,##0.00")

btnNuevo (Evento Click)

Call Limpia()

btnSalir (Evento Click)

Me.Close()

Page 21: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

19

txtPrecUnit

txtCantComp

lblSubTotal

lblDescP

lblDescS

lblTotal

btnCalcular

btnNuevo

btnSalir

txtProducto

SELECT - CASE

Como ya hemos visto antes esta instrucción de selección, en las consolas de

aplicación, ahora veremos en las aplicaciones de ventanas, que por cierto no

cambian casi nada, y utilizaremos las diversas sintaxis que existen, junto con

funciones, clases etc

76. En esta aplicación se debe de ingresar el nombre del un producto, su precio

unitario y la cantidad comprada de dicho producto, luego se debe calcular y

visualizar el sub Total, el descuento en porcentaje, el descuento en soles y el

total a pagar. El descuento en porcentaje se depende del sub total, de acuerdo

a la siguiente tabla.

SUBTOTAl DESCUENTO %

100 ó 101 2 %

De 101.1 a 200 4 %

De 200.1 a 500 6%

A partir de 500 10 %

Page 22: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

20

Funcion Limpia

Sub Limpia()

Me.txtCantComp.Text = ""

Me.txtPrecUnit.Text = ""

Me.txtProducto.Text = ""

Me.lblDescP.Text = ""

Me.lblDescS.Text = ""

Me.lblSubTotal.Text = ""

Me.lblTotal.Text = ""

Me.txtProducto.Focus()

End Sub

frmEjercicio76 (Evento Load)

Call Limpia()

btnCalcular (Evento Click)

Dim Desc As Integer

Me.lblSubTotal.Text = CStr(Val(Me.txtPrecUnit.Text) *

Val(Me.txtCantComp.Text))

Select Case Val(Me.lblSubTotal.Text)

Case 100, 101 : Desc = 2

Case 101.1 To 200 : Desc = 4

Case 200.1 To 500 : Desc = 6

Case Is > 500 : Desc = 10

Case Else : Desc = 0

End Select

Me.lblDescP.Text = CStr(Desc)

Me.lblDescS.Text = Format(Val(Me.lblSubTotal.Text) * Desc / 100,

"###,##0.00")

Me.lblTotal.Text = Format(Val(Me.lblSubTotal.Text) - Val(Me.lblDescS.Text),

"###,##0.00")

Me.lblSubTotal.Text = Format(Val(Me.lblSubTotal.Text), "###,##0.00")

btnNuevo (Evento Click)

Call Limpia()

btnSalir (Evento Click)

Me.Close()

Page 23: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

21

txtCurso

txtN1

txtN2

lblPromedio

lblObservacion

lblPuntos

lblCualidad

btnOtro

btnObtener

btnSalir

txtAlumno

77. En este programa se debe de ingresar el nombre del alumno, su nota número 1

y su nota número 2, al hacer clic en el botón obtener promedio se debe de

visualizar: el promedio del alumno, una observación que indica si el alumno esta

aprobado o desaprobado, la cantidad de puntos que le faltan para aprobar, si

esta desaprobado o los puntos para llegar a veinte en caso que este aprobado.

También se debe visualizar la nota cualitativa del alumno de acuerdo al

promedio. Se debe de controlar que solo se ingresen notas entre 0 y 20.

SUBTOTAl DESCUENTO %

Entre 0 y 5 Pésimo

Entre 5.1 y 10.4 Malo

Entre 10.5 y 14.4 Regular

Entre 14.5 y 17.4 Bueno

Entre 17.5 y 20 Excelente

Page 24: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

22

Función Limpiar Esta función limpia los controles TextBox.

Sub Limpiar()

Me.txtAlumno.Text = ""

Me.txtCurso.Text = ""

Me.txtN1.Text = ""

Me.txtN2.Text = ""

Me.lblCualidad.Text = ""

Me.lblObservación.Text = ""

Me.lblPromedio.Text = ""

Me.lblPuntos.Text = ""

Me.txtAlumno.Focus()

End Sub

frmEjercicio77 (Evento Load)

Limpiar()

txtN1 (Evento GotFocus)

Me.txtN1.SelectionStart = 0

Me.txtN1.SelectionLength = Len(Me.txtN1.Text)

txtN2 (Evento GotFocus)

Me.txtN2.SelectionStart = 0

Me.txtN2.SelectionLength = Len(Me.txtN2.Text)

txtN1 (Evento LostFocus)

If Not IsNumeric(Me.txtN1.Text) Or Val(Me.txtN1.Text) < 0 Or

Val(Me.txtN1.Text) > 20 Then

MsgBox("Solo Debe Ingresar Notas Entre 0 y 20",

MsgBoxStyle.Information, "Cuidado")

Me.txtN1.Focus()

End If

txtN2 (Evento LostFocus)

If Not IsNumeric(Me.txtN2.Text) Or Val(Me.txtN2.Text) < 0 Or

Val(Me.txtN2.Text) > 20 Then

MsgBox("Solo Debe Ingresar Notas Entre 0 y 20",

MsgBoxStyle.Information, "Cuidado")

Me.txtN2.Focus()

End If

Page 25: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

23

btnObtener (Evento Click)

Me.lblPromedio.Text = CStr((Val(Me.txtN1.Text) + Val(Me.txtN2.Text)) / 2)

If Val(Me.lblPromedio.Text) >= 10.5 Then

Me.lblObservación.Text = "Aprobado(a)"

Me.lblPuntos.Text = "Le faltan " + CStr(20 - Val(Me.lblPromedio.Text)) + "

puntos para tener 20"

Else

Me.lblObservación.Text = "Desaprobado(a)"

Me.lblPuntos.Text = "Le faltan " + CStr(11 - Val(Me.lblPromedio.Text)) + "

puntos para aprobar"

End If

Select Case Val(Me.lblPromedio.Text)

Case 0 To 5 : Me.lblCualidad.Text = "Pésimo"

Case 5.1 To 10.4 : Me.lblCualidad.Text = "Malo"

Case 10.5 To 14.4 : Me.lblCualidad.Text = "Regular"

Case 14.5 To 17.4 : Me.lblCualidad.Text = "Bueno"

Case 17.5 To 20 : Me.lblCualidad.Text = "Excelente"

End Select

btnOtro (Evento Click)

Limpiar()

btnSalir (Evento Click)

Me.Close()

78. En esta aplicación se debe de ingresar el nombre y el año de nacimiento de una

persona y se tiene que visualizar: su edad, una observación que indica si es

mayor o menor de edad, Si es menor de edad se debe mostrar cuantos años le

faltan para se mayor de edad y si es mayor de edad se debe mostrar hace

cuantos años es mayor de edad. También se debe mostrar la etapa de la

persona teniendo en cuenta lo siguiente.

Edad Etapa

0 y 12 Niño

13 y 17 Adolescente

18 y 30 Joven

31 y 70 Adulto

70 a mas Anciano

Page 26: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

24

txtNombre

txtAñoNac

lblEdad

lblObservacion

lblAños

lblEtapa

btnNuevo

btnSalir

btnResultados

Funcion Limpia

Sub Limpia()

Me.txtAñoNac.Text = ""

Me.txtNombre.Text = ""

Me.lblAños.Text = ""

Me.lblEdad.Text = ""

Me.lblEtapa.Text = ""

Me.lblObservacion.Text = ""

Me.txtNombre.Focus()

End Sub

frmEjercicio78 (Evento Load)

Call Limpia()

btnNuevo (Evento Click)

Call Limpia()

Page 27: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

25

btnResultados (Evento Click)

If Not IsNumeric(Me.txtAñoNac.Text) Then

MsgBox("Ingrese un año correcto", MsgBoxStyle.Information, "Error")

Me.txtAñoNac.SelectionStart = 0

Me.txtAñoNac.SelectionLength = Len(Me.txtAñoNac.Text)

Me.txtAñoNac.Focus()

Exit Sub

End If

Me.lblEdad.Text = CStr(Val(Year(Now())) - Val(Me.txtAñoNac.Text))

If Val(Me.lblEdad.Text) < 18 Then

Me.lblObservacion.Text = "Es Menor de Edad"

Me.lblAños.Text = "Le Falta " + CStr(18 - Val(Me.lblEdad.Text)) + " años

para ser mayor de edad"

Else

Me.lblObservacion.Text = "Es Mayor de Edad"

Me.lblAños.Text = "Es mayor de edad " + CStr(Val(Me.lblEdad.Text) - 18)

+ " años"

End If

Select Case Val(Me.lblEdad.Text)

Case 0 To 12 : Me.lblEtapa.Text = "Niño"

Case 13 To 17 : Me.lblEtapa.Text = "Adolescente"

Case 18 To 30 : Me.lblEtapa.Text = "Joven"

Case 31 To 70 : Me.lblEtapa.Text = "Adulto"

Case Is > 70 : Me.lblEtapa.Text = "Anciano"

End Select

btnSalir (Evento Click)

Me.Close()

Page 28: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

26

lblLongitud

lblPrimero

lblUltimo

lblSegSex

lblPosA

btnMuestra

btnNuevo

btnSalir

lblMinusculas

lblMayusculas

lblSoloPrim

txtFrase

79. Esta aplicación es un ejemplo del uso de las funciones de cadena que ya hemos

visto el concepto.

Funcion Limpia

Sub Limpia()

Me.txtFrase.Text = ""

Me.lblLongitud.Text = ""

Me.lblMayusculas.Text = ""

Me.lblMinusculas.Text = ""

Me.lblPosA.Text = ""

Me.lblPrimero.Text = ""

Me.lblSegSex.Text = ""

Me.lblSoloPrim.Text = ""

Me.lblUltimo.Text = ""

Me.txtFrase.Focus()

End Sub

frmEjercicio79 (Evento Load)

Call Limpia()

Page 29: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

27

btnNuevo (Evento Click)

Call Limpia()

btnMuestra (Evento Click)

Me.lblLongitud.Text = Len(Trim(Me.txtFrase.Text))

Me.lblPrimero.Text = Microsoft.VisualBasic.Left(Trim(Me.txtFrase.Text), 1)

Me.lblUltimo.Text = Microsoft.VisualBasic.Right(Trim(Me.txtFrase.Text), 1)

Me.lblSegSex.Text = Microsoft.VisualBasic.Mid(Trim(Me.txtFrase.Text), 2, 5)

Me.lblPosA.Text = InStr(Me.txtFrase.Text, "a")

Me.lblMinusculas.Text = LCase(Me.txtFrase.Text)

Me.lblMayusculas.Text = UCase(Me.txtFrase.Text)

Me.lblSoloPrim.Text = StrConv(Me.txtFrase.Text, 3)

btnSalir (Evento Click)

Me.Close()

Page 30: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

28

txtFecNac

lblDia

lblMes

lblAño

lblDiaSem

btnOk

btnSalir

lblFecIng

lblFecAct

txtNombre

UTILIZANDO FUNCIONES DE FECHA Y PUBLICAS Y TAMBIEN

MODULOS, CLASES Y NAMESPACE

Funciones Públicas en un Módulo

80. En esta aplicación se debe de ingresar el nombre y la fecha de nacimiento de

una persona y se debe de visualizar por separado: el día, mes, año, número del

día de la semana, la fecha en letras y la fecha y hora actual. Utilizando dos

funciones publicas codificadas en un modulo.

Page 31: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

29

Primero agregaremos un modulo llamado mdFecha y codificaremos lo siguiente:

Module mdFecha

Public Function Dia(ByVal ndia As Integer) As String

Dia = Choose(ndia, "Domingo", "Lunes", "Martes", "Miercoles", "Jueves",

"Viernes", "Sabado")

End Function

Public Function Mes(ByVal nmes As Integer) As String

Select Case nmes

Case 1 : Mes = "Enero"

Case 2 : Mes = "Febrero"

Case 3 : Mes = "Marzo"

Case 4 : Mes = "Abril"

Case 5 : Mes = "Mayo"

Case 6 : Mes = "Junio"

Case 7 : Mes = "Julio"

Case 8 : Mes = "Agosto"

Case 9 : Mes = "Setiembre"

Case 10 : Mes = "Octubre"

Case 11 : Mes = "Noviembre"

Case 12 : Mes = "Diciembre"

End Select

End Function

End Module

La función día nos hallara el día de la semana según el número de día

enviado a esta función, igualmente la función mes.

btnOk (Evento Click)

If Not IsDate(Me.txtFecNac.Text) Then

MsgBox("Ingrese una Fecha Correcta", MsgBoxStyle.Information, "Error")

Me.txtFecNac.SelectionStart = 0

Me.txtFecNac.SelectionLength = Len(Me.txtFecNac.Text)

Me.txtFecNac.Focus()

Exit Sub

End If

Me.lblAño.Text = Year(CDate(Me.txtFecNac.Text))

Me.lblDia.Text = Microsoft.VisualBasic.Day(CDate(Me.txtFecNac.Text))

Me.lblDiaSem.Text =

Microsoft.VisualBasic.Weekday(CDate(Me.txtFecNac.Text))

Me.lblMes.Text = Microsoft.VisualBasic.Month(CDate(Me.txtFecNac.Text))

Me.lblFecIng.Text = Dia(Val(Me.lblDiaSem.Text)) + ", " + Me.lblDia.Text + "

de " + Mes(Val(Me.lblMes.Text)) + " de " + Me.lblAño.Text

Page 32: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

30

txtFecNac

lblDia

lblMes

lblAño

lblDiaSem

btnOk

btnSalir

lblFecIng

lblFecAct

txtNombre

btnSalir (Evento Click)

Me.Close()

frmEjercicio80 (Evento Load)

Me.lblFecAct.Text = "Hoy es " + CStr(Now)

Clases y NameSpace en un Módulo

81. En esta aplicación se debe de ingresar la fecha de nacimiento de una persona y

se debe de visualizar por separado: la estación de la fecha en que nació, su

signo zodiacal la semana del año en que nació, los meses transcurridos desde el

año que nació y la fecha actual después de tres semanas. Para esto crearemos

un NameSpace que contendrá la clase y las funciones para hallar la estación y el

signo zodiacal.

Page 33: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

31

Primero agregaremos un modulo llamado Informacion y codificaremos lo siguiente:

Primero borramos todo el código que aparece y cambiamos por lo siguiente:

Namespace Informacion

Public Class FecNac

Public Function Estacion(ByVal dia As Integer, ByVal mes As Integer) As

String

If (dia >= 23 And mes = 12) Or mes = 1 Or mes = 2 Or (dia <= 22 And

mes = 3) Then Estacion = "Verano"

If (dia >= 23 And mes = 3) Or mes = 4 Or mes = 5 Or (dia <= 22 And

mes = 6) Then Estacion = "Otoño"

If (dia >= 23 And mes = 6) Or mes = 7 Or mes = 8 Or (dia <= 22 And

mes = 9) Then Estacion = "Invierno"

If (dia >= 23 And mes = 9) Or mes = 10 Or mes = 11 Or (dia <= 22 And

mes = 12) Then Estacion = "Primavera"

End Function

Public Function SignoZodiacal(ByVal dia As Integer, ByVal mes As Integer) As

String

Select Case mes

Case 1

If dia < 21 Then

SignoZodiacal = "Capricornio"

Else

SignoZodiacal = "Acuario"

End If

Case 2

If dia < 20 Then

SignoZodiacal = "Acuario"

Else

SignoZodiacal = "Piscis"

End If

Case 3

If dia < 21 Then

SignoZodiacal = "Piscis"

Else

SignoZodiacal = "Aries"

End If

Case 4

If dia < 21 Then

SignoZodiacal = "Aries"

Else

SignoZodiacal = "Tauro"

End If

Case 5

If dia < 21 Then

SignoZodiacal = "Tauro"

Else

SignoZodiacal = "Geminis"

End If

Case 6

Page 34: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

32

If dia < 22 Then

SignoZodiacal = "Geminis"

Else

SignoZodiacal = "Cancer"

End If

Case 7

If dia < 23 Then

SignoZodiacal = "Cancer"

Else

SignoZodiacal = "Leo"

End If

Case 8

If dia < 23 Then

SignoZodiacal = "Leo"

Else

SignoZodiacal = "Virgo"

End If

Case 9

If dia < 23 Then

SignoZodiacal = "Virgo"

Else

SignoZodiacal = "Libra"

End If

Case 10

If dia < 23 Then

SignoZodiacal = "Libra"

Else

SignoZodiacal = "Escorpio"

End If

Case 11

If dia < 22 Then

SignoZodiacal = "Escorpio"

Else

SignoZodiacal = "Sagitario"

End If

Case 12

If dia < 22 Then

SignoZodiacal = "Sagitario"

Else

SignoZodiacal = "Capricornio"

End If

End Select

End Function

End Class

End Namespace

La función Estacion nos hallara la estación del año en que nació, igualmente

la función SignoZodiacal que nos hallara el signo zodiacal correspondiente.

Page 35: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

33

Al principio de la ventana de codificación del formulario, escribiremos el

siguiente código que nos permite importar el espacio de nombre que hemos creado.

Para que lo importamos?, lo importamos para poder utilizar sus clases, funciones

que hemos creado.

Imports Ejercicio81.Informacion

Función Limpia

Sub Limpia()

Me.txtFecNac.Text = ""

Me.lblEstacion.Text = ""

Me.lblFecAct.Text = ""

Me.lblMesesTrans.Text = ""

Me.lblNumSem.Text = ""

Me.lblSigno.Text = ""

Me.txtFecNac.Focus()

End Sub

frmEjercicio81 (Evento Load)

Call Limpia()

Me.Text = "La Fecha Actual es: " + CStr(Format(Now, "dd / MMMM / yyyy"))

btnOk (Evento Click)

Dim ndia, nmes As Integer

Dim Estacion, Signo As New Informacion.FecNac

If Not IsDate(Me.txtFecNac.Text) Then

MsgBox("Ingrese una Fecha Correcta", MsgBoxStyle.Information, "Error")

Exit Sub

End If

ndia = Microsoft.VisualBasic.Day(CDate(Me.txtFecNac.Text))

nmes = Microsoft.VisualBasic.Month(CDate(Me.txtFecNac.Text))

Me.lblEstacion.Text = Estacion.Estacion(ndia, nmes)

Me.lblSigno.Text = Signo.SignoZodiacal(ndia, nmes)

Me.lblNumSem.Text =

Microsoft.VisualBasic.DatePart(DateInterval.WeekOfYear,

CDate(Me.txtFecNac.Text))

Me.lblMesesTrans.Text = Microsoft.VisualBasic.DateDiff(DateInterval.Month,

CDate(Me.txtFecNac.Text), Now)

Me.lblFecAct.Text = Microsoft.VisualBasic.DateAdd(DateInterval.WeekOfYear,

3, Now)

btnSalir (Evento Click)

Me.Close()

Page 36: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

34

82. Esta aplicación nos muestra un ejemplo de la utilidad de las funciones de tipo

numéricas.

Función Limpia

Sub Limpia()

Me.txtNumero.Text = ""

Me.lblDecimal.Text = ""

Me.lblEntero.Text = ""

Me.lblRaiz.Text = ""

Me.lblSigno.Text = ""

Me.lblValAbs.Text = ""

Me.lblValHex.Text = ""

Me.lblValOct.Text = ""

Me.txtNumero.Focus()

End Sub

frmEjercicio82 (Evento Load)

Call Limpia()

txtNumero

lblEntero

lblValHex

lblDecimal

lblValOct

lblValAbs

lblRaiz

lblSigno

btnMuestra

btnNuevo

btnSalir

Page 37: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

35

btnOk (Evento Click)

If Not IsNumeric(Me.txtNumero.Text) Then

MsgBox("Ingrese un Número", MsgBoxStyle.Information, "Error")

Me.txtNumero.Text = ""

Me.txtNumero.Focus()

Exit Sub

End If

Me.lblEntero.Text = CStr(CInt(Val(Me.txtNumero.Text)))

Me.lblDecimal.Text = CStr(Val(Me.txtNumero.Text) - Val(Me.lblEntero.Text))

Me.lblValAbs.Text = CStr(Math.Abs(Val(Me.txtNumero.Text)))

If Val(Me.txtNumero.Text) > 0 Then

Me.lblRaiz.Text = CStr(Math.Sqrt(Val(Me.txtNumero.Text)))

Else

Me.lblRaiz.Text = "No Existe"

End If

Me.lblSigno.Text = CStr(Math.Sign(Val(Me.txtNumero.Text)))

Me.lblValOct.Text = CStr(Microsoft.VisualBasic.Oct(Val(Me.txtNumero.Text)))

Me.lblValHex.Text = CStr(Microsoft.VisualBasic.Hex(Val(Me.txtNumero.Text)))

btnSalir (Evento Click)

Me.Close()

btnNuevo (Evento Click)

Call Limpia()

FUNCION SHELL

La función Shell se utiliza para ejecutar programas (archivos ejecutables

como *.exe, *.com etc.) desde el visual Basic. Su sintaxis es la siguiente:

Shell("Ruta y Nombre del programa", Estilo de Presentación)

Page 38: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

36

btnCalc

btnWord

btnExcel

btnExplorador

btnDOS

btnFinalizar

83. Esta aplicación nos permitirá ejecutar algunos programas desde el visual Basic.

btnCacl (Evento Click)

Shell("C:\Windows\System32\calc.exe", AppWinStyle.NormalFocus)

btnWord (Evento Click)

Shell("C:\Archivos de programa\Microsoft Office\OFFICE11\winword.exe",

AppWinStyle.MaximizedFocus)

btnExcel (Evento Click)

Shell("C:\Archivos de programa\Microsoft Office\OFFICE11\excel.exe",

AppWinStyle.MaximizedFocus)

Page 39: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

37

btnExplorador (Evento Click)

Shell("C:\WINDOWS\explorer.exe", AppWinStyle.MaximizedFocus)

btnDOS (Evento Click)

Shell("C:\WINDOWS\system32\cmd.exe", AppWinStyle.NormalFocus)

btnFinalizar (Evento Click)

If MsgBox("¿Deseas salir de la aplicación?", MsgBoxStyle.YesNo, "Uso de

Shell") = MsgBoxResult.Yes Then Me.Close()

Page 40: Entrega 7 - Capitulo XI

Lenguaje de Programación � Capitulo XI

Programando con Visual Basic 2005

Joel Martin Chuco Marrufo

38

Bueno señores con esto acaba la Séptima entrega de este manual, les pido

disculpas por la demora, pero estaba con trabajo estos dos últimos meses, aquí les

dejo o mejor dicho les envío los programas elaborados hasta ahora y en la próxima

entrega realizaremos lo siguiente:

Arrays

Procedimientos Cíclicos

Y mejoraremos el aspecto del formulario con métodos gráficos

Bueno conmigo será hasta la próxima entrega.

Joel Martin Chuco Marrufo

[email protected]

Donaciones a la cuenta de Ahorros del Banco de Interbank del Perú

Cuenta en Soles:

067-3008573552

Cuenta en Dólares:

067-3008573560

www.interbank.com.pe

Este Manual Solo lo Puedes Descargar por la Página Oficial.

www.lawebdelprogramador.com

Lima, 04 de mayo de 2006