4. ManualVB.net

Embed Size (px)

Citation preview

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    1111

    Migrando a la Nueva ProgramacinMigrando a la Nueva ProgramacinMigrando a la Nueva ProgramacinMigrando a la Nueva Programacin

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    2222

    Entorno De Visual Basic .Net 2003

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    3333

    Visual Basic es un sistema que esta diseado para crear programas ya sea

    tan sencillos como los que vamos a ver y tan difciles (aunque es solo una expresin) como lo es con base de datos. El acceso directo es depende a donde se instalo, lo nico que cambia es que ahora se utiliza una misma ventana de ingreso para cualquier programa de visual Studio .Net (Visual C#, Visual C++, Visual Basic) deseemos practicar.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    4444

    A comparacin de la pantalla inicial de visual Basic 6.0 es que en esta pantalla aparecer los ltimos programas hechos o accedidos con su respectiva fecha, tambin podr abrir cualquier solucin de visual Studio .Net o crear una nueva.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    5555

    Para abrir una solucin (proyecto), deber darle clic en el botn de abrir proyecto y le aparecer el explorador, no se preocupe, que el visual Studio .Net automticamente seleccionara el archivo a abrir.

    Ahora, lo que mas nos interesa, crear un nuevo proyecto, al dar clic en el botn nuevo proyecto te aparecer el siguiente explorador, bueno todo lo que explico es para personas que ya han programado en visual Basic 6.0 y desean migrar a Visual Basic .Net, bueno si lo lee uno que recin quiere aprender a programar le recomendara que se compre el libro de Visual Basic .Net 2005 de Jos Canchucaja Vilchez o visiten la web de elguille, bueno sigamos.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    6666

    Si se habrn dado cuenta, siempre se inicia en el visual Basic, y aparece seleccionado la opcin Aplicacin para Windows, justamente lo que ms vamos a utilizar, para programar. En donde dice nombre, va a ir el nombre de nuestro proyecto, y en donde dice ubicacin es en donde se va a ubicar nuestro proyecto o mejor dicho en donde lo vamos a guardar. Ahora veremos el entorno del visual Basic y de ah a realizar pequeos programas por no decir todos lo programas hechos en visual Basic 6.0 del libro de Juan Jos Castaeda Len, que para mi criterio es uno de los mejores autores de libros de programacin, que hay en el Per.

    Explorador del Proyecto

    Ventana de Propiedades Formulario Caja de Herramientas

    Explorador de Servidores

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    7777

    A esta nueva caja de herramientas de este visual por default esta activa el auto ocultamiento de la misma, igual que el explorador de servidores. Uno de los nuevos controles que tiene esta nueva versin el Linklabel que esta orienta a conexin a Internet, y adems te dars cuenta que en la creacin de un nuevo objeto, como lo es el de mens, esta aparece en la parte inferior como si fuera un control, para hacernos mas fcil la edicin de este control, bueno conforme avancemos en la programacin les ir explicando los nuevos mtodos o propiedades de los controles, antes que se aburran, vayamos a crear nuestra primera aplicacin, porque si son como yo, no me gusta mucho la palabrera, porque me gusta mas la accin jejeje, bueno comencemos y cualquier consulta me escriben a mi email okis, es [email protected] comencemos. Se me olvidaba, primero veremos las nuevas propiedades del formulario, los que mas vamos a usar, es algo corto no se preocupen, okis. AcceptButton.- Aqu establecemos que botn se activa al presionar la tecla Enter en el formulario, mejor dicho ejecuta el cdigo del botn mayormente llamado Aceptar CancelButton.- Aqu establecemos que botn se activa al presionar la tecla Esc en el formulario, mejor dicho ejecuta el cdigo del botn Cancelar. HelpButton.- Este botn Help (Ayuda), solo aparece cuando estn desactivados los dos botones de Minimize y Maximize, en otras palabras solo esta disponible para los formularios Fixed Single. Opacity.- Esta propiedad establece que tan opaco, mejor dicho que tan transparente puede ser el formulario, el 100% indica que no es transparente, y el 0% indica que el formulario va a ser totalmente transparente, en otras palabras va a ser invisible. Ahora si vayamos a programar, sorry.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    8888

    Controles Bsicos

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    9999

    Aplicacin N 01 Esta aplicacin es fcil de hacer, pero la cosa es divertirse y aprender okis, el formulario que vas a crear deber tener el siguiente diseo. El Proyecto se Llamara Aplicacion01 y el Formulario se llamar frmaplicacion01.

    Como tu mismo ves va a tener los siguientes controles: Control AutoSize BorderStyle Font TextAlign

    Label1 True None Microsoft Sans Serif, 28

    TopLeft

    Label2 False Fixed 3D Microsoft Sans Serif 13

    MiddleCenter

    Label3 Trae None Microsoft Sans Serif, Subrayado, 10

    TopRight

    Control Text

    Label1 Visual Basic .Net Label2 Migrando a la Nueva Programacin

    Label3 Mi nombre es Joel Martin Chuco Marrufo Si te habrs dado cuenta a la hora de utilizar la propiedad de TextAlign del control Label, este te muestra una imagen en donde hay nuevo opciones de alienar el texto a comparacin de la versin anterior que solo te mostraba tres opciones.

    Lado Inferior, pero centrado a los costados

    Lado Derecho, pero centrado arriba y abajo

    Lado Izquierdo Inferior

    Lado Izquierdo Superior

    Lado Izquierdo, pero centrado arriba y abajo

    Lado Derecho Superior

    Lado Derecho Inferior

    Lado Superior, pero centrado a los costados Centrado al medio, a los cuatros lados

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    10101010

    Luego de la pequea explicacin sigamos con la aplicacin, para poder ejecutar la aplicacin puedes presionar la tecla F5 o ir a la barra de men y despus a Depurar -> Iniciar, y por fin veraz tu primera aplicacin hecha en Visual Basic .Net. Nota: Si te sale un error al querer ejecutar tu aplicacin donde te dice: No se encontr Sub main en Aplicacion01.Form01. Esto se debe al cambio del nombre del formulario en la propiedad name que hacemos, as que lo nico que tienes que hacer es lo siguiente:

    Al salirte este mensaje le das clic en No

    Despus te diriges hacia la parte inferior de la ventana y le das doble clic en donde dice el error

    Y al salirte esta ventana, seleccionas el nombre del formulario y le das aceptar y ejecutas de nuevo tu programa, y listo, ya funciona.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    11111111

    Aplicacin N 02 Bueno seguiremos con las aplicaciones del Libro de Juan Jos Castaeda Len (Visual Basic 6.0), todava no vamos a tocar lo que es cdigo, primero tendremos que aprender lo que nos trae de nuevo esta nueva versin del visual para el diseo de nuestros formularios. Siguiendo con los diseos, esta aplicacin disearemos un nuevo formulario, como les digo solo disearemos okis. Para esta aplicacin crearemos un nuevo proyecto llamado Aplicacion02 y el formulario llamado frmaplicacion02, que tendr el siguiente diseo.

    A comparacin de la versin anterior de visual Basic, antes podamos agrandar la caja de texto sin ser necesario modificar la propiedad multiline a true, bueno ahora con esta nueva versin nos obliga a cambiar la propiedad multiline a true para poder recin modificar el tamao. Control AutoSize BorderStyle Font TextAlign

    Label1 True Fixed 3D Microsoft Sans Serif, Negrita, 12

    MiddleCenter

    Label2 False None Microsoft Sans Serif 8

    TopLeft

    Label3 True None Microsoft Sans Serif, 8

    TopLeft

    Label4 True None Microsoft Sans Serif, 8

    TopLeft

    Label5 True None Microsoft Sans Serif, 8

    TopLeft

    Label6 True None Microsoft Sans Serif, Negrita, 8

    MiddleCenter

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    12121212

    Control Text

    Label1 Datos Personales Label2 Nombre Label3 Direccin Label4 Telfono Label5 Centro de Estudios Label6 Observaciones

    Control Text Multiline ScrollBars TextBox1 En Blanco False None TextBox2 En Blanco False None TextBox3 En Blanco False None

    TextBox4 En Blanco False None TextBox5 En Blanco True Vertical

    Aplicacin Propuesta N 01 Esta aplicacin lo harn sin mi ayuda (Que fcil no?), no se preocupen es solo puro diseo aqu les dejo la interfaz okis.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    13131313

    Aplicacin N 03 Esta aplicacin todava es solo diseo, as que crearemos un nuevo proyecto llamado Aplicacion03 y un formulario llamado frmaplicacion03, que tendr la siguiente interfaz.

    Caractersticas: 1.- En el ciclo debe ingresar hasta 03 caracteres. 2.- En el sexo slo un carcter. 3.- En la clave hasta 05 caracteres y no se debe visualizar a medida que ingresa. 4.- No se debe permitir el ingreso de la direccin electrnica.

    Control AutoSize BorderStyle Font TextAlign

    Label1 True None Microsoft Sans Serif, 8

    TopLeft

    Label2 True None Microsoft Sans Serif 8

    TopLeft

    Label3 Trae None Microsoft Sans Serif, 8

    TopLeft

    Label4 True None Microsoft Sans Serif, 8

    TopLeft

    Label5 True None Microsoft Sans Serif, 8

    TopLeft

    Label6 False Fixed 3D Microsoft Sans Serif, Cursiva, 8

    MiddleCenter

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    14141414

    Control Text

    Label1 Nombre Label2 Ciclo (del I al X) Label3 Sexo (F/M) Label4 Clave

    Label5 Direccin Electrnica

    Label6 La direccin electrnica es asignada despus de ingresar todos los registros, por lo tanto, Ud. no podr ingresarla.

    Control Text ReadOnly MaxLength PasswordChar

    TextBox1 En Blanco False TextBox2 En Blanco False 3 TextBox3 En Blanco False 1

    TextBox4 En Blanco False 5 TextBox5 En Blanco True *

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    15151515

    Aplicacin N 04 Bueno dirn ustedes, Cuando vamos a comenzar a codificar?, bueno la respuesta es que en est aplicacin por fin podremos codificar, aunque sea un poco, pero algo es algo dicen, para esto crearemos un nuevo proyecto llamado Aplicacion04 y un formulario llamado frmaplicacion04, que tendr el siguiente diseo, si se han dado cuenta el diseo se parece al de la aplicacin 02, as que pueden hacerlo en la misma ventana de la aplicacin 02, si les da flojera disear esta interfaz okis.

    Bueno ya no les voy a decir las propiedades de cada control, solo les voy a indicar con que nombre voy a trabajar por cada control y que a la propiedad CancelButton del formulario le asignen el botn finalizar, para que a la hora de presionar la tecla Esc, este ejecute el cdigo de este botn okis.

    Control Name Button1 btnnuevo Button2 btnfinalizar TextBox1 Txtnombre

    TextBox2 Txtdireccion TextBox3 Txttelefono TextBox4 Txtce TextBox5 txtobservaciones

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    16161616

    Ahora codificaremos el botn nuevo, para entrar a la ventana de diseo de cdigo le daremos doble clic en el botn nuevo y aparecer el siguiente cdigo Private Sub btnnuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnnuevo.Click

    End Sub Y a continuacin codificaremos lo siguiente:

    txtnombre.Text = "" txtdireccion.Text = "" txttelefono.Text = "" txtce.Text = "" txtobservaciones.Text = "" txtnombre.Focus()

    y quedara algo asi:

    Y en el botn finalizar, codificaremos lo siguiente:

    Me.Close() Y visualizaras algo as:

    Bueno ahora viene lo mas interesante, que es la explicacin, comencemos, por el cdigo de Focus(), este mtodo tiene la misma funcin que hacia el cdigo de la versin anterior que es le Setfocus, que es la de devolver el foco al control indicado.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    17171717

    Ahora el cdigo de Me.Close(), este cdigo hace lo mismo que hacia los cdigos de la versin anterior que era el de End o el de Unload Me (Aunque estos dos cdigos aun lo acepta la nueva versin), que es la de cerrar la aplicacin y de liberar la memoria, para que el espacio que ocupe esta aplicacin en la memoria, pueda ser utilizada por otra aplicacin.

    Aplicacin Propuesta N 02 Bueno ahora que seguro que ya tienen ganas de programar, al saber que casi no ha cambiado el cdigo a comparacin de la versin anterior les dejare un aplicacin para que ustedes de luzcan poniendo todo su conocimiento en ello, solo les dejo la interfaz y lo que pide esta aplicacin.

    Caractersticas 1. Al dar clic en el botn nombre, me deber Mostar en el control TextBox el

    nombre del autor, o sea sus nombres y apellidos de usted. 2. Al dar clic en el botn Centro de Estudios, me deber Mostar el nombre del

    centro de estudios de usted. 3.

    Al dar clic en el botn Fecha de Nacimiento, me deber Mostar la fecha de nacimiento de usted.

    4.

    Al dar clic en el botn Salir, este terminara la aplicacin. 5.

    Al dar clic en cada botn, este dar el foco al siguiente botn. 6.

    Y por ultimo al presionar la tecla Esc, este cerrara la aplicacin.

    Eso es todo, no les pido nada mas, as que suerte!

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    18181818

    Aplicacin N 05 Esta aplicacin se parece bastante a la aplicacin anterior, as que para

    desarrollar esta aplicacin crearemos un nuevo proyecto llamado Aplicacion05 y un formulario llamado frmaplicacion05, que tendr la siguiente interfaz.

    Las caractersticas de los controles del formulario son las siguientes:

    Control Text Label1 Nombre

    Label2 Fecha de Nacimiento Label3 DNI Label4 Domicilio Actual

    Control Name Text TextBox1 Txtnombre En Blanco

    TextBox2 Txtfecnac En Blanco TextBox3 Txtdni En Blanco TextBox4 Txtdomact En Blanco Button1 Btnnuevo &Nuevo Button2 Btnsalir &Salir

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    19191919

    El cdigo que va a tener el btnnuevo es el siguiente:

    txtnombre.Text = "" txtfecnac.Text = "" txtdni.Text = "" txtdomact.Text = "" txtnombre.Focus()

    Y el del btnsalir es el siguiente:

    Me.Close()

    Con esta aplicacin concluimos este segundo capitulo, as que ahora tocaremos un poco mas de programacin codificada en el siguiente capitulo.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    20202020

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    21212121

    Elementos de Programacin, Programando de Verdad

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    22222222

    Aplicacin N 06

    Esta aplicacin muestra la diferencia entre una variable declarada con DIM y STATIC dentro de un procedimiento.

    Paso N 01: Dibujar los controles. Paso N 02: Asignar los nombres a los controles. Como ustedes se habrn dado

    cuenta, yo acostumbro a ponerle un nombre especifico a cada control que voy a utilizar, y en esta aplicacin no puede ser la excepcin, los siguientes nombres que vana tener los controles son:

    Control Name

    Label3 lbla Label4 lblb Button1 btnincrementa

    Paso N 03: Escribir las instrucciones btnincrementa (Evento Click) Dim a As Integer Static b As Integer a = a + 1 b = b + 1 lbla.Text = a lblb.Text = b Como usted observara que al dar clic en el botn Incrementa a la Variable A y

    B, la variable a no se incrementa, por estar declarada como DIM, que permite reinicializar una variable cada vez que se ejecuta un procedimiento, a comparacin de la variable b, que esta almacena su valor asignado, hasta que la aplicacin termine, bueno sigamos con las aplicaciones, ya que tu debes saber todo esto, ya que haz llevado Visual Basic 6.0, as que explicare mas detalladamente en el manual de principiante, para que los que no sepan, lo tengan en claro la diferencia, sigamos entonces.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    23232323

    Aplicacin N 07 Les dir ahora lo que nos pide esta aplicacin, nos pide que al ingresar un nombre de un trabajador, las horas normales que ha trabajado, las horas extras, el pago por cada hora normal y extra. Al dar clic en el botn de calcular nos deber mostrar lo siguiente: total del pago por las horas normales y extras, el subtotal, su descuento del 10 % y el total a pagarle (el subtotal menos el descuento).

    Paso N 01: Disear el formulario, preferira que lo hicieran lo mejor posible. Paso N 02: Asignarles los nombres especficos para cada control.

    Control Name TextBox1 txtnom TextBox2 txthtn

    TextBox3 txthe TextBox4 txtpxhn

    TextBox5 txtpxhe Label11 lbltxhn Label12 lbltxhe Label13 lblsubtotal Label14 lbldescuento Label15 lbltp Button1 btnnuevo

    Button2 btnsalir Button3 btncalcular

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    24242424

    Paso N 03: Uno de los pasos ms difciles, escribir las instrucciones. btnsalir (Evento click) Me.Close()

    btnnuevo (Evento click) txtnom.Text = "" txthtn.Text = "" txthe.Text = "" txtpxhn.Text = "" txtpxhe.Text = "" lbltxhn.Text = "" lbltxhe.Text = "" lblsubtotal.Text = "" lbldescuento.Text = "" lbltp.Text = "" txtnom.Focus() btncalcular (Evento click) Dim hnt, het, phn, phe, thn, the, st, des, tp As Single Const descuento = 10 hnt = Val(txthtn.Text) 'Horas Normales Trabajadas het = Val(txthe.Text) 'Horas Extras Trabajadas phn = Val(txtpxhn.Text) 'Pago por Horas Normales phe = Val(txtpxhe.Text) 'Pago por Horas Extras thn = hnt * phn 'Total de Pago por las Horas Normales the = het * phe 'Total de Pago por las Horas Extras st = thn - the 'Sub Total des = st * descuento / 100 'Descuento tp = st - des 'Total a Pagar lbltxhn.Text = Format(thn, "### ###.##") lbltxhe.Text = Format(the, "### ###.##") lblsubtotal.Text = Format(st, "### ###.##") lbldescuento.Text = Format(des, "### ###.##") lbltp.Text = Format(tp, "### ###.##") Hasta ahora hemos visto pequeos cambios que ha tenido el Visual Basic en su

    codificacin, ya sea con el Setfocus, que ahora es Focus, el Unload Me o End por el Me.Close(), bueno ahora con la siguiente aplicacin veremos otro pequeo cambio que tiene el visual Basic en una funcin bastante usada que es el KeyAscci, asi que vayamos con la siguiente aplicacin.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    25252525

    Aplicacin N 08 Ahora con esta aplicacin que se parece mucho a la aplicacin N 02 (en la interfaz) no les voy a pedir mucho, solo que al presionar ENTER en cada caja de texto (TextBox), este le pase el foco al siguiente TextBox, y al presionar la tecla ESC o dar clic en el botn Finalizar, nos salga un mensaje de advertencia, as que comencemos.

    Paso N 01: Disear el formulario.

    Paso N 02: Asignar los nombres a los controles.

    Control Name

    TextBox1 txtnombre TextBox2 txtdireccion

    TextBox3 txttelefono TextBox4 txtce TextBox5 txtobservaciones Button1 btnnuevo

    Button2 btnsalir

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    26262626

    Paso N 03: Escribir las instrucciones, bueno mejor dicho copien, y de ah les explico okis.

    btnnuevo (Evento click) txtnombre.Text = "" txtdireccion.Text = "" txttelefono.Text = "" txtce.Text = "" txtobservaciones.Text = "" txtnombre.Focus() btnsalir (Evento Click) en una sola Lnea la comparacin okis. If MsgBox("Desea Salir de la Aplicacin?", MsgBoxStyle.Question.YesNo, "Aplicacin N 08") = MsgBoxResult.Yes Then

    Me.Close() End If txtnombre (Evento KeyPress) If Asc(e.KeyChar) = 13 Then

    txtdireccion.Focus() End If txtdireccion (Evento KeyPress) If Asc(e.KeyChar) = 13 Then

    txttelefono.Focus() End If txttelefono (Evento KeyPress) If Asc(e.KeyChar) = 13 Then

    txtce.Focus() End If txtce (Evento KeyPress) If Asc(e.KeyChar) = 13 Then

    txtobservaciones.Focus() End If txtobservaciones (Evento KeyPress) If Asc(e.KeyChar) = 13 Then

    btnfinalizar.Focus() End If

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    27272727

    Bueno les dir que no soy tan bueno en las explicaciones as que tratare de ser lo mas claro, lo bueno que ustedes ya han programado seguro con este cdigo, as que ser ms fcil, comencemos.

    Primero comencemos con ver el cdigo que seria en visual Basic 6.0 If keyascci = 13 Then

    Text2.SetFocus End If

    Como sabemos, el valor en el cdigo ASCII de la pulsacin de la tecla ENTER es 13, bueno, antes nos bastaba escribir ese cdigo en el evento KeyPress, ahora tenemos que escribir este cdigo en el visual Basic.Net 2003. If Asc(e.KeyChar) = 13 Then

    TextBox2.Focus() End If Comencemos con la explicacin, si se dan cuenta que en el procedimiento del TextBox hay dos argumentos que se pasa, que es el Sender y el e, a comparacin de la versin anterior que solo era el Keyascii, bueno les dir que en el argumento e se encuentran todos los eventos, procedimientos y funciones que estn en ejecucin, como lo es el KeyChar, que es una funcin que nos devuelve el carcter que ha sido digitado, este carcter es de variable string, es por ello que usamos la funcin Asc, que convierte en cdigo ASCII a cualquier carcter que le enviemos a esta funcin, bueno espero que hayan entendido, sino, les dir algo resumido lo que significa el cdigo okis. Si la funcin Asc nos devuelve 13 en cdigo ASCII, del argumento enviado, que es la tecla que digitemos en ese momento, que lo obtenemos mediante e.KeyChar, este dar el foco al siguiente TextBox, bueno si no lo entendieron les aconsejara leer el manual para principiantes que despus lo voy a publicar, as que para no hacerla larga les voy a dejar una pequea aplicacin, que se parece mucha a esta, as que resulvanlo solos, y hganlo lo mejor posible okis.

    Aplicacin Propuesta N 03

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    28282828

    Alicacin N 09 El siguiente programa permite ingresar los apellidos y nombres, fecha de ingreso, turno y promedio de un alumno. Teniendo las siguientes caractersticas: 1. El primer carcter de cada nombre o apellido debe convertirse en mayscula y

    el resto en minsculas. 2. Se debe verificar la fecha ingresada este correcta. 3.

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

    El promedio debe ser un nmero entre 0 y 21. 5.

    Los botones Nuevo y Salir deben permanecer desactivados hasta que se ingresen todos los datos correctos.

    Paso N 01: Disear el formulario

    Paso N 02: Asignar los nombres a los respectivos controles.

    Control Name

    TextBox1 txtapenom TextBox2 txtfecing

    TextBox3 txtturno TextBox4 txtpromedio Button1 btnnuevo Button2 btnsalir

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    29292929

    Paso N 03: Escribir las instrucciones con mucha lgica, y sobre todo que funcione. Bueno primero comencemos con crear funciones okis.

    Funcin Limpiar Function Limpiar() txtapenom.Text = "" txtfecing.Text = "" txtturno.Text = "" txtpromedio.Text = "" btnnuevo.Enabled = False btnsalir.Enabled = False txtapenom.Focus() End Function Funcin Maysculas Function Mayuscula(ByVal v) If (v >= 65 And v = 97 And v 57) Then Numero = False Else Numero = True End If End Function

    Funcin Especial Function Especial(ByVal v)

    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 Funcin Ingresados Function Ingresados() If Trim(txtapenom.Text) "" And IsDate(txtfecing.Text) And

    Trim(txtturno.Text) "" And Trim(txtpromedio.Text) "" Then btnnuevo.Enabled = True btnsalir.Enabled = True Else btnnuevo.Enabled = False btnsalir.Enabled = False End If End Function

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    30303030

    Paso N 04: Despus de escribir las instrucciones en las funciones, ahora nos toca escribir las instrucciones en los eventos de cada control.

    frmaplicacion09 (Evento Form_Load)

    Limpiar()

    btnnuevo (Evento Click)

    Limpiar()

    btnsalir (Evento Click) en una sola linea If MsgBox("Desea salir de la aplicacin?", MsgBoxStyle.Question.YesNo, "Cuidado") = MsgBoxResult.Yes Then Me.Close() txtapenom (Evento KeyPress) Dim a, b, Longitud, Ascii As Integer Dim Temp As String Dim Caracter As Char If Asc(e.KeyChar) = 13 Then txtfecing.Focus() End If Longitud = (txtapenom.TextLength) - 1 If Longitud < 1 Then Longitud = Longitud + 1 Caracter = Microsoft.VisualBasic.Right(txtapenom.Text, 1) Caracter = UCase(Caracter) txtapenom.Text = "" txtapenom.Text = Caracter txtapenom.SelectionStart = Longitud + 1 Exit Sub End If Caracter = Mid(txtapenom.Text, Longitud, Longitud) Ascii = Asc(Caracter) If Ascii = 32 Then Temp = Microsoft.VisualBasic.Left(txtapenom.Text, Longitud) Caracter = Microsoft.VisualBasic.Right(txtapenom.Text, 1) Caracter = UCase(Caracter) txtapenom.Text = "" txtapenom.Text = Temp + Caracter txtapenom.SelectionStart = Longitud + 1 End If

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    31313131

    txtfecing (Evento Leave) Antes LostFocus If IsDate(txtfecing.Text) Then Ingresados() Else MsgBox("Debe de ingresar una fecha correcta", MsgBoxStyle.Information,

    "Cuidado") txtfecing.SelectionStart = 0 txtfecing.SelectionLength = Len(txtfecing.Text) txtfecing.Text = txtfecing.SelectedText txtfecing.Focus() End If txtfecing (Evento KeyPress) If Asc(e.KeyChar) = 13 Then txtturno.Focus() End If txtturno (Evento KeyPress) Dim Letra As String Dim Caracter As Char Letra = UCase(e.KeyChar) If Asc(e.KeyChar) = 13 Then Caracter = Microsoft.VisualBasic.Left(txtturno.Text, 1) If Caracter "M" And Caracter "T" And Caracter "N" Then MsgBox("Debe de Ingresar slo letras M, T o N",

    MsgBoxStyle.Information, "Error") txtturno.Text = "" txtturno.Focus() Exit Sub Else txtpromedio.Focus() End If Else txtturno.Text = "" If Letra "M" And Letra "T" And Letra "N" Then MsgBox("Debe de Ingresar slo letras M, T o N",

    MsgBoxStyle.Information, "Error") txtturno.Focus() btnnuevo.Enabled = False btnsalir.Enabled = False End If End If

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    32323232

    txtpromedio (Evento KeyPress) If Numero(Asc(e.KeyChar)) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 13 Then Ingresados() Else MsgBox("Debe de Ingresar slo nmero", MsgBoxStyle.Information, "Error") txtpromedio.Text = "" txtpromedio.Focus() btnnuevo.Enabled = False btnsalir.Enabled = False End If txtpromedio (Evento TextChanged) If Val(txtpromedio.Text) < 0 Or Val(txtpromedio.Text) > 20 Then MsgBox("El promedio debe estar entre 0 y 20", MsgBoxStyle.Information,

    "Error") txtpromedio.SelectionStart = 0 txtpromedio.SelectionLength = Len(txtpromedio.Text) txtpromedio.Text = txtpromedio.SelectedText txtpromedio.Focus() btnnuevo.Enabled = False btnsalir.Enabled = False Else Ingresados() End If txtapenom (Evento TextChanged) Ingresados() txtturno (Evento TextChanged) Ingresados() txtturno (Evento Leave) Antes LostFocus Dim Caracter As Char Caracter = Microsoft.VisualBasic.Left(txtturno.Text, 1) If Caracter "M" And Caracter "T" And Caracter "N" Then MsgBox("Debe de Ingresar slo letras M, T o N", MsgBoxStyle.Information,

    "Error") txtturno.Text = "" txtturno.Focus() Exit Sub Else txtpromedio.Focus() End If

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    33333333

    Despus de una larga codificacin, viene la explicacin, haber por donde

    comenzamos, creo que por el cambio de cdigo que ha tenido esta nueva versin, primero veamos de la funcin Left, en la versin 6.0 y despus en la versin .Net.

    En el visual Basic 6.0 el cdigo de la funcin Left sera as: Dim Caracter As Char Caracter = Left(Text1.Text, 1) Y en el Visual Basic .Net 2003 seria as: Dim Caracter As Char Caracter = Microsoft.VisualBasic.Left(TextBox1.Text, 1) En esta nueva versin el visual Basic nos obliga que especifiquemos de que biblioteca estamos usando la funcin Left, asi que si no acepta alguna funcin que utilizabas en la versin anterior, solo es cuestin de revisar la librera de Microsoft.VisualBasic, por que all encontraras varias funciones como lo es la funcin Right, Mid, Len, etc, as como las funciones de matemticas puedes encontrarlas en la biblioteca Math, solo escribes Math. Y de ah buscas la funcin que deseas. Bueno ya te explique el cambio que tuvo en la funcin Left, ahora me toca la de algunas propiedades, eventos y mtodos que ha cambiado en el control TextBox, as que comencemos por los eventos, okis.

    Visual Basic 6.0 Visual Basic .Net LostFocus Leave Change TextChanged

    Load Form_Load KeyPress KeyPress

    Como se habrn dado cuenta son algunos eventos noms que han cambiado de nombre, refirindome a los ms usados, bueno el KeyPress no ha cambiado de nombre, pero si el argumento que este recibe, como antes explique, ya no recibe el argumento ASCII, sino el argumento e, eso tengan bien en claro, para poder manejar los caracteres digitado en la ejecucin. Que quede claro que el argumento e solo devuelve caracteres de tipo char, para ser comparados con algn cdigo ASCII debern convertir este carcter a un cdigo ASCII mediante la funcin ASC, y que tambin que quede en claro que al argumento e, no le podrs asignar ninguna instruccin. Como por ejemplo: Para ignorar un digito ingresado en la versin 6.0 solo te bastaba digitar keyAscii = 0, en cambio en esta versin no podrs asignarle un valor, pero en la versin beta del 2005 si, este argumento e, si se le puede asignar valores a este argumento, as que te recomendara que te prepares para esta nueva versin del Visual Basic que se llama Visual Basic 2005 Express Edition, buena ahora esta en versin Beta 2, pero les digo que es una versin con nuevos controles y nuevos tipos de formularios, y se parece mucho a la Versin 6.0 en cuanto a los eventos, y no a la codificacin, me entienden?, bueno, entonces instalen el Beta que ya esta publicado en la pagina de Microsoft en espaol, cualquier duda me escriben a mi correo, y yo les dir un truquito para

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    34343434

    bajarte la versin beta y llevrtelo a tu casa a instalarlo, ya que es una instalacin va Internet, okis, ahora sigamos con la explicacin. Bueno ahora me toca explicar sobre las funciones, como crear las funciones (aunque no hay mucho de explicar), bueno en esta nueva versin para crear una funcin solo basta escribir la palabra Function y el nombre de la funcin y darle un Enter, y nada mas, en eso si no ha cambiado. Bueno dejemos la palabrera y a seguir practicando.

    Aplicacin N 10 Esta aplicacin es algo parecido a las aplicaciones que vamos a hacer en el transcurso del todo el manual, sea aplicaciones para empresas comerciales, ya que este rubro son los que nos da mas trabajo a los programadores.

    Las caractersticas que les pido en este formulario es lo siguiente: 1. Al iniciar el formulario estn desactivados los botones de Depsito y Retiro y la

    caja de texto de monto. 2. Al dar clic en el botn ok, este se ocultara y desactivara la caja de texto cliente,

    y al mismo tiempo nos salga una ventana solicitndonos que ingresemos un monto especfico, para la apertura de la cuenta.

    3.

    Que por cada depsito o retiro que este haga, deber de estar contabilizado por el sistema.

    4.

    Y por ultimo que si al retirar una cantidad mayor a la de su saldo, me deber de mostrar un error y no me permitir retirar dicho monto

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    35353535

    Ahora comencemos a desarrollar la aplicacin.

    Paso N 01: Disear el formulario, como se muestra, si quieren cmbienles de color, por que ustedes son libres de decidir, pero cuidado con poner color rosado en el formulario (si eres hombre).

    Paso N 02: Asignar los nombres respectivos a los controles.

    Control Name TextBox1 txtcliente

    TextBox2 txtmonto Label7 lblcdeposito Label8 lblcretiro

    Label9 lbltdeposito Label10 lbltretiro Label12 lblsaldo Button1 btnok

    Button2 btndeposito Button3 btnretiro

    Button4 btnnuevo Button5 btnsalir

    Paso N 03: Ahora lo ms fcil, la codificacin, es fcil por que es una aplicacin

    pequea, no como la otra que haba un montn para codificar, as que comencemos, primero vamos a declarar variables a nivel del formulario, sea despus de donde dice Cdigo generado por el Diseador de Windows Forms.

    Dim td, cd, tr, cr, saldo As Integer Funcin Iniciar Function Iniciar() td = 0 cd = 0 tr = 0 cr = 0 txtcliente.Text = "" txtmonto.Text = "" lblcdeposito.Text = "" lblcretiro.Text = "" lbltdeposito.Text = "" lbltretiro.Text = "" lblsaldo.Text = "" btnok.Visible = True btndeposito.Enabled = False btnretiro.Enabled = False txtcliente.ReadOnly = False txtmonto.ReadOnly = True txtcliente.Focus() End Function

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    36363636

    frmaplicacion10 (Evento Form_Load) Iniciar() btnok (Evento Click) If txtcliente.Text = "" Or IsNumeric(txtcliente.Text) = True Then MsgBox("Debe de ingresar un nombre, con solo letras",

    MsgBoxStyle.Information, "Banco - El Amigo") txtcliente.Text = "" txtcliente.Focus() Exit Sub End If txtcliente.ReadOnly = True txtmonto.ReadOnly = False btnok.Visible = False btndeposito.Enabled = True btnretiro.Enabled = True saldo = Val(InputBox("Monto de Apertura: La cuenta se apertura con

    cualquier monto", "Monto de la Nueva Cuenta", 350)) lblsaldo.Text = (saldo.ToString) td = saldo cd = 1 lblcdeposito.Text = (cd.ToString) lbltdeposito.Text = (td.ToString) txtmonto.Focus() btndeposito (Evento Click) If txtmonto.Text = "" Or txtmonto.Text = "0" Or IsNumeric(txtmonto.Text) =

    False Then MsgBox("Debe ingresar solo nmeros mayor a 0",

    MsgBoxStyle.Information, "Banco - El Amigo") txtmonto.Focus() Exit Sub End If Dim deposito As Integer deposito = Val(txtmonto.Text) td = td + deposito cd = cd + 1 'Estas tres lneas de cdigo no es necesario, por que solo le asignaramos 'a lblsaldo el valor de la variable td 'lblsaldo.Text=(td.ToString) saldo = Val(lblsaldo.Text) saldo = saldo + deposito lblsaldo.Text = (saldo.ToString) lblcdeposito.Text = (cd.ToString) lbltdeposito.Text = (td.ToString)

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    37373737

    btnretiro (Evento Click) If txtmonto.Text = "" Or txtmonto.Text = "0" Or IsNumeric(txtmonto.Text) =

    False Then MsgBox("Debe ingresar solo nmeros mayor a 0",

    MsgBoxStyle.Information, "Banco - El Amigo") txtmonto.Focus() Exit Sub End If Dim retiro As Integer retiro = Val(txtmonto.Text) saldo = Val(lblsaldo.Text) If saldo < retiro Then MsgBox("La cantidad que desea retirar excede a su saldo actual",

    MsgBoxStyle.Information, "Lo sentimos") txtmonto.Text = "" txtmonto.Focus() Else tr = tr + retiro cr = cr + 1 lblcretiro.Text = (cr.ToString) lbltretiro.Text = (tr.ToString) lblsaldo.Text = ((saldo - retiro).ToString) End If btnsalir (Evento Click) If MsgBox("Desea salir de la Aplicacion?", MsgBoxStyle.Question.YesNo,

    "Banco - El Amigo") = MsgBoxResult.Yes Then Me.Close() End If btnnuevo (Evento Click) Iniciar() Creo que no les haba explicado sobre el Nuevo cdigo del MsgBox, bueno ahora

    les dir en el formato que debes de escribir para mostrar un mensaje. MsgBox([Aqu va el mensaje que quieres mostrar, entre comillas], [escoges el tipo de mensaje a mostrar, ya se de pregunta, si o no o solo informacin etc.], [Aqu va el titulo del mensaje]) Si muestras un mensaje de decisin, aqu tambin puedes comparar la respuesta que el usuario de, como lo hago yo, en el mensaje salir, esto cambia a comparacin del visual Basic 2005, que solo cambia un cdigo.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    38383838

    Aplicaciones Propuestas N 04 Este formulario les pide ingresar el nombre del producto, precio anterior y precio actual, luego deber de calcular el alza en soles y el alza en porcentaje. El alza en porcentaje es igual al alza en soles por 100 / precio anterior, ejemplo: Precio Anterior = 50 Precio Actual = 80 Alza en Porcentaje = ((80-50) * 100)/50

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    39393939

    Aplicaciones Propuestas N 05 Esta aplicacin nos pide ingresar el nombre del profesor, nmero de horas normales que ha trabajado y el nmero de horas extras, luego se debe de calcular el total que se le debe pagar por el nmero de horas normales, el total por horas extras y el total a pagar. Si ha trabajado mas de 48 horas su pago por horas es de S/. 8.00 y S/. 7.00 en caso contrario. Por hora extra S/. 9.50.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    40404040

    Aplicacin N 11 Se debe de ingresar el nombre de un producto, su precio unitario y la cantidad comprada de dicho producto, luego se debe calcular y visualizar el subtotal, el descuento en porcentaje, el descuento en soles y el total a pagar. El descuento en porcentaje se depende del subtotal, 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 %

    Paso N 01: Disear el formulario como se muestra en la figura.

    Paso N 02: Asignar los nombres a cada control.

    Control Name

    TextBox1 txtproducto TextBox2 txtprecuni

    TextBox3 txtcantcomp Label7 lblsubtotal Label8 lbldescP

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    41414141

    Label9 lbldescS Label11 lbltotal

    Button1 btncalcular Button2 btnnuevo Button3 btnsalir

    Paso N 03: Ahora nos toca hacer la codificacin, si te ha estado saliendo todo

    bien hasta ahora y haz entendido, no te ser difcil. As que comencemos: Funcin Iniciar Function Iniciar(ByVal activar As Boolean) txtprod.Text = "" txtprecuni.Text = "" txtcantcomp.Text = "" lblsubtotal.Text = "" lbldescP.Text = "" lbldescS.Text = "" lbltotal.Text = "" btncalcular.Enabled = activar btnnuevo.Enabled = Not activar txtprod.Focus() End Function btnnuevo (evento Click) Iniciar(True) frmaplicacion11 (Evcento Load) Iniciar(False) btnsalir (Evento Click) If MsgBox("Desea salir de la aplicacin?", MsgBoxStyle.Question.YesNo,

    "Venta de Productos") = MsgBoxResult.Yes Then Me.Close() End If btncalcular (Evento Click) Dim desc As Single lblsubtotal.Text = (Format(Val(txtprecuni.Text) * Val(txtcantcomp.Text),

    "### ###.##")).ToString Select Case Val(lblsubtotal.Text) Case 100 Or 101 desc = 0.02 Case 101.1 To 200 desc = 0.04 Case 200.1 To 500 desc = 0.06

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    42424242

    Case Is > 501 desc = 0.1 Case Is < 0 MsgBox("Error: No se permiten cantidades y precios negativos",

    MsgBoxStyle.Information, "Venta de Productos") End Select lbldescP.Text = (desc * 100).ToString + " %" lbldescS.Text = (Format(desc * Val(lblsubtotal.Text), "###

    ##0.##")).ToString lbltotal.Text = (Format(Val(lblsubtotal.Text) - Val(lbldescS.Text), "###

    ##0.##")).ToString btncalcular.Enabled = False btnnuevo.Enabled = True Como se habrn dado cuenta, no hay mucho que explicar, la mayora de este

    capitulo, no hay mucha explicacin por que si se han dado cuenta, casi el cdigo no ha cambiado a comparacin de la versin anterior. Bueno les voy a repetir que este manual es solo para aquellas personas que ya saben programar en visual Basic 6.0 y quieren saber que cosas nuevas nos trae esta versin, y si desean saber o estudiar todo de nuevo, no se preocupen que hay varias instituciones donde ensean lenguaje de programacin, jejejeje, mentira, solo que se esperarn un poco, por que a mediados de febrero del prximo ao, sea en el 2006, sacare no se como llamarle si libro o manual, pero en fin, va a ser para principiantes, intermedios y avanzados, en el Lenguaje de Programacin basado en el Visual Basic 2005 Express Edition, por ahora lo estoy trabajando en la Versin Beta 2 en espaol que ha salido, espero que salga pronto la versin original, y espero que no cambie mucho, bueno sigamos con los ejemplo para que vean que no ha cambiado mucho, okis.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    43434343

    Aplicacion N 12 En esta aplicacin nos pide ingresar el nombre del alumno, su nota N 1 y su nota N 2, al hacer clic en el botn Obtener Promedio se debe visualizar: el promedio del alumno, una observacin que indica si el alumno est aprobado o desaprobado, la nota cambiara de color, si esta aprobado se mostrara de color azul y en caso contrario de rojo, la cantidad de puntos que le faltan para aprobar, si esta desaprobado o los puntos para llegar a veinte en caso que esta aprobado. Tambin se debe visualizar la Nota Cualitativa del alumno de acuerdo al promedio. Se debe de controlar que slo se ingresan notas entre 0 y 20.

    Entre 0 y 5 Psimo

    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

    Paso N 01: Disear el Formulario. Paso N 02: Asignar los nombres a los controls.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    44444444

    Control Name

    TextBox1 txtalumno TextBox2 txtcurso TextBox3 txtn1 TextBox4 txtn2

    Label8 lblpromedio Label9 lblobservacion

    Label10 lblpuntos Label12 lblcualidad Button1 btnotro

    Button2 btnpromedio Button3 btnfinalizar

    Paso N 03: El paso ms fcil de este formulario, la codificacin, as que hagan

    todo su esfuerzo de copiar bien, sea recuerden el cole, jejejeje. Funcin Limpiar Function Limpiar(ByVal condicion As Boolean) txtalumno.Text = "" txtcurso.Text = "" txtn1.Text = "" txtn2.Text = "" lblpromedio.Text = "" lblobservacion.Text = "" lblpuntos.Text = "" lblcualidad.Text = "" btnotro.Enabled = condicion btnpromedio.Enabled = Not condicion txtalumno.Focus() End Function btnfinalizar (Evento Click) If MsgBox("Deseas salir del programa?", MsgBoxStyle.Question.YesNo,

    "Informacin Acadmica") = MsgBoxResult.Yes Then Me.Close() End If btnotro (Evento Click) Limpiar(False) frmaplicacion12 (Evento Load) Limpiar(False)

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    45454545

    btnpromedio (Evento Click) If txtn1.Text = "" Or Val(txtn1.Text) < 0 Or Val(txtn1.Text) > 20 Or

    IsNumeric(txtn1.Text) = False Then MsgBox("Tiene que ingresar solo nmeros entre 0 y 20 en la primera nota",

    MsgBoxStyle.Information, "Informacin Acadmica") txtn1.Text = "" txtn1.Focus() Exit Sub ElseIf txtn2.Text = "" Or Val(txtn2.Text) < 0 Or Val(txtn2.Text) > 20 Or

    IsNumeric(txtn2.Text) = False Then MsgBox("Tiene que ingresar solo nmeros entre 0 y 20 en la segunda

    nota", MsgBoxStyle.Information, "Informacin Acadmica") txtn2.Text = "" txtn2.Focus() Exit Sub End If Dim promedio As Single promedio = (Val(txtn1.Text) + Val(txtn2.Text)) / 2 If promedio >= 0 And promedio < 10.5 Then lblpuntos.Text = "Le faltan " + (10.5 - promedio).ToString + " para se

    aprobado(a)" lblpromedio.ForeColor = System.Drawing.Color.Red lblpromedio.Text = promedio.ToString lblobservacion.Text = "Desaprobado(a)" ElseIf promedio > 10.4 And promedio < 20.1 Then lblpuntos.Text = "Le faltan " + (20 - promedio).ToString + " para llegar a

    20" lblpromedio.ForeColor = System.Drawing.Color.Blue lblpromedio.Text = promedio.ToString lblobservacion.Text = "Aprobado(a)" End If Select Case promedio Case 0 To 5 lblcualidad.Text = "Psimo" Case 5.1 To 10.4 lblcualidad.Text = "Malo" Case 10.5 To 14.4 lblcualidad.Text = "Regular" Case 14.5 To 17.4 lblcualidad.Text = "Bueno" Case 17.5 To 20 lblcualidad.Text = "Excelente" End Select btnotro.Enabled = True btnpromedio.Enabled = False Como se han dado cuenta antes ponamos, los nmeros ya sean en RGB para

    asignarle un color, ahora tendremos que invocar a la clase System y dentro de ella a la clase Draqing, y dentro de esta clase se encuentran todos los colores que deseas, bueno no todos, pero si los necesario.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    46464646

    Aplicacin Propuesta N 06 En esta aplicacin se debe de ingresar el nombre y el ao de nacimiento de una persona y se tiene que visualizar: su edad, una observacin que indica si es mayor o menor de edad. Si es menor de edad se debe de mostrar cuantos aos le faltan para ser mayor de edad y si es mayor de edad se debe de mostrar hace cuantos aos es mayor de edad. Tambin se debe de mostrar la etapa de la persona teniendo en cuenta lo siguiente:

    0 y 12 Nio

    13 y 17 Adolescente 18 y 30 Joven 31 y 70 Adulto

    70 a mas Anciano

    Solo les voy a dar una recordacin, existe dos funciones para saber la fecha

    actual, una es la de Now(), que te devuelve la fecha actual, con das, meses, aos, horas, minutos, y segundo, y existe otra funcin que te devuelve el aos ingresado, es Year(), esta funcin te devuelve la fecha de una variable o de un argumento que se le envi, siempre y cuado sea una fecha, mejor dicho para obtener el ao actual del sistema la codificacin seria Year(Now()), bueno creo que mucha ayuda les he dado, as que suerte.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    47474747

    Aplicacin N 13 La siguiente aplicacin es un ejemplo del uso de las funciones de cadena.

    Paso N 01: Disear el formulario.

    Paso N 02: Asignar los nombres a los controles.

    Control Name TextBox1 txtfrase Label10 lbllongitud Label11 lblprimer

    Label12 lblultimo Label13 lblsegasexto

    Label14 lblposA Label15 lblminusculas Label16 lblmayusculas Label17 lbltitulo Button1 btnmuestra Button2 btnnueva Button3 btnsalir

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    48484848

    Paso N 03: Codificar, como siempre, lo bueno que con este ejemplo veremos o mejor dicho recordaremos algunas funciones que de repente ya se han olvidado.

    Funcion Limpia (Evento Click) Function Limpiar(ByVal condicion As Boolean) txtfrase.Text = "" lbllongitud.Text = "" lblprimer.Text = "" lblultimo.Text = "" lblsegasexto.Text = "" lblposA.Text = "" lblminusculas.Text = "" lblmayusculas.Text = "" lbltitulo.Text = "" btnmuestra.Enabled = condicion btnnueva.Enabled = Not condicion txtfrase.Focus() End Function btnsalir (Evento Click) If MsgBox("Deseas salir de la aplicacin?", MsgBoxStyle.Question.YesNo,

    "Ejemplo de Cadenas") = MsgBoxResult.Yes Then Me.Close() btnnueva (Evento click) Limpiar(True) frmaplicacion13 (Evento Load) Limpiar(False) btnmuestra (Evento Click) lbllongitud.Text = (Len(Trim(txtfrase.Text))).ToString lblprimer.Text = Microsoft.VisualBasic.Left(Trim(txtfrase.Text), 1) lblultimo.Text = Microsoft.VisualBasic.Right(Trim(txtfrase.Text), 1) lblsegasexto.Text = Mid(Trim(txtfrase.Text), 2, 5) lblposA.Text = InStr(txtfrase.Text, "a") lblminusculas.Text = LCase(txtfrase.Text) lblmayusculas.Text = UCase(txtfrase.Text) lbltitulo.Text = StrConv(txtfrase.Text, VbStrConv.ProperCase) Si se han dado cuenta he estado usando una funcin llamada StrConv para

    convertir cadenas, esta funcin contiene varias parmetros como lo es VbStrConv.ProperCase, que convierte a la cadena en forma titulo, tambin encontraras para convertir en maysculas y minsculas, es cosa que averiges.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    49494949

    Aplicacin N 14 Esta aplicacin nos pide ingresar el nombre y la fecha de nacimiento de una persona y visualizarse por separado: el da, mes, ao, nmero del da de la semana, la fecha en letras y la fecha y hora actual.

    Paso N 01: Disear el formulario. Paso N 02: Asignarles los nombres respectivos a los controles

    Control Name

    TextBox1 txtnombre TextBox2 txtfecnac Label7 lbldiaing Label8 lblmesing

    Label9 lblanioing Label10 lbldiasem

    Label11 lblfecing Label12 lblfecact Button1 btnok Button2 btnsalir

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    50505050

    Paso N 03: Crear el cdigo, bueno usando mas o menos el cdigo de visual Basic 6.0.

    frmaplicacion14 (Evento Load) lblfecact.Text = "Hoy es " + (Now()).ToString btnalir (Evento Click) If MsgBox("Desea salir del programa?", MsgBoxStyle.Question.YesNo,

    "Funciones Tipo fecha") = MsgBoxResult.Yes Then Me.Close() btnok (Evento click) Dim fecha As Date Dim nmes, diasemana As String Dim dia, mes, ao, ndia As Integer If IsDate(txtfecnac.Text) = False Then MsgBox("Debe de ingresar un fecha vlida, como se muestra en el ejemplo",

    MsgBoxStyle.Information, "Funciones Tipo Fecha") txtfecnac.Text = "" txtfecnac.Focus() Exit Sub End If fecha = CDate(txtfecnac.Text) dia = Microsoft.VisualBasic.Day(fecha) mes = Microsoft.VisualBasic.Month(fecha) ao = Year(fecha) ndia = Weekday(fecha) lbldiaing.Text = dia.ToString lblmesing.Text = mes.ToString lblanioing.Text = ao.ToString Select Case ndia Case 1 : diasemana = "Domingo" Case 2 : diasemana = "Lunes" Case 3 : diasemana = "Martes" Case 4 : diasemana = "Miercoles" Case 5 : diasemana = "Jueves" Case 6 : diasemana = "Viernes" Case 7 : diasemana = "Sbado" End Select lbldiasem.Text = diasemana Select Case mes Case 1 : nmes = "Enero" Case 2 : nmes = "Febrero" Case 3 : nmes = "Marzo" Case 4 : nmes = "Abril" Case 5 : nmes = "Mayo" Case 6 : nmes = "Junio" Case 7 : nmes = "Julio" Case 8 : nmes = "Agosto" Case 9 : nmes = "Septiembre" Case 10 : nmes = "Octubre" Case 11 : nmes = "Noviembre" Case 12 : nmes = "Diciembre" End Select lblfecing.Text = diasemana + ", " + dia.ToString + " de " + nmes + " de " +

    ao.ToString

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    51515151

    Aplicacin N 15 Esta aplicacin es un ejemplo de la utilidad de las funciones tipo numricas.

    Paso N 01: Disear el formulario.

    Paso N 02: Asignar los nombres a cada control, respectivamente.

    Control Name TextBox1 txtnum Label9 lblpartent Label10 lblpartdec

    Label11 lblvalabs Label12 lblraizcuad

    Label13 lblsigno Label14 lblvaloct Label15 lblvalhex

    Button1 btnmuestra Button2 btnnueva Button3 btnsalir

    Paso N 03: Crea o copiar el cdigo, bueno si ya se sienten capaces de poder

    resolver esta aplicacin hganlo, para as saber que estn aprendiendo.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    52525252

    Funcion Limpiar Function Limpiar() txtnum.Text = "" lblpartent.Text = "" lblpartdec.Text = "" lblvalabs.Text = "" lblraizcuad.Text = "" lblsigno.Text = "" lblvaloct.Text = "" lblvalhex.Text = "" txtnum.Focus() End Function btnnueva (Evento Click) Limpiar() frmaplicacion15 (Evento Click) Limpiar() btnsalir (Evento Click) If MsgBox("Desea salir de la aplicacin?", MsgBoxStyle.Question.YesNo,

    "Ejemplo de Funciones Numricas") = MsgBoxResult.Yes Then Me.Close() btnmuestra (Evento Click) If IsNumeric(txtnum.Text) = False Then MsgBox("Debe de Ingresar un valor numrico", MsgBoxStyle.Information,

    "Ejemplo de Funciones Numricas") txtnum.Text = "" txtnum.Focus() Exit Sub End If Dim num As Double num = Val(txtnum.Text) lblpartent.Text = (Int(num)).ToString lblpartdec.Text = (Format(num - Val(lblpartent.Text), "0.#####")).ToString lblvalabs.Text = (Math.Abs(num)).ToString If num > 0 Then lblraizcuad.Text = (Format(Math.Sqrt(num), "###.#######")).ToString Else lblraizcuad.Text = "No Existe" End If If Math.Sign(num).ToString = "-1" Then lblsigno.Text = "Negativo" Else lblsigno.Text = "Positivo" End If lblvaloct.Text = (Oct(num)).ToString lblvalhex.Text = (Hex(num)).ToString

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    53535353

    Aplicacin N 16 La siguiente aplicacin permite ejecutar desde el Visual Basic algunos programas.

    Paso N 01: Disear el formulario. Paso N 02: Asignar los nombres a los respectivos controles.

    Control Name

    Button1 btncalcelct Button2 btnword Button3 btnexcel Button4 btnexplorador

    Button5 btndos Button6 btnfinalizar

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    54545454

    Paso N 03: Hacer la pequea codificacin. btncalcelect (Evento Click) Shell("D:\Windows\System32\calc.exe", AppWinStyle.NormalFocus) btnword (Evento Click) Shell("D:\Archivos de programa\Microsoft Office\OFFICE11\winword.exe",

    AppWinStyle.MaximizedFocus) btnexcel (Evento Click) Shell("D:\Archivos de programa\Microsoft Office\OFFICE11\excel.exe",

    AppWinStyle.MaximizedFocus) btnexplorador (Evento Click) Shell("D:\WINDOWS\explorer.exe", AppWinStyle.MaximizedFocus) bndos (Evento Click) Shell("D:\WINDOWS\system32\cmd.exe", AppWinStyle.NormalFocus) Btnfinalizar (Evento Salir) If MsgBox("Deseas salir de la aplicacin?", MsgBoxStyle.Question.YesNo,

    "Uso de Shell") = MsgBoxResult.Yes Then Me.Close() Como se habrn dado cuenta, lo nico que cambio en esta funcin son los

    parntesis, que en la versin antigua no se pona, nada mas, as que no hay casi nada de explicar, por que la forma de cmo presentar el programa que puede ser de la siguiente forma:

    Oculto Maximizado y enfocado Minimizado y enfocado Minimizado y sin el foco Normal y con el foco Normal y sin el foco

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    55555555

    Aplicacin N 17 Esta aplicacin nos pide ingresar un texto y luego se debe de mostrar letra por letra del texto junto con su valor ASCII y su valor Binario; adems, el valor binario se debe de desplazar de izquierda a derecha por el formulario.

    Paso N 01: Disear el formulario.

    Paso N 02: Asignarles los nombres respectivos a los controles del formulario.

    Control Name TextBox1 txttexto Label5 lblletra Label6 lblascii

    Label7 lblbinario Label8 Label8

    Button1 btnok

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    56565656

    Paso N 03: Crear el cdigo, bueno solo codificaremos en el funcion binario y en el botn Ok.

    Funcin Binario Function Binario(ByVal num As Integer) Dim ValorBin As String Dim resto As Integer Do While num > 1 resto = num Mod 2 num = num / 2 ValorBin = Trim(Str(resto)) + Trim(ValorBin) Loop ValorBin = Trim(Str(num)) + ValorBin Binario = ValorBin End Function btnok (Evento Click) Dim Texto, Letra As String Dim x, Valor As Integer Dim t As Single Texto = Trim(txttexto.Text) Label8.Visible = True For x = 1 To Len(txttexto.Text) lblbinario.Text = "" Letra = Microsoft.VisualBasic.Mid(txttexto.Text, x, 1) lblletra.Text = Letra Valor = Asc(Letra) lblascii.Text = Valor.ToString lblbinario.Text = Binario(Valor) Label8.Text = lblbinario.Text For t = 1 To 5000 Step 0.1 Label8.Left = t Next Next

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    57575757

    Aplicacin N 18 Esta Aplicacin nos pide ingresar un nmero del 1 al 7 y se debe de visualizar el da de semana al cual pertenece el nmero ingresado, para esta ocasin vamos hacer usando array.

    Paso N 01: Disear el Formulario. Paso N 02: Asignar los nombres respectivos a cada control.

    Control Name

    TextBox1 txtnum Label2 lbldia Button1 btnok Button2 btnsalir

    Paso N 03: Codificar, para esto primero declararemos variables a nivel del

    formulario (sea mejor dicho, despus de donde dice cdigo generado por el diseador de Windows Forms), y de ah codificaremos en los diversos eventos de cada control.

    Dim D(6) As String

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    58585858

    frmaplicacion18 (Evento Load) D(0) = "Lunes" D(1) = "Martes" D(2) = "Miercoles" D(3) = "Jueves" D(4) = "Viernes" D(5) = "Sbado" D(6) = "Domingo" btnok (Evento Click) If txtnum.Text = "" Or Val(txtnum.Text) < 1 Or Val(txtnum.Text) > 7 Then MsgBox("Ingrese un nmero correcto del 1 al 7", MsgBoxStyle.Information,

    "Ejemplo de Arreglos") txtnum.Text = "" txtnum.Focus() Exit Sub End If Dim N As Integer N = Val(txtnum.Text) - 1 lbldia.Text = "El nmero ingresado representa el da " + D(N) btnsalir (Evento Click) If MsgBox("Desea salir del programa?", MsgBoxStyle.Question.YesNo,

    "Ejemplo de Arrays") = MsgBoxResult.Yes Then Me.Close() A diferencia de la versin anterior en la declaracin de arrays, es que en la

    versin anterior uno poda definir de que numero a que numero poda contener su array, pero con esta nueva versin, es como en el C++, si le quieres indicar un nmero especifico de elementos que va a contener tu array, tienes que restarle menos uno, por que el primer index del array se contabiliza desde 0 por ejemplo: Hemos declarado un array llamado Dim D(6) As String, en la versin antigua te hubiera aceptado solo 6 elemento, por que este contabilizaba desde 1 a 6, en cambio con esta versin contabiliza desde el 0 al 6, que viene a ser 7 elementos.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    59595959

    Aplicacin N 19 Esta aplicacin permite llenar los valores en un array de 16 elementos, escogidos aleatoriamente, entre el 1 al 50, luego se pueden ordenar en forma ascendente y restaurar los valores iniciales.

    Paso N 01: Disear el formulario.

    Paso N 02: Asignar los nombres respectivos a cada control.

    Control Name TextBox1 txtarray_0 TextBox2 txtarray_1 TextBox3 txtarray_2 TextBox4 txtarray_3 TextBox5 txtarray_4 TextBox6 txtarray_5

    TextBox7 txtarray_6 TextBox8 txtarray_7

    TextBox9 txtarray_8 TextBox10 txtarray_9 TextBox11 txtarray_10 TextBox12 txtarray_11 TextBox13 txtarray_12 TextBox14 txtarray_13 TextBox15 txtarray_14

    TextBox16 txtarray_15 Button1 btnnuevo

    Button2 btnordenar Button3 btnrestaurar Button4 btnllenar Button5 btnsalir

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    60606060

    Paso N 03: Codificar, para estoy vamos a declarar arrays a nivel del formulario y a crear funciones.

    Declaracin de Arrays a nivel del formulario Dim ArrayText(15), ArrayTemp(15) As Integer Funcin Limpiar Function Limpiar(ByVal Condicion As Boolean) Dim x As Integer For x = 0 To 15 ArrayText(x) = 0 Next txtarray_0.Text = "" txtarray_1.Text = "" txtarray_2.Text = "" txtarray_3.Text = "" txtarray_4.Text = "" txtarray_5.Text = "" txtarray_6.Text = "" txtarray_7.Text = "" txtarray_8.Text = "" txtarray_9.Text = "" txtarray_10.Text = "" txtarray_11.Text = "" txtarray_12.Text = "" txtarray_13.Text = "" txtarray_14.Text = "" txtarray_15.Text = "" btnordenar.Enabled = Condicion txtarray_0.Focus() End Function Funcin Llenar Controles Function LlenarControles() txtarray_0.Text = ArrayText(0) txtarray_1.Text = ArrayText(1) txtarray_2.Text = ArrayText(2) txtarray_3.Text = ArrayText(3) txtarray_4.Text = ArrayText(4) txtarray_5.Text = ArrayText(5) txtarray_6.Text = ArrayText(6) txtarray_7.Text = ArrayText(7) txtarray_8.Text = ArrayText(8) txtarray_9.Text = ArrayText(9) txtarray_10.Text = ArrayText(10) txtarray_11.Text = ArrayText(11) txtarray_12.Text = ArrayText(12) txtarray_13.Text = ArrayText(13) txtarray_14.Text = ArrayText(14) txtarray_15.Text = ArrayText(15) End Function

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    61616161

    btnordenar (Evento Click) Dim J, Index, Temp As Integer 'almacenamos el ArrayText en ArrayTemp para guardar los datos 'para despus restaurarlo For J = 0 To 15 ArrayTemp(J) = ArrayText(J) Next 'Mtodo de Ordenacin llamada BURBUJA For J = 0 To 15 For Index = 0 To 15 If Index < 15 Then If ArrayText(Index) > ArrayText(Index + 1) Then Temp = ArrayText(Index) ArrayText(Index) = ArrayText(Index + 1) ArrayText(Index + 1) = Temp End If End If Next Next LlenarControles() btnrestaurar.Enabled = True btnrestaurar (Evento Click) Dim Index As Integer For Index = 0 To 15 ArrayText(Index) = ArrayTemp(Index) Next LlenarControles() btnllenar (Evento Click) Dim Index As Integer For Index = 0 To 15 ArrayText(Index) = Int((50 - 1 + 1) * Rnd() + 1) Next LlenarControles() btnordenar.Enabled = True btnrestaurar.Enabled = False btnnuevo (Evento Click) Limpiar(True) btnsalir (Evento Click) If MsgBox("Desea salir de al aplicacin?", MsgBoxStyle.Question.YesNo,

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

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    62626262

    Aplicacin N 20

    Esta aplicacin permite manejar los elementos de un array de 16 elementos, estos elementos son valores numricos de tipo entero con los cuales se realiza los siguientes procesos: Sumar filas, columnas, diagonales, etc. Bueno en realidad si ustedes desean lo pueden hacer con un array de 4 x 4, sino hagan como yo con un solo array de 16 elementos.

    Paso N 01: Disear el formulario.

    Paso N 02: Asignar los nombres correspondientes a cada control.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    63636363

    Control Name TextBox1 txtarray_0 TextBox2 txtarray_1 TextBox3 txtarray_2

    TextBox4 txtarray_3 TextBox5 txtarray_4 TextBox6 txtarray_5 TextBox7 txtarray_6 TextBox8 txtarray_7 TextBox9 txtarray_8 TextBox10 txtarray_9

    TextBox11 txtarray_10 TextBox12 txtarray_11 TextBox13 txtarray_12 TextBox14 txtarray_13

    TextBox15 txtarray_14 TextBox16 txtarray_15 Label1 lblresD1

    Label2 lblresD2 Label3 lblresC1

    Label4 lblresC2 Label5 lblresC3 Label6 lblresC4 Label7 lblresF1

    Label8 lblresF2 Label9 lblresF3 Label10 lblresF4

    Button1 btnLimpArray Button2 btnLimpRes

    Button3 btnSumaC Button4 btnSumaF Button5 btnColum1 Button6 btnColum2

    Button7 btnColum3 Button8 btnColum4 Button9 btnFila1

    Button10 btnFila2 Button11 btnFila3

    Button12 btnFila4 Button13 btnDiagonal1 Button14 btnDiagonal2 Button15 btnsalir

    Paso N 03: Codificar, bueno como siempre, declaramos arrays a nivel del

    formulario y crearemos funciones. Declaracin de Arrays a nivel del formulario Dim ArrayControl(15), ArrayTemp(3, 3), ArraySuma(3), Suma(3) As Integer Dim Index, Temp, X, Y As Integer

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    64646464

    Funcin Limpiar Array Function LimpiarArray() For Index = 0 To 15 ArrayControl(Index) = 0 Next For X = 0 To 3 For Y = 0 To 3 ArrayTemp(X, Y) = 0 Next Next txtarray_0.Text = "" txtarray_1.Text = "" txtarray_2.Text = "" txtarray_3.Text = "" txtarray_4.Text = "" txtarray_5.Text = "" txtarray_6.Text = "" txtarray_7.Text = "" txtarray_8.Text = "" txtarray_9.Text = "" txtarray_10.Text = "" txtarray_11.Text = "" txtarray_12.Text = "" txtarray_13.Text = "" txtarray_14.Text = "" txtarray_15.Text = "" txtarray_0.Focus() End Function Funcin Asiganar Array Function AsignarArray() ArrayControl(0) = Val(txtarray_0.Text) ArrayControl(1) = Val(txtarray_1.Text) ArrayControl(2) = Val(txtarray_2.Text) ArrayControl(3) = Val(txtarray_3.Text) ArrayControl(4) = Val(txtarray_4.Text) ArrayControl(5) = Val(txtarray_5.Text) ArrayControl(6) = Val(txtarray_6.Text) ArrayControl(7) = Val(txtarray_7.Text) ArrayControl(8) = Val(txtarray_8.Text) ArrayControl(9) = Val(txtarray_9.Text) ArrayControl(10) = Val(txtarray_10.Text) ArrayControl(11) = Val(txtarray_11.Text) ArrayControl(12) = Val(txtarray_12.Text) ArrayControl(13) = Val(txtarray_13.Text) ArrayControl(14) = Val(txtarray_14.Text) ArrayControl(15) = Val(txtarray_15.Text) Index = 0 For X = 0 To 3 For Y = 0 To 3 ArrayTemp(X, Y) = ArrayControl(Index) Index = Index + 1 Next Next End Function

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    65656565

    Funcin Limpiar Resultados Function LimpiarResultados() lblresD1.Text = "" lblresD2.Text = "" lblresC1.Text = "" lblresC2.Text = "" lblresC3.Text = "" lblresC4.Text = "" lblresF1.Text = "" lblresF2.Text = "" lblresF3.Text = "" lblresF4.Text = "" End Function Funcin Limpiar Array Suma Function LimpiarArraySuma() For Index = 0 To 3 Suma(Index) = 0 Next End Function btnsalir (Evento Click) If MsgBox("Desea Salir de la Aplicacin?", MsgBoxStyle.Question.YesNo,

    "Cuidado") = MsgBoxResult.Yes Then Me.Close() btnLimpArray (Evento Click) LimpiarArray() btnLimpRes (Evento Click) LimpiarResultados() btnSumaC (Evento Click) AsignarArray() For X = 0 To 3 ArraySuma(X) = 0 For Y = 0 To 3 ArraySuma(X) = ArraySuma(X) + ArrayTemp(Y, X) Next Next For Index = 0 To 3 Suma(Index) = ArraySuma(Index) Next lblresC1.Text = Suma(0) lblresC2.Text = Suma(1) lblresC3.Text = Suma(2) lblresC4.Text = Suma(3)

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    66666666

    btnSumaF (Evento Click) AsignarArray() For Y = 0 To 3 ArraySuma(Y) = 0 For X = 0 To 3 ArraySuma(Y) = ArraySuma(Y) + ArrayTemp(Y, X) Next Next For Index = 0 To 3 Suma(Index) = ArraySuma(Index) Next lblresF1.Text = Suma(0) lblresF2.Text = Suma(1) lblresF3.Text = Suma(2) lblresF4.Text = Suma(3) btnColum1 (Evento Click) AsignarArray() Temp = 0 For X = 0 To 3 Temp = Temp + ArrayTemp(X, 0) Next lblresC1.Text = Temp btnColum2 (Evento Click) AsignarArray() Temp = 0 For X = 0 To 3 Temp = Temp + ArrayTemp(X, 1) Next lblresC2.Text = Temp btnColum3 (Evento Click) AsignarArray() Temp = 0 For X = 0 To 3 Temp = Temp + ArrayTemp(X, 2) Next lblresC3.Text = Temp btnColum4 (Evento Click) AsignarArray() Temp = 0 For X = 0 To 3 Temp = Temp + ArrayTemp(X, 3) Next lblresC4.Text = Temp

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    67676767

    btnFila1 (Evento Click) AsignarArray() Temp = 0 For Y = 0 To 3 Temp = Temp + ArrayTemp(0, Y) Next lblresF1.Text = Temp btnFila2 (Evento Click) AsignarArray() Temp = 0 For Y = 0 To 3 Temp = Temp + ArrayTemp(1, Y) Next lblresF2.Text = Temp btnFila3 (Evento Click) AsignarArray() Temp = 0 For Y = 0 To 3 Temp = Temp + ArrayTemp(2, Y) Next lblresF3.Text = Temp btnFila4 (Evento Click) AsignarArray() Temp = 0 For Y = 0 To 3 Temp = Temp + ArrayTemp(3, Y) Next lblresF4.Text = Temp btnDiagonal1 (Evento Click) AsignarArray() Temp = 0 For Index = 0 To 3 Temp = Temp + ArrayTemp(Index, 3 - Index) Next lblresD1.Text = Temp btnDiagonal2 (Evento Click) AsignarArray() Temp = 0 For Index = 0 To 3 Temp = Temp + ArrayTemp(Index, Index) Next lblresD2.Text = Temp

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    68686868

    Aplicacin N 21

    La siguiente aplicacin permite realizar operaciones con arrays como sumar dos arrays, restar, multiplicar, etc.

    Paso N 01: Disear el formulario. Paso N 02: Asignar los nombres respectivos a los controles.

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    69696969

    Control Name

    TextBox1 txta_0 TextBox2 txta_1 TextBox3 txta_2 TextBox4 txta_3

    TextBox5 txta_4 TextBox6 txta_5

    TextBox7 txta_6 TextBox8 txta_7 TextBox9 txta_8

    TextBox10 txtb_0 TextBox11 txtb_1 TextBox12 txtb_2 TextBox13 txtb_3

    TextBox14 txtb_4 TextBox15 txtb_5

    TextBox16 txtb_6 TextBox16 txtb_7 TextBox16 txtb_8

    Label1 lblres_0 Label2 lblres_1 Label3 lblres_2 Label4 lblres_3

    Label5 lblres_4 Label6 lblres_5

    Label7 lblres_6 Label8 lblres_7 Label9 lblres_8

    Button1 btnborrar Button2 btnLlenar Button3 btnsalir Button4 btnsuma

    Button5 btnresta Button6 btnmultiplica Button7 btndivide Button8 btnecuacion

    Paso N 03: Codificar, primero declarar los arrays a nivel del formulario y

    despus seguimos con las funciones okis. Dim ArrayA(8), ArrayB(8) As Integer Dim ArrayResp(8) As String Dim Index As Integer

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    70707070

    Funcin Asignar Control A Function AsignarControlA() txta_0.Text = ArrayA(0) txta_1.Text = ArrayA(1) txta_2.Text = ArrayA(2) txta_3.Text = ArrayA(3) txta_4.Text = ArrayA(4) txta_5.Text = ArrayA(5) txta_6.Text = ArrayA(6) txta_7.Text = ArrayA(7) txta_8.Text = ArrayA(8) End Function Funcin Asignar Control B Function AsignarControlB() txtb_0.Text = ArrayB(0) txtb_1.Text = ArrayB(1) txtb_2.Text = ArrayB(2) txtb_3.Text = ArrayB(3) txtb_4.Text = ArrayB(4) txtb_5.Text = ArrayB(5) txtb_6.Text = ArrayB(6) txtb_7.Text = ArrayB(7) txtb_8.Text = ArrayB(8) End Function Funcin Llenar Resultado Function LlenarResultado() lblres_0.Text = ArrayResp(0) lblres_1.Text = ArrayResp(1) lblres_2.Text = ArrayResp(2) lblres_3.Text = ArrayResp(3) lblres_4.Text = ArrayResp(4) lblres_5.Text = ArrayResp(5) lblres_6.Text = ArrayResp(6) lblres_7.Text = ArrayResp(7) lblres_8.Text = ArrayResp(8) End Function Funcin Limpiar Arrays Function LimpiarArrays() For Index = 0 To 8 ArrayA(Index) = 0 ArrayB(Index) = 0 ArrayResp(Index) = 0 Next End Function

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    71717171

    Funcin Limpiar Controles Function LimpiarControles() txta_0.Text = "" txta_1.Text = "" txta_2.Text = "" txta_3.Text = "" txta_4.Text = "" txta_5.Text = "" txta_6.Text = "" txta_7.Text = "" txta_8.Text = "" txtb_0.Text = "" txtb_1.Text = "" txtb_2.Text = "" txtb_3.Text = "" txtb_4.Text = "" txtb_5.Text = "" txtb_6.Text = "" txtb_7.Text = "" txtb_8.Text = "" lblres_0.Text = "" lblres_1.Text = "" lblres_2.Text = "" lblres_3.Text = "" lblres_4.Text = "" lblres_5.Text = "" lblres_6.Text = "" lblres_7.Text = "" lblres_8.Text = "" End Function btnsalir (Evento Click) If MsgBox("Desea salir de la aplicacin?", MsgBoxStyle.Question.YesNo,

    "Cuidado") = MsgBoxResult.Yes Then Me.Close() btnllenar (Evento click) Randomize() For Index = 0 To 8 ArrayA(Index) = Int((10 - (-5) + 1) * Rnd() + (-5)) ArrayB(Index) = Int((10 - (-5) + 1) * Rnd() + (-5)) Next AsignarControlA() AsignarControlB()

  • Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003Visual Basic .Net 2003

    Joel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco MarrufoJoel Martin Chuco Marrufo

    72727272

    btnsuma (Evento Click) For Index = 0 To 8 ArrayResp(Index) = ArrayA(Index) + ArrayB(Index) Next