Anda di halaman 1dari 22

Desarrollo de Aplicaciones en Visual Basic.

Net

Integrantes: Daniel Cafferata Salas Oliver Castillo Willis

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

TABLA DE CONTENIDO
OBJETIVOS........................................................................ 3 PRIMER EJEMPLO: ........................................................... 3 TIPOS DE ARCHIVO A USAR.......................................... 4 PROCEDIMIENTO............................................................ 4 CDIGO FUENTE: ........................................................... 7 SEGUNDO EJEMPLO: ..................................................... 12 PROCEDIMIENTO:......................................................... 12 CDIGO FUENTE: ......................................................... 16 TERCER EJEMPLO: ........................................................ 18 ADO.NET........................................................................ 18 CDIGO FUENTE: ......................................................... 21

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

OBJETIVOS
Visualizar las capacidades del .NET Framework y su importante labor en la ejecucin de aplicaciones desarrolladas en Visual Basic .NET. Conocer la potencia de Visual Basic.NET para el desarrollo de aplicaciones con la herramienta Visual Studio .NET. Obtener una idea general de las capacidades de Visual Basic .NET en la coneccin con los diferentes manejadores de Bases de Datos.

PRIMER EJEMPLO:
PROGRAMACIN EN VISUAL BASIC.NET UTILIZANDO DIRECTAMENTE LAS VENTAJAS DEL .NET FRAMEWORK. COMPILACIN.

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

TIPOS DE ARCHIVO A USAR


LIBRARY (.dll): Librera de clases, conjunto de mtodos para ser usados por aplicaciones. Compilacin: C:\>vbc nombre.vb /target:library EXE (.exe): Archivo de ejecucin para una aplicacin en consola. Compilacin: C:\>vbc nombre.vb /target:exe

PROCEDIMIENTO
Guardar los archivos de texto en la unidad C: con extensin .vb

Entrar al Command Prompt de Visual Studio.NET: Inicio> Programas> Microsoft Visual Studio .NET> Visual Studio .NET Tools> Visual Studio .NET Command Prompt

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

Compilar cada uno de los archivos creados de la siguiente manera: 1. Compilar la primera librera de clases: C:\>vbc chulinum.vb /target:library 2. Compilar la segunda librera de clases: C:\>vbc chulicad.vb /target:library 3. Compilar el archivo de ejecucin de la aplicacin: C:\>vbc administrador.vb /target:exe /r:chulinum.dll /r:chulicad.dll

Ejecutar el programa: C:\>administrador

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

CDIGO FUENTE:
ARCHIVO ADMINISTRADOR.VB

Imports System Imports USMP.FiaData.GIS.Oliver.Librerias Module Administrador Dim ch1 As Chulinum Dim ch2 As Chulicad Sub Main() ch1 = New Chulinum() ch2 = New Chulicad() menu() End Sub Sub menu() Dim op As Integer While op <> 3 Console.WriteLine() Console.WriteLine("*****MEN*****") Console.WriteLine("[1] Clculos numricos") Console.WriteLine("[2] Operaciones con cadenas") Console.WriteLine("[3] Salir") Console.WriteLine() Console.Write("Ingrese su opcin: ") Dim aux As String = Console.ReadLine() op = Convert.ToInt32(aux) Console.WriteLine() Select Case op Case 1 calNum() Case 2 opeCad() Case 3 Console.WriteLine("Fin del Programa") Console.WriteLine("Presione ENTER") Dim pausa As String = Console.ReadLine() End Select End While End Sub Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

Sub calNum() Console.WriteLine() Console.Write("Ingrese un nmero: ") Dim num As String = Console.ReadLine() Console.WriteLine() ch1.guardarN(num) ch1.primo() If num.Length > 1 Then ch1.capicua() End If If Convert.ToInt32(num) < 20 Then ch1.factorial() End If End Sub

Sub opeCad() Console.WriteLine() Console.WriteLine("Ingrese una cadena:") Dim cad As String = Console.ReadLine() Console.WriteLine() ch2.guardarN(cad) ch2.invertir() ch2.espaciar() End Sub End Module

ARCHIVO CHULINUM.VB

Imports System Namespace USMP.FiaData.GIS.Oliver.Librerias Public Class Chulinum Dim numero As String

Sub guardarN(ByVal num As String) numero = num End Sub

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET Sub capicua() Console.WriteLine() Dim resp As Boolean = True Dim tope As Integer = numero.Length / 2 Dim j As Integer = numero.Length - 1 Dim i As Integer For i = 0 To tope - 1 If numero.Substring(i, 1).Equals(numero.Substring(j, 1)) = False Then resp = False End If j -= 1 Next i Dim neg As String = "" If resp = False Then neg = " no" End If Console.WriteLine("El nmero " + numero + neg + " es capicua") End Sub

Sub primo() Console.WriteLine() Dim resp As Boolean = True Dim n As Integer = Convert.ToInt32(numero) Dim i As Integer For i = 2 To n - 1 If n Mod i = 0 Then resp = False End If Next i Dim neg As String = "" If resp = False Then neg = " no" End If Console.WriteLine("El nmero " + numero + neg + " es primo") End Sub

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

Sub factorial() Console.WriteLine() Dim n As Integer = Convert.ToInt32(numero) Dim f As Long = 1 Dim i As Integer For i = 1 To n f *= i Next i Console.Write("El factorial de " + numero + " es: ") Console.WriteLine(f) End Sub End Class End Namespace

ARCHIVO CHULICAD.VB

Imports System Namespace USMP.FiaData.GIS.Oliver.Librerias Public Class Chulicad Dim cadena As String

Sub guardarN(ByVal cad As String) cadena = cad End Sub Sub invertir() Console.WriteLine() Console.WriteLine("Al revs:") Dim anedac As String = "" Dim i As Integer For i = cadena.Length - 1 To 0 Step -1 anedac += cadena.Substring(i, 1) Next i Console.WriteLine(anedac) End Sub

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

10

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

Sub espaciar() Console.WriteLine() Console.WriteLine("Palabra por palabra:") Dim y As Integer = -1 Dim conta As Integer = 0 Dim n As Integer = -1 'Dim resp As String = "" If cadena <> "" Then While y + 1 > n n = y + 1 y = cadena.IndexOf(" ", n) If y + 1 > n Then If cadena.Substring(n, (y + 1) - n) <> " " Then conta += 1 'resp += cadena.Substring(n, (y + 1) - n) Console.WriteLine(cadena.Substring(n, (y + 1) - n)) End If 'resp += "\n" End If End While If n <> cadena.Length Then conta += 1 'resp += cadena.Substring(n, cadena.Length n) Console.WriteLine(cadena.Substring(n, cadena.Length - n)) End If End If 'Console.WriteLine(resp) Console.WriteLine() Console.Write("Cantidad de palabras: ") Console.WriteLine(conta) End Sub End Class End Namespace

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

11

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

SEGUNDO EJEMPLO:
APLICACION QUE REALIZA EL ENVIO DE MENSAJES POR INTERNET CREADO EN EL ENTORNO DE VISUAL STUDIO .NET, UTILIZANDO VB .NET (Se requiere Windows 2000).

PROCEDIMIENTO:
En esta aplicacin se utilizan las clases del espacio de nombre (namespace) que tiene que ver con la Web y sus utilidades: System.Web.Util System.Web.Mail Se hace uso de las Clases MailMessage y SmptMail. MailMessage se encarga de almacenar el mensaje en el formato conocido, es decir tenemos los siguientes atributos que podemos llenar: SmptMail se encarga de realizar el envio del mensaje para lo cual necesita el IIS del windows 2000. 1 . Necesitamos Crear un objeto de la clase MailMessage , nuestro objeto se llamara Mensaje y mediante l accederemos a los atributos y metodos de la clase MailMessage: Web.Mail.MailMessage Mensaje= new Web.Mail.MailMessage() Mensaje.From => Correo electrnico del Remitente Mensaje.To => Correo Electrnico del o los destinatarios. Mensaje.Cc => Correo Electrnico del o los que recibirn una copia. Mensaje.Bcc => Correo Electrnico de los que recibirn copia en blanco. Mensaje.Subject => Asunto del Mensaje Mensaje.Body => El mensaje en si, aqu va el texto del mensaje. Tambin podemos anexar un archivo, pero para nuestro ejemplo usaremos los atributos arriba mencionados. 2. Para realizar el envio utilizamos la clase SmptMail de la cual utilizamos su mtodo send: SmptMail.Send(Mensaje)

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

12

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

Entonces ya sabemos que utilizar para este ejemplo, veamos como seria el diseo del formulario que recoger los datos para el mensaje:

Label1

TextBox1 TextBox2 TextBox3 TextBox4

CommandButton1

CommandButton3

CommandButton2

Que tenemos, veamos..tenemos : 4 TextBox 4 Label 3 CommandButton Primero usando el ToolBox dentro del Visual Studio .net tenemos que disear nuestro formulario, a cada elemento le pondremos un nombre para poder identificarlos, ya que el Visual Basic. Net establece nombres por defecto en forma correlativa, es decir, al primer TextBox le llamar TextBox1, al segundo TextBox2 y asi sucesivamente, de igual forma al primer CommandButton le llamar CommandButton1, al segundo CommandButton2,etc, pero para poder identificarlos mejor en la ventana de propiedades les cambiaremos el nombre a cada uno de ellos, abramos la ventana de propiedades y busquemos la opcin name alli pongamos lo sgte para cada TextBox y para cada CommandButton: TextBox1 = Txtfrom TextBox2 = TxtTo Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

13

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET TextBox3 = Txtsubject TextBox4 = TxtMessage CommandButton1 = BtnEnviar CommandButton2 = BtnLimpiar Commandbutton3= BtnSalir

Name

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

14

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

Este es el ToolBox o Barra de herramientas, desde la cual se cogen los componentes que se van a utilizar en un proyecto, en nuestro caso estamos utilizando TextBox y CommandButton.

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

15

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

CDIGO FUENTE:
Una vez terminado el diseo, podemos agregarle el cdigo necesario para implementar esta aplicacin.
Imports System.Web.Util Public Class Form1 Inherits System.Windows.Forms.Form Dim SmtpMail As Web.Mail.SmtpMail Dim mailMsg As Web.Mail.MailMessage

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load limpia() BtnEnviar.Enabled = False End Sub Private Sub BtnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEnviar.Click If (Txtfrom.Text <> "") And (Txtto.Text <> "") And (Txtmessage.Text <> "") Then mailMsg = New Web.Mail.MailMessage() mailMsg.From = Txtfrom.Text mailMsg.To = Txtto.Text ' mailMsg.Cc = "dcafferatas@hotmail.com""" mailMsg.Cc = "" mailMsg.Bcc = "" mailMsg.Subject = Txtsubject.Text mailMsg.Body = Txtmessage.Text Try SmtpMail.Send(mailMsg) MsgBox("Mensaje ENviado", MsgBoxStyle.Information) Dim a As Exception Catch MsgBox("error", MsgBoxStyle.Critical) End Try Else : MsgBox("Faltan Datos para enviar mensaje...", MsgBoxStyle.Exclamation) End If End Sub Private Sub BtnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSalir.Click End End Sub

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

16

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

Private Sub limpia() Txtfrom.Text = "" Txtto.Text = "" Txtmessage.Text = "" Txtsubject.Text = "" Txtfrom.Focus() End Sub Private Sub BtnLimpia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BntLimpiar.Click limpia() Button1.Enabled = False End Sub Private Sub Txtmessage_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtmessage.TextChanged Button1.Enabled = True End Sub End Class

Existe cdigo que es generado por el Visual Basic .Net y que tiene que ver con la creacin de los componentes y sus propiedades (TextBox,CommandButton, etc) en este ejemplo no mostyramos ese cdigo solo el que es implementado por el usuario, osea nostros. Como vern el cdigo es pequeo y sencillo de entender pero para que no quede dudas trataremos de explicarlo un poco, procedimiento por procedimiento: Private Sub limpia() Se encarga de limpiar el texto que aparece en los TextBox, es por eso que se le asigna () el valor cadena vacia a la propiedad Text de los componentes utilizados. Luego se le da el Foco (Focus) al TxtFrom para empezar a escribir el remitente. Private Sub Form1_Load() Es el proceidmiento que se realiza apenas el formulario es cargado o llamado, es decir en este caso, lo primero que se hace el limpiar los TextBox y tener inhabilitado el CommandButton enviar ya que no existe aun nada en los TextBox.

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

17

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

Private Sub BtnEnviar_Click() Este procedimiento se ejecuta cuando ocurre el evento Click del CommandButton BtnEnviar, es decir, cuando se hace un Click con el mouse sobre este botn se ejecutar este cdigo. En este caso aqu se almacena lo que se llene en los TextBox y se llama al mtodo Send de la clase SmtpMail para que el mensaje sea enviado. Private Sub Salir() Este mtodo acaba con la ejecucin del programa. Cabe resaltar que todos estos mtodos estan dentro de la clase Form1 y pertenecen a esta clase.

TERCER EJEMPLO:
OPERACIONES BASICAS DE CONECCIN A BASES DE DATOS USANDO ADO.NET

ADO.NET
Trabajar con ADO.Net es una experiencia nueva por los cambios que se implementan. Ahora, tenemos una arquitectura desconectada de datos, esto quiere decir que no se necesita estar conectado en forma permanente a la base de datos para manipular los datos, adems tenemos integracin con XML, y a esto le sumamos que gracias a las clases unificadas la programacin puede estar en cualquier lenguaje que acepte la estrategia dotnet ya que el Ado .Net y sus componentes podrn ser usados en cualquiera de esos lenguajes. Lo que aqu presentamos es una pequea aplicacin que nos muestra como trabajar con Ado.Net usando las operaciones bsicas llmense Insertar, Eliminar, Editar, Adicionar entre otras y la navegacin sobre los registros. Existen muchas formas de tomar datos de una BD, pero es necesario conocer los componentes principales de ADO.Net para poder realizar estas operaciones luego podr ud. Investigar ms y ver que no es la nica manera. Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes 18

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

El ADO.Net se compone en principio de: CONNECTION Establece la conexin a para una especifica fuente de datos. COMMAND Ejecuta un comando en una fuente de datos. DATAADAPTER Llena un DataSet y restituye actualizaciones con la fuente de datos. DATAREADER Lee datos como forward-only, read-only desde un fuente de datos. DATASET Es un almacenamiento desconectado de datos para un almacenamiento de datos. Y este almacenamiento de datos puede estar poblado de datos de mltiples orgenes o fuentes de datos. Nombre de la BD: sjData Nombre de la tabla: Student Columnas en la Tabla: SNo, FirstName, LastName, Score

Se tiene que disear usando el ToolBox del Visual Studio.net sobre un formulario, en el cual pondremos 4 Label con sus respectivos TextBox para recoger o mostrar el contenido de los registros, adems necesitamos 6 CommandButton para realizar las operaciones sobre los datos y les daremos los sgtes nombres: Close: cuando es clickeado cierra el formulario. Add:Permite la entrada de valores en los textBox. Todos los botones son inhabilitados (propiedad enabled=false) solo los botones Update y Cancel son habilitados (enabled=true). Despus que el usuario ingresa los valores en los textbox Ud puede dar click sobre Update y aadir el registro o dar click sobre Cancel y cancelar la operacin. Edit: Permite editar un registro existente. Delete: Permite eliminar un regsitro existente. Update: Es habilitado (enabled =true) cuando el usuario selecciona Edit o Add. Cancel: habilitado (enabled =true) cuando el usuario selecciona Edit o Add.

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

19

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

SqlConnection1: Establece una conexin para la base de datos del sjData en la base de datos Sqlserver. SqlDataAdapter1: El dataadapter se sienta entre un dataset y una base de datos y llena datos del datasource para el dataset. El dataSet11: Dataset contiene datos de la tabla Student. El sqlSelectCommand1: Responsable para ejecutar la orden Selecta dada para eso en la propiedad del commandtext. El sqlInsertCommand1: Responsable para ejecutar la orden Insert dada para eso. El sqlDeleteCommand1: Responsable para ejecutar la orden Delete dada para ella. El sqlUpdateCommand1: Responsable para ejecutar la orden de actualizacin dada para eso. NOTA: En este caso estamos asumiendo una BD en SQLServer es por eso que usamos los componentes SqlConnection, SqlData., en otras palabras empiezan con Sql, para otras bases de datos usaremos el provider OleDbConnection, OleDbDataAdapter, etc es decir se antepone OleDb y este proveedor nos permite conectarnos a cualquier origen de datos, pero para este ejemplo asumimos una DB en Sql Server, que es con la cual se saca mejor provecho al V.Studio .Net. Para Enlazar los datos de los textbox con los campos apropiados de la tabla debemos hacer : 1. Seleccione el cuadro de texto (textbox) y haga click en la ventana de propiedades, luego en la propiedad DataBindings seleccione el texto que contiene el dataset y los campos que el dataset est dispuesto a poblar o llenar (enlazar). Coloque el cuadro de texto para el campo apropiado del dataset. Siga lo mismo para todos los cuadros de texto.

Esto es lo que el VS.NET genera con la operacin realizada anteriormente: Me.txtSNo.DataBindings.Add (new System.Windows.Forms.Binding("Text", Me.dataSet11, "Student.SNo")); Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes 20

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

CDIGO FUENTE:
Navegando entre los registros Cada form windows tiene un objeto BindingContext . Cualquier datasource (origen de datos) que este enlazado a un control windows tendra asociado un objeto CurrencyManager . el CurrencyManager sigue la pista a la posicin y de esa manera supervisa los enlaces con los origenes de datos (data source). El objeto BindingContext sigue la pista de todos los objetos CurrencyManager dentro del form. Me.BindingContext[dataSet11,"Student"].Position=0 //Move First Me.BindingContext[dataSet11,"Student"].Position=Me.BindingContext[dataSet11, "Student"].Count-1 // Move Last Me.BindingContext[dataSet11,"Student"].Position+=1 //Move Me.BindingContext[dataSet11,"Student"].Position-=1 // Move Previous Next

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

21

DESARROLLO DE APLICACIONES EN VISUAL BASIC.NET

Eliminando un registro existente Dim dr As DataRow Dim vSNo As Integer=Int32.Parse(txtSNo.Text) dr=dataSet11.Tables["Student"].Rows.Find(vSNo) dr.Delete() sqlDataAdapter1.Update(dataSet11,"Student")

Adicionando un nuevo registro Dim vSNo As Integer=Int32.Parse(txtSNo.Text) Dim vScore As Integer=Int32.Parse(txtScore.Text) Dim drAdd As DataRow drAdd=dataSet11.Tables["Student"].NewRow() drAdd[0]=vSNo drAdd[1]=txtFName.Text drAdd[2]=txtLName.Text drAdd[3]=vScore dataSet11.Tables["Student"].Rows.Add(drAdd) sqlDataAdapter1.Update(dataSet11,"Student")

Editando un registro existente Dim vSNo As Integer=Int32.Parse(txtSNo.Text) Dim vScore As Ineteger=Int32.Parse(txtScore.Text) drUpdate.BeginEdit() drUpdate["SNo"]=vSNo drUpdate["FirstName"]=txtFName.Text drUpdate["LastName"]=txtLName.Text drUpdate["Score"]=vScore drUpdate.EndEdit() sqlDataAdapter1.Update(dataSet11,"Student")

Daniel Cafferata Salas / Oliver Castillo Willis FIA DATA: GIS y Tecnologas Emergentes

22

Anda mungkin juga menyukai