Visual Studio 2005 – Lecciòn 1 Ingresar a Visual Studio 2005 : INICIO PROGRAMAS Microsoft VisualStudio 2005 Crear un nuevo proyecto : FILE New Project Marcar Console Application Name : Leccion-001 Le aparecen Module, Sub Main(), End Sub y End Module, luego agregamos Msgbox (“HolaMundo”). Module Module1 Sub Main() Msgbox (“Hola Mundo”) End Sub End Module Presionamos la tecla F8 que se usa para ejecutar un programa “lìnea por lìnea”, y resalta la linea Sub Main(), indicando que se va a ejecutar. Presionamos nuevamente F8 para que se ejecute la linea siguiente MsgBox("Hola Mundo") Presionamos nuevamente F8 para que se ejecute la linea siguiente y aparece el mensaje indicado : Presionamos la tecla enter para activar la opciòn Aceptar y continùe ejecutàndose el programa. Presionamos nuevamente F8 para que se ejecute la linea siguiente y termina el programa. Agregamos un procedimiento (Sub) y una funciòn (Function) Module Module1 Sub Main() MsgBox("Hola Mundo") EnviarOtroMensaje() MsgBox(Mensaje()) End Sub Public Sub EnviarOtroMensaje() MsgBox("Hola Peruanos") End Sub Public Function Mensaje() As String Return ("Hola Paisanos") End Function End Module Presionamos F8 repetida y lentamente para ejecutar paso a paso y observar como se envian tres mensajes. El procedimiento EnviarOtroMensaje()se ejecuta y devuelve el control al punto desde donde se llamò, no devuelve ningun valor en especial que se pueda utilizar, solo ejecuta todas sus instrucciones. El objeto MsgBox muestra en una caja cualquier cosa que se le proporcione como paràmetro. En el caso de la funciòn, esta se ejecuta y devuelve el control al punto de donde fue llamada, pero ademas devuelve un valor, el que se indica en la instrucción Return, que para el caso es “Hola Paisanos”, el MsgBox va a mostrar el resultado de la funcion que es el string indicado. Guarda siempre tu proyecto presionando el icono de grabar , y al salir contestar que si se desea grabar (botòn SAVE). Visual Studio 2005 – Lecciòn 2 Ingresar a Visual Studio 2005 : INICIO PROGRAMAS Microsoft VisualStudio 2005 Crear un nuevo proyecto : FILE New Project Marcar Console Application Name : Leccion-002 Module Module1 Sub Main() 'Instanciamos la clase vehiculo,creamos un objeto auto Dim auto As New cVehiculo auto.marca = "Volkswagen" auto.color = "Rojo" Console.Write("Auto:" & auto.marca & " Color: " & auto.color) 'Instanciamos la clase vehiculo,creamos un objeto camioneta Dim camioneta As New cVehiculo camioneta.marca = "Ford" camioneta.color = "Plateada" Console.Write("Camioneta:" & camioneta.marca & " Color: " & _ camioneta.color) End Sub End Module ' Adicionamos la clase cVehiculo que tiene dos propiedades color y marca. Public Class cVehiculo Private sColor As String Private sMarca As String Public Property color() As String Get Return sColor End Get Set(ByVal Value As String) sColor = Value End Set End Property Public Property marca() As String Get Return sMarca End Get Set(ByVal Value As String) sMarca = Value End Set End Property End Class Es muy importante entender las clases y los objetos, estamos definiendo la clase vehiculo, muy usada en ejemplos de teoria de objetos. Esta clase define dos propiedades, color y marca. Observemos que toda propiedad tiene el mismo modelo, (1)Requiere de una variable donde almacenar el valor de la propiedad (2) Tiene un bloque Get … End Get para devolver el valor contenido en la variable y (3) Tiene un bloque Set … End Set para cargar el valor de la variable. Por eso requerimos definir las variables string sColor y sMarca, en el caso de formularios tal vez no se necesite definir variables en el ambito de la propiedad porque se pueden utilizar variables ya existentes pertenecientes al formulario. En el procedimiento principal Sub main() vemos la forma de crear (instanciar) un objeto desde una clase, Dim auto As New cVehiculo que se puede leer como crear un objeto de nombre auto con las caracteristicas de la clase cVehiculo. Por ultimo para referirse a los elementos de un objeto se utiliza el punto por ejemplo auto.color = "Rojo" se lee como el elemento color (que en este caso es una propiedad) del objeto auto. Visual Studio 2005 – Lecciòn 3 (Pagina 1 de 2) Ingresar a Visual Studio 2005 : INICIO PROGRAMAS Microsoft VisualStudio 2005 Crear un nuevo proyecto : FILE New Project Marcar Console Application Name : Leccion-003 Se debe repasar muy bien la leccion-002 ejecutando paso a paso con la tecla F8, hasta entender bien como funcionan las propiedades, apoyarse en un texto es recomendable. En esta leccion no pondremos la propiedades color y marca que son descriptivas pero no funcionales, mas bien adicionaremos las propiedades factorDeAceleracion y presionAcelerador, y el metodo acelerar. Este metodo acelerar modifica la velocidad del auto, de acuerdo a un factor de aceleracion que para el caso del auto serà de 30 KPH/cm, quiere decir que por cada centimetro de acelerador presionado la velocidad aumenta en 30 KPH, si se ha presionado 4 cms el auto esta viajando a una velocidad de 30 x 4 = 120 KPH. Para la camioneta el factor_de_aceleracion es de 20 KPH/cm,si se ha presionado 5 cms la camioneta esta viajando a una velocidad de 20 KPH/cm x 5 cm = 100 KPH. El factor de aceleracion debe ser una propiedad de la clase vehiculo, que para el objeto auto tiene el valor 30 y para el objeto camioneta tiene el valor de 20. Module Module1 Sub Main() 'Instanciamos la clase vehiculo,creamos un objeto auto Dim auto As New cVehiculo 'Instanciamos la clase vehiculo,creamos un objeto camioneta Dim camioneta As New cVehiculo 'Definimos factor de aceleracion para auto y camioneta auto.factorDeAceleracion = 30 camioneta.factorDeAceleracion = 20 Dim velocidad As Integer = 0 'Aceleramos : incrementamos en un cm la presion del acelerador ' la velocidad del auto es : auto.acelerar(1) velocidad = auto.factorDeAceleracion * auto.presionAcelerador Console.Write("Velocidad auto:" & velocidad & vbCrLf) 'Aceleramos : incrementamos en 3 cm la presion del acelerador ' la velocidad de la camioneta es : camioneta.acelerar(3) velocidad = camioneta.factorDeAceleracion * camioneta.presionAcelerador Console.Write("Acelerando, Velocidad camioneta:" & velocidad & _ vbCrLf) 'Desaceleramos : incrementamos -1 cm la presion del acelerador ' la velocidad de la camioneta es : camioneta.acelerar(-1) velocidad = camioneta.factorDeAceleracion * camioneta.presionAcelerador Console.Write("Desacelerando, Velocidad camioneta:" & _ velocidad & _ vbCrLf) End Sub End Module Visual Studio 2005 – Lecciòn 3 (Pagina 2 de 2) ' Adicionamos la clase cVehiculo que tiene dos propiedades color y marca. Public Class cVehiculo 'Adicionamos las propiedades factorDeAceleracion y presionAcelerador Private iFactorDeAceleracion As Integer Public Property factorDeAceleracion() As Integer Get Return iFactorDeAceleracion End Get Set(ByVal Value As Integer) iFactorDeAceleracion = Value End Set End Property Dim iPresionAcelerador As Integer = 0 Public Property presionAcelerador() As String Get Return iPresionAcelerador End Get Set(ByVal Value As String) iPresionAcelerador = Value End Set End Property Sub acelerar(ByVal incremento As Integer) Me.presionAcelerador = Me.presionAcelerador + incremento End Sub End Class Destacables : En el metodo console.write se ha adicionado un salto de linea poniendo la variable de visual basic vbCrLf. El prefijo Me. es para referirse a una propiedad o un metodo de la misma clase que se esta ejecutando,en esta caso la clase vehiculo. El metodo acelerar que es un procedimiento en la clase vehiculo recibe como parametro el incremento de la presion de acelerador en cms. Para desacelerar se pone un incremento negativo, en realidad un buen programa debe validar que la propiedad presionAcelerador nunca se haga negativa, pero poner esto le quitaria claridad al ejercicio. Igualmente debemos ejecutar este codigo paso a paso tratando de entender como se van asignando los valores a las variables y propiedades. En la siguiente leccion adicionaremos a nuestro proyecto la clase vehiculo, de manera que todo el codigo no este en un solo sitio, en el modulo queda solo el procedimiento principal y las clases van cada uno en un item distinto,asi sera mucho mas ordenado. Visual Studio 2005 – Lecciòn 4 Ningun proyecto puede prescindir de una base de datos, la que contiene como minimo algunos parametros de la aplicaciòn. Utilizaremos la base de datos Access que es la mas comun. Ingresaremos los parametros Tipo de vehiculo y factor de aceleracion en una base de datos llamada Vehiculos, a una tabla llamada Factores_de_Aceleracion. Ingresar a Access : INICIO PROGRAMAS Microsoft Access Nuevo Base de datos en blanco Aparece la caja de diàlogo Archivo nueva base de datos,y ponemos en : Nombre de Archivo : Vehiculos En el menu de la izquierda seleccionamos : Crear una tabla en vista de diseño. Presionamos la tecla enter y llenamos los datos de la tabla ParametrosVehiculo. Se debe definir el campo TipoDeVehiculo como master key o key principal, lo que se hace con click en cualquier celda de la linea del campo seleccionado, que en este caso es TipoDeVehiculo y luego se presiona el boton KEY de la barra de herramientas,la uqe tiene dibujada una llave, y en el boton izquierdo de la linea del campo seleccionado aparece una llave como en la figura. Luego salimos de la ventana presionando la x de la esquina superior derecha, nos pregunta si desea guardar los cambios y contestamos SI. Entonces digitamos Nombre de la tabla : ParametrosVehiculo y damos click en aceptar. Luego en el menu principal de Access aparece la tabla generada, le damos doble click. Ingresamos los datos correspondientes. Luego salimos de la ventana, y listo ya se ingresaron los datos. En la leccion-005 vamos a conectarnos a la base de datos Access para accesar a los datos de manera que con el mismo Access se puedan modificar los parametros ocasionando que los calculos cambien de acuerdo a los nuevos valores que contenga la tabla. Visual Studio 2005 – Lecciòn 5 Abrimos un nuevo proyecto tipo console application. Entramos al Server explorer, si no se ve, entrar al menù view y seleccionar Server explorer. Luego dar click derecho en Data Connections y seleccionar Add Connection. Presionar el boton Change para seleccionar el proveedor Microsoft Access Database File. Y con el boton Browse buscamos nuestra base de datos Vehiculos. Luego presionamos el boton Test Connection y nos debe salir elmensaje Test connection succeeded, presionamos Aceptar. Normalmente el usuario es Admin y el password en espacios. Para obtener la cadena de conexiòn solo hacer clic en la conexión del server explorer, y de la ventana de propiedades se puede copiar el valor de Connection String. Module Module1 Sub Main() Dim factorAuto As Integer = 0 Dim factorCamioneta As Integer = 0 Dim oConnection As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ "C:\Documents and Settings\intel\Mis documentos\Visual Studio _ 2005\Vehiculos.mdb") oConnection.Open() Dim oCommand As New OleDb.OleDbCommand("select * from ParametrosVehiculo", oConnection) Dim oDataReader As OleDb.OleDbDataReader = _ oCommand.ExecuteReader(CommandBehavior.CloseConnection) ‘Lee el primer registro que contiene los datos del auto oDataReader.Read() factorAuto = oDataReader.Item(2) Lee el segundo registro que contiene los datos de la camioneta oDataReader.Read() factorCamioneta = oDataReader.Item(2) Console.Write("factorauto = " & factorAuto & vbCrLf & _ "factorCamioneta = " & factorCamioneta) End Sub End Module Te diste cuenta que el carácter ampersand “&” se usa para concatenar strings, al dar valor a un string no puede haber comillas entre comillas, se puede concatenar o utilizar 2 comillas por cada comilla dentro del string, por ejemplo si se desea imprimir el string Visual “2005” deberas hacerlo asi : Dim xx As String = ("Visual ""2005""") Para accesar a los datos necesitamos 3 objetos : objeto conexión para indicar donde estàn los datos, objeto comando para indicarle con una instrucciòn Select de SQL que datos vamos a utilizar, y objeto datareader para que nos guarde el dato leìdo. Con el metodo Read, del objeto datareader se accesa secuencialmente a los datos, como sabemos en nuestra tabla el primer registro contiene los datos del auto. Asimismo la tercera columna contiene el factor de aceleracion, esto se referencia con item(2),ya que la primera columna es la item(0). Consultas, colaboraciones, y criticas constructivas a [email protected] Visual Studio 2005 – Lecciòn 6 Pagina 1 de 2 Abrimos un nuevo proyecto tipo windows application. Ingresar a Visual Studio 2005 : INICIO PROGRAMAS Microsoft VisualStudio 2005 Crear un nuevo proyecto : FILE New Project Marcar Windows Application Name : Leccion-006 Vamos a integrar las lecciones anteriores en una sola aplicaciòn windows, en un formulario vamos a poner dos objetos tipo track bar, que simulen el acelerador de un auto y una camioneta, y las velocidades resultantes se mostraran en objetos label, se va a adicionar la clase cVehiculo, el codigo de la conexión a los datos, y claro elcaculo de las velocidades. Modificando con access los valores de factor de aceleracion se podrà como afecta en el calculo de las velocidades. Por default se crea el formulario form1, le adicionamos los objetos trackbar1 y trackbar2 asi como los labels label1,label2, label3,label4,label5 y label6, modificamos la propiedad Text de cada objeto label de acuerdo al diseño adjunto : Click derecho en el Solution Explorer, Proyecto Leccion-006, luego click derecho, luego Add class y ponemos nombre cVehiculo. Copiamos el codigo de la clase de la Leccion-003 y lo pegamos en el codigo de la clase creada. Hacemos doble click en el formulario y nos aparece el evento form1_load, copiamos el codigo de la leccion005 con los accesos a la base de datos. Public Class Form1 Dim factorAuto As Integer = 0 Dim factorCamioneta As Integer = 0 Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim oConnection As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Documents and Settings\intel\Mis documentos\Visual Studio 2005\Vehiculos.mdb") oConnection.Open() Dim oCommand As New OleDb.OleDbCommand("select * from ParametrosVehiculo", oConnection) Dim oDataReader As OleDb.OleDbDataReader = _ oCommand.ExecuteReader(CommandBehavior.CloseConnection) 'Lee el primer registro que contiene los datos del auto oDataReader.Read() factorAuto = oDataReader.Item(2) oDataReader.Read() factorCamioneta = oDataReader.Item(2) Console.Write("factorauto = " & factorAuto & vbCrLf & _ "factorCamioneta = " & factorCamioneta) Me.Show() End Sub Visual Studio 2005 – Lecciòn 6 Pagina 2 de 2 Nuevamente en la vista de diseño damos doble click en el ojeto trackbar1 y completamos el texto como se muestra. Hacer lo mismo para Trackbar2. Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll Label5.Text = TrackBar1.Value * Me.factorAuto & "KPH" Me.Show() End Sub Private Sub TrackBar2_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar2.Scroll Label6.Text = TrackBar2.Value * factorCamioneta & "KPH" Me.Show() End Sub End Class La ejecucion del programa con F5 : Podemos aumentar o disminuir la velocidad del auto y de la camiioneta moviendo los track bar. Poniendo los valores a la mitad en la base de datos de access tenemos : La variaciòn de los datos en la base de datos influye sobre los resultados sin necesidad de modificar el programa.