Hola, Bienvenido a mi blog!

Puedes seguirnos en :

Categorías

Base De Datos

Programación

¡Suscríbete a mi blog!

Recibe en tu correo las últimas noticias del blog. Sólo ingresa tu correo para suscribirte.

Ads 468x60px

.

miércoles, 13 de marzo de 2013

BIENVENIDOS A MI BLOG

   
Te doy la gran bienvenida a mi blog. Esta ventana de comunicación nace con el humilde propósito de poder compartir información, todo con respeto a lenguajes de programación, Base de datos, entre otros temas que los puedes ubicar en los menús.
Cada tema puede ser enriquecido por ustedes mismos, ya que este blog tiene el fin de compartir información y aprender de ello.
Sin duda que vuestros comentarios, críticas o sugerencias sobre el contenido de este blog es lo que hará más rico y atractivo este espacio, por el cual te invito desde este momento ser parte de él

APLICANDO ARREGLOS(ARRAYS)

Los Arrays o arreglos son conjuntos de Variables Agrupadas con un nombre, que se pueden manejar juntas o individualmente, en Visual Basic .Net se pueden tener arreglos desde una dimensión y hasta un máximo de 32 dimensiones. Puede ver mas en http://emilio.aesinformatica.com/2009/06/05/visual-basic-net-arrays-y-arrays-multidimensionales/.

Nota: Si declaramos a una matriz (6), tendríamos 7 elementos por que recorre desde cero ejemplo
          Private estudiante() As Integer
          estudiante = New Integer(6) {} , seria como muestran los elementos en la imagen:

. Ejemplo 01: mostra 6 edades aleatorias de una clase persona, también sacar su suma y su promedio de las edades .
.Agregamos una clase con el nombre"Persona.vb" dentro de una carpeta  llamado"clases", y tambien agregamos un formulario con el nombre "FrmPeredadsum.vb"
Diseño del fromulario: 1ListBox.1Button,4label como muestra la imagen:
Clase Persona:
Public Class Persona
    Private edad() As Integer
    'desde este método devuelves un arreglo '
    'byval sirve para pasar  valores'
    Function generaredades(ByVal n As Integer) As Integer()
        Dim i As Integer
        'Al utilizar una cláusula New, ésta debe ir seguida de llaves ({}), incluso si están vacías
        Me.edad = New Integer(n) {}
        For i = 0 To edad.Length - 1
            Me.edad(i) = 1 + Rnd() * 100 'Generar valor aleatorio entre 1 y 100.
        Next
        Return Me.edad
    End Function

    Function suma() As Integer
        Dim i As Integer
        Dim SUM As Integer
        SUM = 0
        For i = 0 To edad.Length - 1
            SUM = SUM + edad(i)
        Next
        Return SUM
    End Function

    Function promedio() As Double
        Dim pro As Double
        pro = Me.suma / (edad.Length - 1)
        Return pro
    End Function
End Class

Programamos en el Formulario:
Public Class FrmPeredadsum
    Private opersona As Persona
    Private edad() As Integer
    Private Sub btncalcular_Click(sender As System.Object, e As System.EventArgs) Handles btncalcular.Click
        Dim i As Integer
        lstedadeslis.Items.Clear()
        opersona = New Persona
        edad = opersona.generaredades(5)

        For i = 0 To edad.Length - 1
            lstedadeslis.Items.Add(edad(i))
        Next
        lblpromedio.Text = opersona.promedio
        lblsuma.Text = opersona.suma
    End Sub
End Class


Resultado:
. Ejemplo 02: usamos la misma clase "Persona" del ejemplo anterior, agregamos un nuevo fromulario con el nombre de Frmedadcond.vb
. Diseño del formulario: 4 label,1 button, 1 ListView como muestra la imagen:

configuración del ListView con el nombre "lsvmostreo",sigamos las imágenes:
   -configurando las columnas  en las propiedades de ListView-

  
Clase Persona (la misma clase del ejercicio nterior solo agregamos lo siguiente):

Public Class Persona
     Function total_menor() As Integer
        Dim i As Integer
        Dim R As Integer
        For i = 0 To Me.edad.Length - 1
            If edad(i) < 18 Then
                R = R + 1
            End If
        Next
        Return R
    End Function
    Function total_mayorr() As Integer
        Dim i As Integer
        Dim R As Integer
        For i = 0 To Me.edad.Length - 1
            If edad(i) >= 18 Then
                R = R + 1
            End If
        Next
        Return R
    End Function
End Class


Programamos en el Formulario:

Public Class Frmedadcond
  'Creo una variable de tipo ListViewItem (ALMACEN) que sirve para ir agregando al ListView.
    Private ALMACEN As ListViewItem
    Private opersona As Persona
    Private edad() As Integer
 Private Sub BTNMOSTRAR_Click(sender As System.Object, e As System.EventArgs) Handles BTNMOSTRAR.Click
        Dim i As Integer
        opersona = New Persona
        edad = opersona.generaredades(5)
        lsvmostreo.Items.Clear()
 

        For i = 0 To edad.Length - 1
            'Creo una nueva instancia del
ALMACEN
             ALMACEN = New ListViewItem
            'pasamos como dado principal

            ALMACEN.Text = edad(i)
            If edad(i) >= 18 Then
              'Agregamos  los demas datos a los SubItems

                ALMACEN.SubItems.Add("MAYOR DE EDAD")
            Else
                ALMACEN.SubItems.Add("MENOR DE EDAD")
            End If

            'Agrego el almacen  a la colección de listViewItem lsvmostreo.
            lsvmostreo.Items.Add(ALMACEN)
        Next
        lblmenores.Text = opersona.total_menor
        lblmayores.Text = opersona.total_mayorr
    End Sub
End Class



Resultado:
. Ejemplo 03: calcular la temperatura minima, maxima y su promedio en 16 dias que oscile ente 10 y 36.

.Crear una clase con el nombre "ClsTemperatura.vb" en una carpeta "clases", agregamos un nuevo formulario con el nombre "FrmTemperatura.vb"
. Diseño del fromulario: 1 button , 1 ListView nombre "Lvtabla" que tine 4 columnas, como muestra la imagen : 
.Clase ClsTemperatura:
Public Class ClsTemperatura
    ' matriz filas y columnas bidimensionales
    Private num(,) As Integer

    Public Sub simular()
        Me.num = New Integer(15, 2) {}
        Dim i As Integer
        For i = 0 To 15
            num(i, 0) = 10 + Rnd() * 13
            num(i, 1) = num(i, 0) + Rnd() * 13
            num(i, 2) = (num(i, 0) + num(i, 1)) / 2
        Next
    End Sub
    'retorno'
    Public Function mostraresiltado() As Integer(,)
        Return num
    End Function
End Class



Programamos en el Formulario:
Public Class FrmTemperatura
    Private otemperatura As ClsTemperatura
    Private tem(,) As Integer
    Private ingresar As ListViewItem
Private Sub BtnMostrar_Click(sender As System.Object, e As System.EventArgs) Handles BtnMostrar.Click
        otemperatura = New ClsTemperatura
        otemperatura.simular()
        tem = otemperatura.mostraresiltado
        lsvresul.Items.Clear()
        Dim i As Integer

        For i = 0 To 15
            ingresar = New ListViewItem
            ingresar.Text = i + 1
            ingresar.SubItems.Add(tem(i, 0))
            ingresar.SubItems.Add(tem(i, 1))
            ingresar.SubItems.Add(tem(i, 2))
            lsvresul.Items.Add(ingresar)
        Next
    End Sub
End Class


Resultado:
.Ejemplo04: en este ejemplo vamos hacer una tabla aritmética de suma, resta, multiplicación, división:
. Creamos una clase con el nombre "ClsTabla.vb" en  una carpeta llamada "clases", luego agregamos un formulario con el nombre "FrmTablaAritmetica.vb"
.Diseño del Formulario: 1 label, 1 TextBox en su propiedad name "txtvalor", 1 button en su propiedad name "Btnmostrar", 1 GroupBox, 4 RadioButton en su propiedad name colocamos "Rbsuma, RbResta, RbMultiplicar, RbDividir", 1 ListView en su propiedad name "lsvresul", vemos la imagen:
.Clase ClsTabla:
Public Class ClsTabla
    Private resul() As Double

    Public Function operacion(ByVal tipo As String, ByVal operador As Integer) As Double()
        Dim i As Integer

        resul = New Double(15) {}
        Select Case tipo
            Case "+"
                For i = 1 To 15
                    resul(i) = operador + i
                Next
            Case "-"
                For i = 1 To 15
                    resul(i) = operador - i
                Next
            Case "*"
                For i = 1 To 15
                    resul(i) = operador * i
                Next
            Case "/"
                For i = 1 To 15
                    resul(i) = operador / i
                Next
        End Select
        Return resul
    End Function
End Class
 

Programamos en el Formulario:
Public Class FrmTablaAritmetica
    Private lista As ListViewItem
    Private resultado() As Double
    Private otablas As ClsTabla
    Private tipo As String
    Private valor As Integer
Private Sub Btnmostrar_Click(sender As System.Object, e As System.EventArgs) Handles Btnmostrar.Click
        If Rbsuma.Checked Then tipo = "+"
        If RbResta.Checked Then tipo = "-"
        If RbMultiplicar.Checked Then tipo = "*"
        If RbDividir.Checked Then tipo = "/"
        otablas = New ClsTabla
        valor = txtvalor.Text
        resultado = otablas.operacion(tipo, valor)
        Dim i As Integer
        lsvresul.Items.Clear()
        For i = 1 To 12
            lista = New ListViewItem
            lista.Text = valor
            lista.SubItems.Add(tipo)
            lista.SubItems.Add(i)
            lista.SubItems.Add(resultado(i))
            lsvresul.Items.Add(lista)
        Next
    End Sub

Private Sub FrmTablaAritmetica_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Rbsuma.Checked = True
    End Sub
End Class


Resultado:

miércoles, 6 de marzo de 2013

APLICANDO HERENCIAS, POLIMORFISMO E INTERFACES


Empezamos con nuevo proyecto, lo llamaremos “ejemploherencia”. Luego damos paso a elimiar si queremos el Form1, agregamos un nuevo formulario, lo llamaremos "FrmHerencia" como lo muestran las imágenes:


Herencia: ejemplo segun el diagrama:

  • En la propiedades del formulario nos dirigimos a su propiedad Text y digitamos el nombre "ejemplo:  herencia ".
  •  Nos ponemos a diseñar el formulario haciendo uso del cuadro de herramientas: "4 Label, 2 TextBox y un Button".
  • A los label le cambiamos el texto en su propiedad Text .
                                        
  • label4 siga las imagenes 
 





  •  Las cajas de texto en su propiedad name digitamos: "txtradio, textaltura", al botton en su propiedad name digitamos "btncalcular" y su propiedad  Text ="calcular".
  • Lo siguiente es crear las clases y estaran ordenadas dentro de una carpeta:
 crear carpeta: "nombre circulo"

  •  crear clases: con los nombres circulo.vb y cilindro.vb dentro de la carpeta.



Clase Circulo: Para programar  hacemos doble clik en clase Circulo:

Public Class circulo
    Private radio As Double
    ''Creando sobre carga de constructores
    Public Sub New()
        Me.radio = 5
    End Sub

    Public Sub New(ByVal radio As Double)
        Me.radio = radio
    End Sub
    ''Creamos  funciones
    Public Function calculararea() As Double
        Return Math.PI * Math.Pow(Me.radio, 2)
    End Function

    Public Function calcularcircunferencia() As Double
        Return 2 * Math.PI * Me.radio
    End Function
End Class

Clase Cilindro: Heredando las características de circulo.

Public Class cilindro
    ''Inherits: Hereda de una clase base
    Inherits circulo
    Private altura As Double

    Public Sub New(ByVal altura As Double, ByVal radio As Double)
        '' MyBase: Refiere a la Clase Base immediata
        MyBase.New(radio)
        Me.altura = altura
    End Sub

    Public Function calcularvolumen() As Double
        Return Me.altura * MyBase.calculararea
    End Function
End Class


Programamos en el Formulario: declaramos las variables y programamos en el boton btncalcular

Public Class FrmHerencia
    'llamamos a la clase
    Private ocilindro As cilindro
    Private radio As Double
    Private altura As Double

    Private Sub btncalcular_Click(sender As System.Object, e As System.EventArgs) Handles btncalcular.Click
        radio = CType(txtradio.Text, Double)
        altura = CType(txtaltura.Text, Double)
        ''instanciamos la clase
        ocilindro = New cilindro(altura, radio)
        lblresultado.Text = ocilindro.calcularvolumen
    End Sub
End Class 

Resultado :



Ejemplo de Polimorfismo: Agregamos las clases Perro, Gato, Vaca y un nuevo formulario con el nombre de "FrmAnimal.vb"; Animal en el mismo proyecto, pero en otra carpeta.
  Diseño del formulario



Clase Animal:

 ''LA  CLASE LA CONVERTIMOS EN ABSTRACTA
Public MustInherit Class Animal
    Private altura As Double
    Private peso As Double

 Public Property xaltura() As Double
        Get
            Return Me.altura
        End Get
        Set(value As Double)
            Me.altura = value
        End Set
    End Property

    Public Property xpeso() As Double
        Get
            Return Me.peso
        End Get
        Set(value As Double)
            Me.peso = value
        End Set
    End Property

    'Metodos sin cuerpos
    Public MustOverride Function comer() As String
    Public MustOverride Function decir() As String
End Class


Clase Gato:
Public Class Gato
    Inherits Animal
    Public Overrides Function comer() As String
        Return "RATONES"
    End Function

    Public Overrides Function decir() As String
        Return "MIAU, MIAU , MIAU,..."
    End Function
End Class


Clase Perro :
Public Class Perro
    Inherits Animal
    Public Overrides Function comer() As String
        Return "HUESO"
    End Function

    Public Overrides Function decir() As String
        Return "GUAU GUAU....."
    End Function
End Class


Clase Vaca:
Public Class Vaca
    Inherits Animal


    Public Overrides Function comer() As String
        Return "PASTO"
    End Function

    Public Overrides Function decir() As String
        Return "MUU,MU,MU"
    End Function
End Class


Programamos en el Formulario:

Public Class FrmAnimal
    Private oanimal As Animal
    Private operro As New Perro
    Private ogato As New Gato
    Private ovaca As New Vaca

  Private Sub btnmostrar_Click(sender As System.Object, e As System.EventArgs) Handles btnmostrar.Click

        If rbperro.Checked Then
            oanimal = operro
        ElseIf rbgato.Checked Then
            oanimal = ogato
        Else
            oanimal = ovaca
        End If
        ovaca.xaltura = 20
        ovaca.xpeso = 300
        MessageBox.Show("Altura:" & oanimal.xaltura & vbCrLf _
                        & "Peso:" & oanimal.xpeso & vbCrLf _
                        & "come:" & oanimal.comer & vbCrLf _
                        & "dice:" & oanimal.decir, "mensaje", MessageBoxButtons.OK)
    End Sub
End Class

  • Ejecutamos el Formulario FrmAnimal como nos muestran las imágenes:
  
 
CREANDO INTERFACES 
Mediante las interfaces, puede especificar los métodos que debe implementar un componente sin especificar realmente cómo se implementa el método, mas conceptos puedes ver en: http://msdn.microsoft.com/es-es/library/cc436896%28v=vs.71%29.aspx.
Ejemplo  seguimos las imagenes:

.Agregamos una carpeta  con el nombre "Interfaces", luego creamos las clases  B, A y las intefaces C y D.
. Creando las clases intefaces C y D.

 . luego  paso a crear las clases B , A

. Creamos un formulario con el nombre "FrmInterfaces.vb", y lo diseñamos como muestra la imagen:
 
Interface D:
Public Interface D
    Function IMPRIMIRD() As String
End Interface


Interface C:
Public Interface C
    Function IMPRIMIRC() As String
End Interface


Clase B:
 Public Class B
    Function IMPRIMIRB() As String
        Return "IMPRIMIR A"
    End Function
End Class

Clase A:
Public Class A
    Inherits B
    Implements C, D
    Function IMPRIMIR() As String
        Return MyBase.IMPRIMIRB
    End Function

    Public Function IMPRIMIRC() As String Implements C.IMPRIMIRC
        Return " IMPRIMIR C"
    End Function

    Public Function IMPRIMIRD() As String Implements D.IMPRIMIRD
        Return " IMPRIMIR D"
    End Function
End Class


Programamos en el Formulario

Public Class FrmInterfaces
    Private IA As New A
    Private Sub btnCalcular_Click(sender As System.Object, e As System.EventArgs) Handles btnCalcular.Click
        MessageBox.Show("IMPRIME A: " & IA.IMPRIMIRB & vbCrLf _
& "IMPRIME C: " & IA.IMPRIMIRC & vbCrLf _
& "IMPRIME D: " & IA.IMPRIMIRD)
    End Sub
End Class





 Descargar ejemplo