domingo, 20 de octubre de 2013

Control ListBox: Método de Burbuja - Visual Basic 2012

Public Class Form1

    Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
        ListBox1.Items.Add(txtNumero.Text)
        txtNumero.Clear()
        txtNumero.Focus()
    End Sub

    Private Sub btnOrdenar_Click(sender As Object, e As EventArgs) Handles btnOrdenar.Click
        Dim Auxiliar As Integer
        For i = 0 To ListBox1.Items.Count - 1
            For j = 0 To ListBox1.Items.Count - 2
                If (ListBox1.Items.Item(j) > ListBox1.Items.Item(i)) Then
                    Auxiliar = ListBox1.Items.Item(j)
                    ListBox1.Items.Item(j) = ListBox1.Items.Item(i)
                    ListBox1.Items.Item(i) = Auxiliar
                End If
            Next
        Next
    End Sub
End Class




Video Tuturial - Método de Burbuja en Visual Basic 2012




jueves, 17 de octubre de 2013

Programación en N Capas

Implementación de la Base de Datos en Sql Server 2012 



Aplicación en N Capas - Visual C# 2012










Espero les guste. Gracias...

Calcular Datos en un DataGridview

Public Class Form1

    Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
        Dim i As Integer = DataGridView1.Rows.Count
        DataGridView1.Rows.Add()
        DataGridView1.Rows(i).Cells(0).Value = CInt(txtCodigo.Text)
        DataGridView1.Rows(i).Cells(1).Value = CStr(txtDescripcion.Text)
        DataGridView1.Rows(i).Cells(2).Value = CInt(txtCantidad.Text)
        DataGridView1.Rows(i).Cells(3).Value = CDec(txtPrecio.Text)
        DataGridView1.Rows(i).Cells(4).Value = Math.Round((CInt(txtCantidad.Text) * CDec(txtPrecio.Text)) * 0.2, 2) 'Aplicando descuento el 20%
        DataGridView1.Rows(i).Cells(5).Value = Math.Round((CInt(txtCantidad.Text) * CDec(txtPrecio.Text)) + CDec(DataGridView1.Rows(i).Cells(4).Value), 2)
        DataGridView1.ClearSelection()
        MostrarTotal()
    End Sub

    Private Sub btnEliminar_Click(sender As Object, e As EventArgs) Handles btnEliminar.Click

        If DataGridView1.Rows.Count > 0 Then
            Dim i As Integer = DataGridView1.CurrentRow.Index
            If (DataGridView1.Rows(DataGridView1.CurrentRow.Index).Selected = False) Then
                MsgBox("Seleccione Fila a Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Else
                DataGridView1.Rows.RemoveAt(i)
                MostrarTotal()
                MsgBox("Eliminado Correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If
        Else
            MsgBox("No existen Elementos Ok.", MessageBoxButtons.OK, MessageBoxIcon.Information)
        End If

    End Sub

    Private Sub MostrarTotal()
        Dim Total As Decimal
        For i = 0 To DataGridView1.Rows.Count - 1
            Total = Total + CDec(DataGridView1.Rows(i).Cells(5).Value)
        Next
        lblTotal.Text = CDec(Total)
    End Sub
End Class


sábado, 28 de septiembre de 2013

Control ListBox

 DESCRIPCION
El control ListBox permite añadir elementos en forma de lista y también poder seleccionar elementos de la misma para trabajar los datos.

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        cbxCategoria.SelectedIndex = 0
    End Sub

   Private Sub cbxCategoria_SelectedIndexChanged(sender As Object, e As EventArgs) Handles
    cbxCategoria.SelectedIndexChanged
        Select Case cbxCategoria.SelectedIndex
            Case 0
                cbxProductos.Items.Clear()
                cbxProductos.Items.Add("Seleccione")
                cbxProductos.SelectedIndex = 0
            Case 1
                cbxProductos.Items.Clear()
                cbxProductos.Items.Add("Gaseosa Pepsi")
                cbxProductos.Items.Add("Agua Mineral")
                cbxProductos.Items.Add("Yogurt Gloria")
                cbxProductos.SelectedIndex = 0
            Case 2
                cbxProductos.Items.Clear()
                cbxProductos.Items.Add("Manzana 1kg")
                cbxProductos.Items.Add("Uva Italiana")
                cbxProductos.Items.Add("Mandarinas")
                cbxProductos.SelectedIndex = 0
            Case 3
                cbxProductos.Items.Clear()
                cbxProductos.Items.Add("Arroz 1kg")
                cbxProductos.Items.Add("Azucar 1kg")
                cbxProductos.Items.Add("Aceite 1Lt")
                cbxProductos.Items.Add("Fideos 1kg")
                cbxProductos.SelectedIndex = 0
        End Select
    End Sub

    Private Sub cbxProductos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles
    cbxProductos.SelectedIndexChanged
        Select Case cbxProductos.SelectedItem
            Case "Gaseosa Pepsi" : txtPrecio.Text = "1.50"
            Case "Agua Mineral" : txtPrecio.Text = "1.00"
            Case "Yogurt Gloria" : txtPrecio.Text = "5.00"
            Case "Manzana 1kg" : txtPrecio.Text = "3.50"
            Case "Uva Italiana" : txtPrecio.Text = "4.00"
            Case "Mandarinas" : txtPrecio.Text = "2.50"
            Case "Arroz 1kg" : txtPrecio.Text = "3.00"
            Case "Azucar 1kg" : txtPrecio.Text = "3.20"
            Case "Aceite 1Lt" : txtPrecio.Text = "5.50"
            Case "Fideos 1kg" : txtPrecio.Text = "1.80"
            Case Else
                txtPrecio.Text = "0.0"
        End Select
    End Sub

    Private Sub btnAgregar_Click(sender As Object, e As EventArgs) Handles btnAgregar.Click
        If lstProducto.Items.Contains(cbxProductos.SelectedItem) Then
            MessageBox.Show("Producto ya Existe Dentro de la Lista", "Error",  MessageBoxButtons.OK, MessageBoxIcon.Error)
        Else
            Select Case cbxCategoria.SelectedIndex
                Case 0
                    MessageBox.Show("Por Favor Debe Seleccionar una Categoria", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Case 1
                    lstCategoria.Items.Add(cbxCategoria.SelectedItem)
                    Select Case cbxProductos.SelectedIndex
                        Case 0
                            lstProducto.Items.Add(cbxProductos.SelectedItem)
                            lstPrecio.Items.Add(txtPrecio.Text)
                            Total()
                        Case 1
                            lstProducto.Items.Add(cbxProductos.SelectedItem)
                            lstPrecio.Items.Add(txtPrecio.Text)
                            Total()
                        Case 2
                            lstProducto.Items.Add(cbxProductos.SelectedItem)
                            lstPrecio.Items.Add(txtPrecio.Text)
                            Total()
                    End Select
                Case 2
                    lstCategoria.Items.Add(cbxCategoria.SelectedItem)
                    Select Case cbxProductos.SelectedIndex
                        Case 0
                            lstProducto.Items.Add(cbxProductos.SelectedItem)
                            lstPrecio.Items.Add(txtPrecio.Text)
                            Total()
                        Case 1
                            lstProducto.Items.Add(cbxProductos.SelectedItem)
                            lstPrecio.Items.Add(txtPrecio.Text)
                            Total()
                        Case 2
                            lstProducto.Items.Add(cbxProductos.SelectedItem)
                            lstPrecio.Items.Add(txtPrecio.Text)
                            Total()
                    End Select
                Case 3
                    lstCategoria.Items.Add(cbxCategoria.SelectedItem)
                    Select Case cbxProductos.SelectedIndex
                        Case 0
                            lstProducto.Items.Add(cbxProductos.SelectedItem)
                            lstPrecio.Items.Add(txtPrecio.Text)
                            Total()
                        Case 1
                            lstProducto.Items.Add(cbxProductos.SelectedItem)
                            lstPrecio.Items.Add(txtPrecio.Text)
                            Total()
                        Case 2
                            lstProducto.Items.Add(cbxProductos.SelectedItem)
                            lstPrecio.Items.Add(txtPrecio.Text)
                            Total()
                        Case 3
                            lstProducto.Items.Add(cbxProductos.SelectedItem)
                            lstPrecio.Items.Add(txtPrecio.Text)
                            Total()
                    End Select
            End Select
        End If
     End Sub

    Sub Total()
        For i = 0 To lstPrecio.Items.Count - 1
            Dim Suma As Decimal = Suma + CDec(lstPrecio.Items.Item(i))
            lblTotal.Text = CDec(Suma)
        Next
    End Sub

    Private Sub lstCategoria_Click(sender As Object, e As EventArgs) Handles lstCategoria.Click
        lstProducto.SelectedIndex = lstCategoria.SelectedIndex
        lstPrecio.SelectedIndex = lstCategoria.SelectedIndex
    End Sub

    Private Sub lstProducto_Click(sender As Object, e As EventArgs) Handles lstProducto.Click
        lstCategoria.SelectedIndex = lstProducto.SelectedIndex
        lstPrecio.SelectedIndex = lstProducto.SelectedIndex
    End Sub

    Private Sub lstPrecio_Click(sender As Object, e As EventArgs) Handles lstPrecio.Click
        lstCategoria.SelectedIndex = lstPrecio.SelectedIndex
        lstProducto.SelectedIndex = lstPrecio.SelectedIndex
    End Sub

    Private Sub btnEliminar_Click(sender As Object, e As EventArgs) Handles btnEliminar.Click
        If MsgBox("Está Seguro que Desea Eliminar El Producto a Vender", MsgBoxStyle.YesNo) = vbYes Then
            Dim i As Integer = lstCategoria.SelectedIndex
            If i >= 0 Then
                Dim precio As Decimal = CDec(lstPrecio.Text)
                lstCategoria.Items.RemoveAt(i)
                lstProducto.Items.RemoveAt(i)
                lstPrecio.Items.RemoveAt(i)
                Total()
            ElseIf lstCategoria.Items.Contains(cbxCategoria.SelectedItem) Then
                MessageBox.Show("Debe Seleccionar el Producto de la Lista a Eliminar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Else
                MessageBox.Show("No Existe Ningun Producto Dentro de la Lista", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End If
        End If    
    End Sub
End Class



Control ComboBox

DESCRIPCION
Un control ComboBox permite seleccionar un elemento en una determinada acción.

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Agregamos Elementos al control combobox
        cbxEspecialidad.Items.Add("Seleccione")
        cbxEspecialidad.Items.Add("Ing. Sistemas")
        cbxEspecialidad.Items.Add("Contabilidad")
        cbxEspecialidad.Items.Add("Administración")
        'Seleccionamos el primer elemento para mostrar en el control (index del combobox)
        cbxEspecialidad.SelectedIndex = 0
        DesabilitarControles()
    End Sub

    Private Sub cbxEspecialidad_SelectedIndexChanged(sender As Object, e As EventArgs) Handles
    cbxEspecialidad.SelectedIndexChanged
        Select Case cbxEspecialidad.SelectedIndex
            Case 0
                cbxCurso.Items.Clear()
                DesabilitarControles()
            Case 1
                cbxCurso.Items.Clear()
                cbxCurso.Items.Add("Base de Datos")
                cbxCurso.Items.Add("Visaul Basic")
                cbxCurso.Items.Add("PHP")
                cbxCurso.Items.Add("JSP")
                cbxCurso.SelectedIndex = 0
                HabilitarControles()
            Case 2
                cbxCurso.Items.Clear()
                cbxCurso.Items.Add("Economía")
                cbxCurso.Items.Add("Matemática")
                cbxCurso.Items.Add("Inglés")
                cbxCurso.SelectedIndex = 0
                HabilitarControles()
            Case Else
                cbxCurso.Items.Clear()
                cbxCurso.Items.Add("Gestion de Proyectos")
                cbxCurso.Items.Add("Costos y Presupuestos")
                cbxCurso.Items.Add("Matemática")
                cbxCurso.SelectedIndex = 0
                HabilitarControles()
        End Select
    End Sub

    Private Sub btnCalcular_Click(sender As Object, e As EventArgs) Handles btnCalcular.Click
        If txtAlumno.Text.Trim <> "" And txtNota1.Text.Trim <> "" And txtNota2.Text.Trim <> ""
        And  txtNota3.Text.Trim <> "" Then
            'Declaramos un vector y luego le asignamos memoria para 3 elemento
            Dim vector(2) As Integer
            Dim Notas As Integer
            Dim Auxi As Integer
            Dim Promedio As Decimal
            'Almacenamos los datos
            Notas = VerificarNotas(CInt(txtNota1.Text), CInt(txtNota2.Text), CInt(txtNota3.Text))
            If Notas = 0 Then
                vector(0) = CInt(txtNota1.Text)
                vector(1) = CInt(txtNota2.Text)
                vector(2) = CInt(txtNota3.Text)

                'Utilizamos el método de burbuja para ordenar los elementos de Mayor a menor, para luego
                 tomar los dos elementos mayores (Números)
                For i As Integer = 0 To 2
                    For j As Integer = 0 To 1
                        If vector(i) > vector(j) Then
                            Auxi = vector(i)
                            vector(i) = vector(j)
                            vector(j) = Auxi
                        End If
                    Next
                Next

                'Una vez ordenado nuestros elementos del vector, sumamos los elementos de la posesion 0 y 1 (Números Mayores), y luego lo dividimos entre la cantidad de elemntos
                Promedio = CDec(Math.Round(CDec(vector(0) + vector(1)) / 3, 2))
                If (Promedio > 10.5) Then
                    cbxTotalAprobados.Items.Add(txtAlumno.Text & "   |   " & "Promedio: " & Promedio)
                    cbxTotalAprobados.SelectedIndex = 0
                Else
                    cbxTotalDesprobados.Items.Add(txtAlumno.Text & "   |   " & "Promedio: " & Promedio)
                    cbxTotalDesprobados.SelectedIndex = 0
                End If
                LimpiarTextBox()
            Else
                MsgBox("Las Notas Ingresadas son Incorrectas...!!!", MsgBoxStyle.Exclamation,
                "Information")
            End If
        ElseIf txtAlumno.Text = "" Then
            MsgBox("Ingrese Nombre del Alumno a Registrar Notas...!!!", MsgBoxStyle.Exclamation,
            "Information")
            txtAlumno.Focus()
        ElseIf txtNota1.Text = "" Then
            MsgBox("Ingrese La Nota N° 01", MsgBoxStyle.Exclamation, "Information")
            txtNota1.Focus()
        ElseIf txtNota2.Text = "" Then
            MsgBox("Ingrese La Nota N° 02", MsgBoxStyle.Exclamation, "Information")
            txtNota2.Focus()
        Else
            MsgBox("Ingrese La Nota N° 03", MsgBoxStyle.Exclamation, "Information")
            txtNota3.Focus()
        End If

    End Sub

    Private Sub HabilitarControles()
        cbxCurso.Enabled = True
        txtNota1.Enabled = True
        txtNota2.Enabled = True
        txtNota3.Enabled = True
        cbxTotalAprobados.Enabled = True
        cbxTotalDesprobados.Enabled = True
        btnCalcular.Enabled = True
        btnNuevo.Enabled = True
    End Sub

    Private Sub DesabilitarControles()
        cbxCurso.Enabled = False
        txtNota1.Enabled = False
        txtNota2.Enabled = False
        txtNota3.Enabled = False
        cbxTotalAprobados.Enabled = False
        cbxTotalDesprobados.Enabled = False
        btnCalcular.Enabled = False
        btnNuevo.Enabled = False
    End Sub

    Private Sub LimpiarTextBox()
        txtAlumno.Clear()
        txtNota1.Clear()
        txtNota2.Clear()
        txtNota3.Clear()
    End Sub

    Private Sub btnNuevo_Click(sender As Object, e As EventArgs) Handles btnNuevo.Click
        txtAlumno.Clear()
        cbxTotalAprobados.Items.Clear()
        cbxTotalDesprobados.Items.Clear()
        txtNota1.Clear()
        txtNota2.Clear()
        txtNota3.Clear()
    End Sub

    Private Sub btnSalir_Click(sender As Object, e As EventArgs) Handles btnSalir.Click
        Dim Rpta As Integer = MsgBox("Está seguro que desea Salir...!!!", MsgBoxStyle.YesNo,
        "Information")
        If Rpta = 6 Then
            Me.Close()
        End If
    End Sub

    Private Function VerificarNotas(Nota1 As Integer, Nota2 As Integer, Nota3 As Integer) As Integer
        Dim NotaMayor As Integer = 0
        If Nota1 < 0 Or Nota1 > 20 Or Nota2 < 0 Or Nota2 > 20 Or Nota3 < 0 Or Nota3 > 20 Then
            NotaMayor += 1
        End If
        Return NotaMayor
    End Function

End Class





Control RadioButton

Descripción

El control RadioButton se utiliza para proporcionar un conjunto de opciones mutuamente excluyentes.El usuario puede seleccionar un botón de opción en un grupo. Si es necesario colocar más de un grupo de botones de radio en la misma forma, se debe colocar en diferentes controles contenedor como un control GroupBox.

Public Class Form1

    Private Sub btnMatricular_Click(sender As Object, e As EventArgs) Handles btnMatricular.Click
        Dim Turno, Sexo As String : Dim Pago, Desc As Decimal
        Dim Edad As Integer

        'Verificamos si la Edad del alumno es válida para la matrícula
        Edad = CalcularEdad(CDate(DateTimePicker1.Value))

        'Verificamos si algún control radiobutton está activado aplicamos el respectivo descuento
        If rbnMañana.Checked = True Then
            Desc = CDec(txtPago.Text) * CDec(0.05)
            Turno = "Mañana"
        ElseIf rbnTarde.Checked = True Then
            Desc = CDec(txtPago.Text) * CDec(0.07)
            Turno = "Tarde"
        Else
            Desc = CDec(txtPago.Text) * CDec(0.09)
            Turno = "Noche"
        End If

        Pago = CDec(txtPago.Text) - CDec(Desc)

        'Vefiricamos si el control está activado y luego Capturamos el valor de cada RadioButton
        Sexo = If(rbnMasculino.Checked = True, "Masculino", "Femenino")

        'Si la Edad Edad es mayor o igual a 17 Años se realizará la matrícula
        If Edad >= 17 Then
            lblAlumno.Text = CStr(txtAlumno.Text)
            lblEdad.Text = CInt(Edad)
            lblSexo.Text = CStr(Sexo)
            lblDescuento.Text = CDec(Desc)
            lblMontoTotal.Text = CDec(Pago)
        End If
    End Sub

    Private Function CalcularEdad(FechaNacimiento As Date) As Integer
        Dim Ed As Integer = 0
        'Calculamos nuestra Edad Capturando la fecha actual y le restamos la fecha de Nacimiento
        Ed = Year(Date.Now) - Year(FechaNacimiento)

        'Si la Edad es menor a 17 Años enviaremos un mensaje de advertencia
        If Ed < 17 Then
            MsgBox("Por Favor Verifica Edad...!!!", MsgBoxStyle.Exclamation, "Information")
            DateTimePicker1.Value = Now
        End If
        'Retornamos Nuestra Edad
        Return Ed
    End Function

    Private Sub btnNuevo_Click(sender As Object, e As EventArgs) Handles btnNuevo.Click
        'Limpiamos nuestros controles
        txtAlumno.Clear()
        txtPago.Clear()
        lblAlumno.Text = ""
        lblDescuento.Text = ""
        lblEdad.Text = ""
        lblMontoTotal.Text = ""
        lblSexo.Text = ""

        'Mostramos la fehca Actual en nuestro control DateTimePicker1
        DateTimePicker1.Value = Now

        'Activamos nuestro primer control RadioButton
        rbnMañana.Checked = True
        rbnMasculino.Checked = True

        'Colocamos Nuestro cursor en nuestro control TextBox
        txtAlumno.Focus()
    End Sub

    Private Sub btnSalir_Click(sender As Object, e As EventArgs) Handles btnSalir.Click
        Dim Rpta As Integer = MsgBox("Esta Seguro que desea Salir...!!!", MsgBoxStyle.YesNo, "Information")
        If Rpta = 6 Then
            Close()
        End If
    End Sub
End Class

Control CheckBox

Descripción

El control CheckBox se utiliza generalmente para listar opciones y que el usuario pueda elegir entre ellas, y dependiendo del valor (si está activado o no), se realiza una u otra acción.
A continuación realizaremos un aplicación donde permite entender mejor acerca de estos controles.

Public Class Form1

    Private Sub btnMostrar_Click(sender As Object, e As EventArgs) Handles btnMostrar.Click
        'Declaramos una variable de tipo entero para cotabilizar la cantidad de checkbox  activados
        Dim Cant As Integer
        'Si cada uno de los controles estan activados, si es así le sumamos y acumulamos más uno
        If ckbJava.Checked = True Then
            Cant += 1
        End If

        If ckbVisualBasic.Checked = True Then
            Cant += 1
        End If

        If ckbPHP.Checked = True Then
            Cant += 1
        End If

        If ckbASPShishar.Checked = True Then
            Cant += 1
        End If

        If ckbASPNET.Checked = True Then
            Cant += 1
        End If

        If ckbJsp.Checked = True Then
            Cant += 1
        End If
        'Mostramos los datos mediante un mensaje
        MsgBox("Nombre: " + txtNombre.Text & vbNewLine & "Dirección: " + txtDireccion.Text & vbNewLine & "Edad: " + txtEdad.Text & vbNewLine & "Total Cursos Favoritos: " & Cant, MsgBoxStyle.Information, "Information")
    End Sub
End Class

Control TextBox


DESCRIPCION
Un control TextBox Representa un control de cuadro de texto de Windows. El control TextBox o Caja de texto se utiliza para Ingresar y/o visualizar Texto (básicamente es un control de entrada de datos).
Con el control TextBox, el usuario de nuestra aplicación puede escribir texto, Números, símbolos, etc. Este control tiene funcionalidad adicional como el enmascaramiento de caracteres de
contraseña y la edición de múltiples líneas.

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'Concatenamos el valor de nuestra caja de Texto en el Mensaje
        MsgBox("Hola " + txtAlumno.Text, MsgBoxStyle.Information, "Information")
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        'Limpiamos Nuestro control TextBox
        txtAlumno.Clear()
        'Colocamos el cursor en el mismo contol
        txtAlumno.Focus()
    End Sub
End Class