SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Módulo de definción de constantes globales
Module Globales
    'Definición de una constate global para el salario mínimo legal vigente SMLV.
    Public Const SMLV = 580000
                                                                                                         1
End Module




Clase Basica
Public Class Basica
    'Definición de variables
    'Variables cuyo contenido se leera en la clase Nomina
    Private Cedula, Nombres, Apellidos As String
    Private FechaNac As Date
    Private DptoNac, SigZod, EstCiv, NumH, Seccion, DiasT, NHED, NHEN, NHEDomF, Edad, TipSang As Short
    Private SBMA, Peso As Single
    'Variables privadas que derivarán su contenido con las funciones de la clase Calculo.
    Private VrDia, VrHT, VrHED, VrHEN, VrHEDom, SalDev As Single
    'Variables privadas que derivarán su contenido con las funciones de la clase Prestaciones.
    Private Pension, Salud As Single
    'Variables de la clase Prima.
    Private PEdad, PAlim, PProd, PConSang, PPesada, PEsot, PRDF, PManu, SubsTransp As Single
    'Variables privadas que derivarán su contenido con las funciones de la clase Total.
    Private TotHED, TotHEN, THEDomF, TotExtras, TotPrimas, TotDeducido, TotDevengado, Neto As Single
    'Variables tipo contador para el control del ciclo del programa en la clase FrmNomina.
    Public i, Cantidad As Byte
    Public Property ControlCedula() As String
        'Propiedad pública para la entrada y salida de información de la variable privada Cedula.
        Get
            Return Cedula
        End Get
        Set(ByVal value As String)
            Cedula = value
        End Set
    End Property
    Public Property ControlNombres() As String
        'Propiedad pública para la entrada y salida de información de la variable privada Nombres.
        Get
            Return Nombres
        End Get
Set(ByVal value As String)
        Nombres = value
    End Set
End Property
Public Property ControlApellidos() As String
    'Propiedad pública para la entrada y salida de información de la variable privada Apellidos.
    Get
        Return Apellidos
                                                                                                    2
    End Get
    Set(ByVal value As String)
        Apellidos = value
    End Set
End Property
Public Property ControlDptoNac() As Short
    'Propiedad pública para la entrada y salida de información de la variable privada DptoNac que
    'maneja los datos referentes al departamento de nacimiento.
    Get
        Return DptoNac
    End Get
    Set(ByVal value As Short)
        DptoNac = value
    End Set
End Property

Public Property ControlSigZod() As Short
    'Propiedad pública para la entrada y salida de información de la variable privada SigZod que
    'maneja los datos referentes al signo zodiacal.
    Get
        Return SigZod
    End Get
    Set(ByVal value As Short)
        SigZod = value
    End Set
End Property

Public Property ControlEstCiv() As Short
    'Propiedad pública para la entrada y salida de información de la variable privada EstCiv que
    'maneja los datos referentes al estado civil.
    Get
        Return EstCiv
    End Get
    Set(ByVal value As Short)
        EstCiv = value
    End Set
End Property
Public Property ControlNumH() As Short
    'Propiedad pública para la entrada y salida de información de la
    'maneja los datos referentes al número de hijos.
    Get
        Return NumH
    End Get
    Set(ByVal value As Short)
        NumH = value
                                                                       variable privada NumH que


                                                                                                      3
    End Set
End Property
Public Property ControlSeccion() As Short
    'Propiedad pública para la entrada y salida de información de la   variable privada Seccion que
    'maneja los datos referentes a la sección de trabajo.
    Get
        Return Seccion
    End Get
    Set(ByVal value As Short)
        Seccion = value
    End Set
End Property
Public Property ControlSBMA() As Single
    'Propiedad pública para la entrada y salida de información de la   variable privada SBMA que
    'maneja los datos referentes al salario básico mensual asignado.
    Get
        Return SBMA
    End Get
    Set(ByVal value As Single)
        SBMA = value
    End Set
End Property
Public Property ControlDiasT() As Short
    'Propiedad pública para la entrada y salida de información de la   variable privada DiasT que
    'maneja los datos referentes a los días trabajados.
    Get
        Return DiasT
    End Get
    Set(ByVal value As Short)
        DiasT = value
    End Set
End Property
Public Property ControlNHED() As Short
    'Propiedad pública para la entrada y salida de información de la   variable privada NHED que
    'maneja los datos referentes al número de horas extras diurnas.
    Get
        Return NHED
    End Get
Set(ByVal value As Short)
        NHED = value
    End Set
End Property
Public Property ControlNHEN() As Short
    'Propiedad pública para la entrada y salida de información de la variable privada NHEN que
    'maneja los datos referentes al número de horas extras nocturnas.
    Get
                                                                                                    4
        Return NHEN
    End Get
    Set(ByVal value As Short)
        NHEN = value
    End Set
End Property
Public Property ControlNHEDomF() As Short
    'Propiedad pública para la entrada y salida de información de la variable privada NHEDom que
    'maneja los datos referentes al número de horas extras dominicales y festivos.
    Get
        Return NHEDomF
    End Get
    Set(ByVal value As Short)
        NHEDomF = value
    End Set
End Property

Public Property ControlTipSang() As Short
    'Propiedad pública para la entrada y salida de información de la variable privada TipSang que
    'maneja los datos referentes al tipo sanguineo del empleado.
    Get
        Return TipSang
    End Get
    Set(ByVal value As Short)
        TipSang = value
    End Set
End Property

Public Property ControlPeso() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada Peso que
    'maneja los datos referentes al peso del empleado.
    Get
        Return Peso
    End Get
    Set(ByVal value As Single)
        Peso = value
    End Set
End Property
Public Property ControlFechaNac() As Date
    'Propiedad pública para la entrada y salida de información
    'maneja los datos referentes a la fecha de nacimiento.
    Get
        Return FechaNac
    End Get
    Set(ByVal value As Date)
                                                                 de la variable privada FechaNac que

                                                                                                       5
        FechaNac = value
    End Set
End Property
Public Property ControlEdad() As Short
    'Propiedad pública para la entrada y salida de información   de la variable privada Edad que
    'maneja los datos referentes a la edad del empleado.
    Get
        Return Edad
    End Get
    Set(ByVal value As Short)
        Edad = value
    End Set
End Property
Public Property ControlVrDia() As Single
    'Propiedad pública para la entrada y salida de información   de la variable privada VrDia que
    'maneja los datos referentes al valor del día.
    Get
        Return VrDia
    End Get
    Set(ByVal value As Single)
        VrDia = value
    End Set
End Property
Public Property ControlVrHT() As Single
    'Propiedad pública para la entrada y salida de información   de la variable privada VrHT que
    'maneja los datos referentes al valor hora de trabajo.
    Get
        Return VrHT
    End Get
    Set(ByVal value As Single)
        VrHT = value
    End Set
End Property
Public Property ControlVrHED() As Single
    'Propiedad pública para la entrada y salida de información   de la variable privada VrHED que
    'maneja los datos referentes al valor hora extra diurna.
    Get
        Return VrHED
End Get
    Set(ByVal value As Single)
        VrHED = value
    End Set
End Property

Public Property ControlVrHEN() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada VrHED que
                                                                                                      6
    'maneja los datos referentes al valor hora extra diurna.
    Get
        Return VrHEN
    End Get
    Set(ByVal value As Single)
        VrHEN = value
    End Set
End Property

Public Property ControlVrHEDom() As Single
    'Propiedad pública para la entrada y salida de información   de la variable privada VrHEDom que
    'maneja los datos referentes al valor hora extra dominical   y festivo.
    Get
        Return VrHEDom
    End Get
    Set(ByVal value As Single)
        VrHEDom = value
    End Set
End Property
Public Property ControlSalDev() As Single
    'Propiedad pública para la entrada y salida de información   de la variable privada SalDev que
    'maneja los datos referentes al salario devengado.
    Get
        Return SalDev
    End Get
    Set(ByVal value As Single)
        SalDev = value
    End Set
End Property
Public Property ControlPension() As Single
    'Propiedad pública para la entrada y salida de información   de la variable privada Pension que
    'maneja los datos referentes a la pensión.
    Get
        Return Pension
    End Get
    Set(ByVal value As Single)
        Pension = value
    End Set
End Property
Public Property ControlSalud() As Single
    'Propiedad pública para la entrada y salida de información
    'maneja los datos referentes a la salud.
    Get
        Return Salud
    End Get
    Set(ByVal value As Single)
                                                                 de la variable privada Salud que

                                                                                                     7
        Salud = value
    End Set
End Property
Public Property ControlPEdad() As Single
    'Propiedad pública para la entrada y salida de información   de la variable privada PEdad que
    'maneja los datos referentes a la prima de edad.
    Get
        Return PEdad
    End Get
    Set(ByVal value As Single)
        PEdad = value
    End Set
End Property
Public Property ControlPAlim() As Single
    'Propiedad pública para la entrada y salida de información   de la variable privada PAlim que
    'maneja los datos referentes a la prima de alimentación.
    Get
        Return PAlim
    End Get
    Set(ByVal value As Single)
        PAlim = value
    End Set
End Property
Public Property ControlPProd() As Single
    'Propiedad pública para la entrada y salida de información   de la variable privada PProd que
    'maneja los datos referentes a la prima de producción.
    Get
        Return PProd
    End Get
    Set(ByVal value As Single)
        PProd = value
    End Set
End Property

Public Property ControlPConSang() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada PConSang que
    'maneja los datos referentes a la prima de consanguinidad.
    Get
Return PConSang
    End Get
    Set(ByVal value As Single)
        PConSang = value
    End Set
End Property
Public Property ControlPPesada() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada PPesada que
                                                                                                    8
    'maneja los datos referentes a la prima pesada.
    Get
        Return PPesada
    End Get
    Set(ByVal value As Single)
        PPesada = value
    End Set
End Property
Public Property ControlPEsot() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada PEsot que
    'maneja los datos referentes a la prima esotérica.
    Get
        Return PEsot
    End Get
    Set(ByVal value As Single)
        PEsot = value
    End Set
End Property

Public Property ControlPRDF() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada PRDF que
    'maneja los datos referentes a la prima repleta de felicidad.
    Get
        Return PRDF
    End Get
    Set(ByVal value As Single)
        PRDF = value
    End Set
End Property

Public Property ControlPManu() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada PManu que
    'maneja los datos referentes a la prima de manutención.
    Get
        Return PManu
    End Get
    Set(ByVal value As Single)
        PManu = value
End Set
End Property
Public Property ControlSubsTransp() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada SubsTransp que
    'maneja los datos referentes al subsidio de transporte.
    Get
        Return SubsTransp
    End Get
                                                                                                        9
    Set(ByVal value As Single)
        SubsTransp = value
    End Set
End Property

Public Property ControlTotHED() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada TotHED que
    'maneja los datos referentes al total horas extras diurnas.
    Get
        Return TotHED
    End Get
    Set(ByVal value As Single)
        TotHED = value
    End Set
End Property

Public Property ControlTotHEN() As Single
    'Propiedad pública para la entrada y salida   de información de la variable privada TotHEN que
    'maneja los datos referentes al total horas   extras nocturnas.
    Get
        Return TotHEN
    End Get
    Set(ByVal value As Single)
        TotHEN = value
    End Set
End Property
Public Property ControlTHEDomF() As Single
    'Propiedad pública para la entrada y salida   de información de la variable privada TotHEDom que
    'maneja los datos referentes al total horas   extras dominicales y festivos.
    Get
        Return THEDomF
    End Get
    Set(ByVal value As Single)
        THEDomF = value
    End Set
End Property
Public Property ControlTotExtras() As Single
    'Propiedad pública para la entrada y salida   de información de la variable privada TotExtras que
'maneja los datos referentes al total horas extras.
    Get
        Return TotExtras
    End Get
    Set(ByVal value As Single)
        TotExtras = value
    End Set
End Property
                                                                                                          10
Public Property ControlTotPrimas() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada   TotPrimas que
    'maneja los datos referentes al total de las primas (sumatoria de todas éstas).
    Get
        Return TotPrimas
    End Get
    Set(ByVal value As Single)
        TotPrimas = value
    End Set
End Property
Public Property ControlTotDeducido() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada   TotDeducido que
    'maneja los datos referentes al total deducido.
    Get
        Return TotDeducido
    End Get
    Set(ByVal value As Single)
        TotDeducido = value
    End Set
End Property
Public Property ControlTotDevengado() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada   TotDeducido que
    'maneja los datos referentes al total devengado.
    Get
        Return TotDevengado
    End Get
    Set(ByVal value As Single)
        TotDevengado = value
    End Set
End Property
Public Property ControlNeto() As Single
    'Propiedad pública para la entrada y salida de información de la variable privada   TotDeducido que
    'maneja los datos referentes al neto.
    Get
        Return Neto
    End Get
    Set(ByVal value As Single)
        Neto = value
End Set
    End Property
End Class

                   11
Clase Calculo
Public Class Calculo
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Título:             Clase Calculo
                                                                                                              12
    ' Descripción:        Clase que contiene las funciones públicas para el cálculo de: valor día (VrDia),
    '                 valor hora de trabajo (VrHT), valor hora extra diurna (VrHED), valor hora extra
    '                 nocturna (VrHEN), valor hora extra dominical (VrHEDom), y salario devengado (SalDev).
    ' Autor:          Hector Enrique Guerrero Conde.
    ' URL:            http://recursosfisicamecanica.blogspot.com/
    ' Email:          heg_conde@yahoo.com
    ' Fecha creación: 26/10/2010
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Public Function CalcVrdia(ByVal SBMA As Single) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:             Función de tipo real que calcula el valor del día.
        ' Parámetros:    Salario básico mensual asignado (SBMA) por valor.
        ' Retorna:             TmpVrDia.
        ' Creado:        26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        'Declaraciones locales
        Dim TmpVrDia As Single
        TmpVrDia = 0
        TmpVrDia = SBMA / 30
        'CalcVrdia = VrDia
        Return TmpVrDia
    End Function

    Public Function CalcVrHT(ByVal VrDia As Single) As    Single
        '- - - - - - - - - - - - - - - - - - - - - - -    - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:            Función de tipo real que   calcula el valor de la hora de trabajo.
        ' Parámetros:   Valor día (VrDia) por valor.
        ' Retorna:            TmpVrHT.
        ' Creado:       26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - -   - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpVrHT As Single
        TmpVrHT = 0
        TmpVrHT = VrDia / 8
        Return TmpVrHT
    End Function

    Public Function CalcVrHED(ByVal VrHT As Single) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:            Función de tipo real que calcula el valor de la hora extra diurna.
' Parámetros:     Valor hora de trabajo (VrHT) por valor.
    ' Retorna:
    ' Creado:
    '- - - - - - -
    Dim TmpVHED As
    TmpVHED = 0
    TmpVHED = VrHT
    Return TmpVHED
                            TmpVrHED.
                      26/10/2010.
                     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                     Single

                     + (VrHT * 0.5)
                                                                                                            13
End Function

Public Function CalcVrHEN(ByVal VrHT As Single) As Single
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:            Función de tipo real que calcula el valor de la hora extra nocturna.
    ' Parámetros:   Valor hora de trabajo (VrHT) por valor.
    ' Retorna:            TmpVrHEN.
    ' Creado:       26/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpVHEN As Single
    TmpVHEN = 0
    TmpVHEN = VrHT + (VrHT * 0.75)
    Return TmpVHEN
End Function

Public Function CalcVrHEDom(ByVal VrHT As Single) As Single
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:            Función de tipo real que calcula el valor de la hora extra dominical y festivo.
    ' Parámetros:   Valor hora de trabajo (VrHT) por valor.
    ' Retorna:            TmpVrHEDomF.
    ' Creado:       26/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpVHEDomF As Single
    TmpVHEDomF = 0
    TmpVHEDomF = VrHT + (VrHT * 0.95)
    Return TmpVHEDomF
End Function

Public Function CalcSalDev(ByVal VrDia As Single, ByVal DiasT As Short) As Single
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:            Función de tipo real que calcula el salario devengado.
    ' Parámetros:   Valor día (VrDia) por valor y días trabajados (DiasT) por valor.
    ' Retorna:            TmpSalDev.
    ' Creado:       26/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpSalDev As Single
    TmpSalDev = 0
    TmpSalDev = VrDia * DiasT
Return TmpSalDev
    End Function

End Class
                           14
Clase Descuento
Public Class Descuento
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Título:             Clase Descuento
                                                                                                          15
    ' Descripción:        Clase que contiene las funciones públicas para el cálculo de las prestaciones
    '                 sociales: pensión (CalcPension) y salud (CalcSalud).
    ' Autor:          Hector Enrique Guerrero Conde.
    ' URL:            http://recursosfisicamecanica.blogspot.com/
    ' Email:          heg_conde@yahoo.com
    ' Fecha creación: 26/10/2010
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Public Function CalcPension(ByVal SBMA As Single) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:             Función de tipo real que calcula el valor de la pensión.
        ' Parámetros:    Salario básico mensual asignado (SBMA) por valor.
        '                Utiliza la constante global SMLV (Salario Minimo Legal Vigente), definida en
        '                el módulo Globales.vb
        ' Retorna:             TmpPension.
        ' Creado:        26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpPension As Single
        TmpPension = 0
        If ((SBMA >= SMLV) And (SBMA < (2 * SMLV))) Then
             'Si SBMA >= (SMLV) y SBMA < (2 × SMLV), entonces Pensión = SBMA × 2.58%.
             TmpPension = SBMA * 0.0258
        ElseIf ((SBMA >= (2 * SMLV) And (SBMA < (4 * SMLV)))) Then
             'Si SBMA >= (2 × SMLV) y SBMA < (4 × SMLV), entonces Pensión = SBMA × 3.58%.
             TmpPension = SBMA * 0.0358
        ElseIf ((SBMA >= (4 * SMLV)) And (SBMA < (6 * SMLV))) Then
             'Si SBMA >= (4 × SMLV) y SBMA < (6 × SMLV), entonces Pensión = SBMA × 4.58%.
             TmpPension = SBMA * 0.0458
        ElseIf ((SBMA >= (6 * SMLV)) And (SBMA < (8 * SMLV))) Then
             'Si SBMA >= (6 × SMLV) y SBMA < (8 × SMLV), entonces Pensión = SBMA × 5.58%.
             TmpPension = SBMA * 0.0558
        ElseIf ((SBMA >= (8 * SMLV)) And (SBMA < (10 * SMLV))) Then
             'Si SBMA >= (8 × SMLV) y SBMA < (10 × SMLV), entonces Pensión = SBMA × 6.58%.
             TmpPension = SBMA * 0.0658
        ElseIf ((SBMA >= (10 * SMLV)) And (SBMA < (12 * SMLV))) Then
             'Si SBMA >= (10 × SMLV) y SBMA < (12 × SMLV), entonces Pensión = SBMA × 7.58%.
             TmpPension = SBMA * 0.0758
        ElseIf (SBMA >= (12 * SMLV)) Then
             'Si SBMA >= (12 × SMLV) entonces Pensión = SBMA × 8.58%.
             TmpPension = SBMA * 0.0858
End If
       Return TmpPension
   End Function

    Public Function CalcSalud(ByVal SBMA As Single) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:
        ' Parámetros:
                              Función de tipo real que calcula el valor de la salud.
                        Salario básico mensual asignado (SBMA) por valor.
                                                                                                     16
        '               Utiliza la constante global SMLV Salario Minimo Legal Vigente, definida en
        '               el módulo Globales.vb
        ' Retorna:            TmpSalud.
        ' Creado:       26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpSalud As Single
        TmpSalud = 0
        If ((SBMA >= SMLV) And (SBMA < (2 * SMLV))) Then
            'Si SBMA >= (SMLV) y SBMA < (2 × SMLV), entonces Salud = SBMA × 3.14%.
            TmpSalud = SBMA * 0.0314
        ElseIf ((SBMA >= (2 * SMLV) And (SBMA < (4 * SMLV)))) Then
            'Si SBMA >= (2 × SMLV) y SBMA < (4 × SMLV), entonces Salud = SBMA × 1.59%.
            TmpSalud = SBMA * 0.0159
        ElseIf ((SBMA >= (4 * SMLV)) And (SBMA < (6 * SMLV))) Then
            'Si SBMA >= (4 × SMLV) y SBMA < (6 × SMLV), entonces Salud = SBMA × 2.65%.
            TmpSalud = SBMA * 0.0265
        ElseIf ((SBMA >= (6 * SMLV)) And (SBMA < (8 * SMLV))) Then
            'Si SBMA >= (6 × SMLV) y SBMA < (8 × SMLV), entonces Salud = SBMA × 3.58%.
            TmpSalud = SBMA * 0.0358
        ElseIf ((SBMA >= (8 * SMLV)) And (SBMA < (10 * SMLV))) Then
            'Si SBMA >= (8 × SMLV) y SBMA < (10 × SMLV), entonces Salud = SBMA × 9.79%.
            TmpSalud = SBMA * 0.0979
        ElseIf ((SBMA >= (10 * SMLV)) And (SBMA < (12 * SMLV))) Then
            'Si SBMA >= (10 × SMLV) y SBMA < (12 × SMLV), entonces Salud = SBMA × 3.23%.
            TmpSalud = SBMA * 0.0323
        ElseIf (SBMA >= (12 * SMLV)) Then
            'Si SBMA >= (12 × SMLV) entonces Salud = SBMA × 8.46%.
            TmpSalud = SBMA * 0.0846
        End If
        Return TmpSalud
    End Function
End Class
Clase Filtro
Public Class Filtro
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Título:              Clase Filtro
                                                                                                                   17
    ' Descripción:         Clase que contiene las funciones públicas para la validación de la entrada
    '                  de información a las diferentes variables del programa
    ' Autor:           Hector Enrique Guerrero Conde.
    ' URL:             http://recursosfisicamecanica.blogspot.com/
    ' Email:           heg_conde@yahoo.com
    ' Fecha creación: 09/09/2008
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Public Function LeeNumeroReal(ByVal Msj As String, ByVal LimInf As Double, ByVal LimSup As Double) As Double
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:              Función de tipo real para leer solo números reales.
        '                       Despliega un mensaje pasado por parámetro por valor a
        '                       través de la variable Msj y filtra el dato entrado en
        '                       un rango determinado mayor o igual al límite inferior
        '                       (LimInf) y menor o igual al límite superior (LimSup).
        '                       En caso de detectar valores no numéricos despliega un
        '                       mensaje de error.
        ' Parámetros:     Msj, Liminf, LimSup por valor.
        ' Retorna:              Numero.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Declaración de variables locales.
        Dim Bandera As Boolean
        Dim Numero As Double
        Dim TmpNumero As String
        Bandera = True ' La bandera se vuelve verdadera.
        Do    ' Este ciclo se repite hasta que la bandera pase a ser falsa
             ' Se lee el dato como una cadena de caracteres.
             TmpNumero = InputBox(Msj)
             If Not IsNumeric(TmpNumero) Then
                  ' Si el dato entrado no es un número.
                  MsgBox("!Error, solo debe ingresar números!")
             Else
                  ' En caso de que el dato entrado sea un número
                  ' se asigna dicho valor a la variable Numero
                  ' transformandolo a double con la función CDbl().
                  Numero = CDbl(TmpNumero)
                  ' Una vez cambiado a formato double se procede
                  ' a verificar que éste en el rango especificado.
                  If (Numero < LimInf) Or (Numero > LimSup) Then
                      ' Si el número entrado es menor que el límite inferior
' o mayor que el límite superior pasados por parámetro
                ' entonces despliega un mensaje de error.
                MsgBox("!Error!, dato fuera de rango")
            Else ' Si no
                ' En caso de encontrarse en el rango correcto, entonces
                ' la bandera se vuelve falsa.
                Bandera = False
            End If ' Fin de la sentencia condicional.
                                                                                                                  18
        End If
    Loop Until (Bandera = False) '   Fin del ciclo.
    Return Numero ' Retorna el número leido.
End Function ' Fin LeeNumeroReal.

Public Function LeeNumeroEntero(ByVal Msj As String, ByVal LimInf As Double, ByVal LimSup As Double) As Integer
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:             Función de tipo real para leer solo números enteros.
    '                      Despliega un mensaje pasado por parámetro por valor a
    '                      través de la variable Msj y filtra el dato entrado en
    '                      un rango determinado mayor o igual al límite inferior
    '                      (LimInf) y menor o igual al límite superior (LimSup).
    '                      En caso de detectar valores no numéricos despliega un
    '                      mensaje de error.
    ' Parámetros:    Msj, Liminf, LimSup por valor.
    ' Retorna:             Numero.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    'Declaración de variables locales.
    Dim Bandera As Boolean
    Dim Numero As Integer
    Dim TmpNumero As String
    Bandera = True ' La bandera se vuelve verdadera
    Do   ' Este ciclo se repite hasta que la bandera pase a ser falsa
        ' Se lee el dato como una cadena de caracteres.
        TmpNumero = InputBox(Msj)
        If Not IsNumeric(TmpNumero) Then
             ' Si el dato entrado no es un número.
             MsgBox("!Error, solo debe ingresar números!")
        Else
             ' En caso de que el dato entrado sea un número
             ' se asigna dicho valor a la variable Numero
             ' transformandolo a entero con la función CInt().
             Numero = CInt(TmpNumero)
             ' Una vez cambiado a formato double se procede
             ' a verificar que este en el rango especificado.
             If (Numero < LimInf) Or (Numero > LimSup) Then
                 ' Si el número entrado es menor que el límite inferior
                 ' o mayor que el límite superior pasados por parámetro
' entonces despliega un mensaje de error.
                    MsgBox("!Error!, dato fuera de rango")
                Else ' Si no
                    ' En caso de encontrarse en el rango correcto,
                    ' la bandera se vuelve falsa.
                    Bandera = False
                End If ' Fin de la sentencia condicional.
            End If
                                                                     19
        Loop Until (Bandera = False) ' Fin del ciclo.
        Return Numero ' Retorna el número leido.
    End Function ' Fin LeeNumeroEntero.
End Class
Clase Lista
Public Class Lista
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Título:             Clase Lista
                                                                                                                         20
    ' Descripción:        Clase que contiene las funciones públicas para la impresión de los nombres de las listas de:
    '                 departamento geográfico, signo zodiacal, estado civil, sección y tipo sanguineo.
    ' Autor:          Hector Enrique Guerrero Conde.
    ' URL:            http://recursosfisicamecanica.blogspot.com/
    ' Email:          heg_conde@yahoo.com
    ' Fecha creación: 28/10/2010
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Public Function CalcNombreDepartamento(ByVal DptoNac As Short) As String
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:             Función de tipo texto o cadena que evalua el nombre del
        '                departamento de acuerdo al parámetro entrado.
        ' Parámetros:    DptoNac.
        ' Retorna:             TmpNombreDpto.
        ' Creado:        28/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpNombreDpto As String
        TmpNombreDpto = ""
        Select Case DptoNac
             Case 1 : TmpNombreDpto = "1.Amazonas"
             Case 2 : TmpNombreDpto = "2.Antioquia"
             Case 3 : TmpNombreDpto = "3.Arauca"
             Case 4 : TmpNombreDpto = "4.Atlántico"
             Case 5 : TmpNombreDpto = "5.Bolívar"
             Case 6 : TmpNombreDpto = "6.Boyacá"
             Case 7 : TmpNombreDpto = "7.Caldas"
             Case 8 : TmpNombreDpto = "8.Caquetá"
             Case 9 : TmpNombreDpto = "9.Casanare"
             Case 10 : TmpNombreDpto = "10.Cauca"
             Case 11 : TmpNombreDpto = "11.Cesar"
             Case 12 : TmpNombreDpto = "12.Chocó"
             Case 13 : TmpNombreDpto = "13.Córdoba"
             Case 14 : TmpNombreDpto = "14.Cundinamarca"
             Case 15 : TmpNombreDpto = "15.Guainía"
             Case 16 : TmpNombreDpto = "16.Guaviare"
             Case 17 : TmpNombreDpto = "17.Huila"
             Case 18 : TmpNombreDpto = "18.La Guajira"
             Case 19 : TmpNombreDpto = "19.Magdalena"
             Case 20 : TmpNombreDpto = "20.Meta"
             Case 21 : TmpNombreDpto = "21.Nariño"
Case 22 : TmpNombreDpto   =   "22.Norte de Santander"
        Case 23 : TmpNombreDpto
        Case 24 : TmpNombreDpto
        Case 25 : TmpNombreDpto
        Case 26 : TmpNombreDpto
        Case 27 : TmpNombreDpto
        Case 28 : TmpNombreDpto
        Case 29 : TmpNombreDpto
                                  =
                                  =
                                  =
                                  =
                                  =
                                  =
                                  =
                                      "23.Putumayo"
                                      "24.Quindio"
                                      "25.Risaralda"
                                      "26.San Andrés y Providencia"
                                      "27.Santander"
                                      "28.Sucre"
                                      "29.Tolima"
                                                                                    21
        Case 30 : TmpNombreDpto   =   "30.Valle del Cauca"
        Case 31 : TmpNombreDpto   =   "31.Vaupés"
        Case 32 : TmpNombreDpto   =   "32.Vichada"
    End Select
    Return TmpNombreDpto
End Function

Public Function CalcNombreSignoZodiacal(ByVal SigZod As Short) As String
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:            Función de tipo texto o cadena que evalua el nombre del
    '               signo zodiacal de acuerdo al parámetro entrado.
    ' Parámetros:   SigZod.
    ' Retorna:            TmpNombreSignoZod.
    ' Creado:       28/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpNombreSignoZod As String
    TmpNombreSignoZod = ""
    Select Case SigZod
        Case 1 : TmpNombreSignoZod = "1.Aries"
        Case 2 : TmpNombreSignoZod = "2.Tauro"
        Case 3 : TmpNombreSignoZod = "3.Géminis"
        Case 4 : TmpNombreSignoZod = "4.Cancer"
        Case 5 : TmpNombreSignoZod = "5.Leo"
        Case 6 : TmpNombreSignoZod = "6.Virgo"
        Case 7 : TmpNombreSignoZod = "7.Libra"
        Case 8 : TmpNombreSignoZod = "8.Escorpión"
        Case 9 : TmpNombreSignoZod = "9.Sagitario"
        Case 10 : TmpNombreSignoZod = "10.Capricornio"
        Case 11 : TmpNombreSignoZod = "11.Acuario"
        Case 12 : TmpNombreSignoZod = "12.Piscis"
    End Select
    Return TmpNombreSignoZod
End Function

Public Function CalcNombreEstadoCivil(ByVal EstCiv As Short) As String
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:            Función de tipo texto o cadena que evalua el nombre del
    '               estado civil de acuerdo al parámetro numérico entrado.
' Parámetros:   EstCiv.
    ' Retorna:
    ' Creado:
                          TmpNombreEstCiv.
                    28/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpNombreEstCiv As String
    TmpNombreEstCiv = ""
    Select Case EstCiv
        Case 1 : TmpNombreEstCiv = "1.Soltero(a)"
                                                                                      22
        Case 2 : TmpNombreEstCiv = "2.Casado(a)"
        Case 3 : TmpNombreEstCiv = "3.Unión libre"
        Case 4 : TmpNombreEstCiv = "4.Divorciado(a)"
        Case 5 : TmpNombreEstCiv = "5.Viudo(a)"
        Case 6 : TmpNombreEstCiv = "6.Religioso(a)"
    End Select
    Return TmpNombreEstCiv
End Function

Public Function CalcNombreSeccion(ByVal Seccion As Short) As String
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:            Función de tipo texto o cadena que evalua el nombre de la
    '               sección de trabajo de acuerdo al parámetro numérico entrado.
    ' Parámetros:   Seccion.
    ' Retorna:            TmpNombreSeccion.
    ' Creado:       28/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpNombreSeccion As String
    TmpNombreSeccion = ""
    Select Case Seccion
        Case 1 : TmpNombreSeccion = "1.Producción"
        Case 2 : TmpNombreSeccion = "2.Mercadeo"
        Case 3 : TmpNombreSeccion = "3.Transporte"
        Case 4 : TmpNombreSeccion = "4.Administración"
    End Select
    Return TmpNombreSeccion
End Function

Public Function CalcNombreTipoSanguineo(ByVal TipSang As Short) As String
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:            Función de tipo texto o cadena que evalua el nombre del
    '               tipo sanguineo de acuerdo al parámetro numérico entrado.
    ' Parámetros:   TipSang.
    ' Retorna:            TmpNombreTipoSanguineo.
    ' Creado:       28/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpNombreTipoSanguineo As String
    TmpNombreTipoSanguineo = ""
Select Case TipSang
            Case 1 : TmpNombreTipoSanguineo
            Case 2 : TmpNombreTipoSanguineo
            Case 3 : TmpNombreTipoSanguineo
            Case 4 : TmpNombreTipoSanguineo
            Case 5 : TmpNombreTipoSanguineo
            Case 6 : TmpNombreTipoSanguineo
            Case 7 : TmpNombreTipoSanguineo
                                              =
                                              =
                                              =
                                              =
                                              =
                                              =
                                              =
                                                  "1.A+"
                                                  "1.A-"
                                                  "1.B+"
                                                  "1.B-"
                                                  "1.AB+"
                                                  "1.AB-"
                                                  "1.O+"
                                                            23
            Case 8 : TmpNombreTipoSanguineo   =   "1.O-"
        End Select
        Return TmpNombreTipoSanguineo
    End Function
End Class
Clase Prima
Public Class Prima
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Título:             Clase Prima
                                                                                                                              24
    ' Descripción:        Clase que contiene las funciones públicas para el cálculo de: subsidio de transporte (SubsTransp)
    '                 edad del empleado (Edad), prima de edad (PEdad), prima de alimentación (PAlim), prima de producción
    '                 (PProd), prima de consanguinidad (PConSang), prima pesada (PPes), y prima estotérica (PEsot).
    ' Autor:          Hector Enrique Guerrero Conde.
    ' URL:            http://recursosfisicamecanica.blogspot.com/
    ' Email:          heg_conde@yahoo.com
    ' Fecha creación: 26/10/2010
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Public Function CalcSubsTransp(ByVal SBMA As Single) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:             Función de tipo real que calcula el subsidio de transporte.
        ' Parámetros:    Salario básico mensual asignado (SBMA).
        ' Retorna:             TmpSubsTransp.
        ' Creado:        26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpSubsTransp As Single
        TmpSubsTransp = 0
        If (SBMA < (2 * SMLV)) Then
             'Si SBMA <= (2 × SMLV), entonces Subsidio de transporte = SBMA × 12.34%;
             'sino Subsidio de transporte = 0.
             TmpSubsTransp = SBMA * 0.1234
        End If
        Return TmpSubsTransp
    End Function

    Public Function CalcEdad(ByVal FechaNac As Date) As Integer
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:            Función de tipo entero que calcula la edad del empleado.
        ' Parámetros:   Fecha de nacimiento (FechaNac) como fecha hora por valor.
        ' Retorna:            TmpEdad.
        ' Creado:       26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpEdad As Integer
        Dim FechaActual As Date
        TmpEdad = 0
        FechaActual = Now 'Toma la fecha actual del sistema.
        'La función DateDiff devuelve un valor Long que especifica el número de
        'intervalos de tiempo entre dos valores Date.
        TmpEdad = DateDiff(DateInterval.Year, FechaActual, FechaNac)
TmpEdad = TmpEdad * (-1)
    Return TmpEdad
End Function

Public Function CalcPEdad(ByVal Edad As Short, ByVal SBMA As Single) As Single
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:
    ' Parámetros:
                          Función de tipo real que calcula la prima de edad.
                    Edad como entero corto por valor, salario básico mensual asignado (SBMA)
                                                                                                  25
    '               como real por valor.
    ' Retorna:            TmpEdad.
    ' Creado:       26/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpPEdad As Single
    TmpPEdad = 0
    If (Edad >= 18) And (Edad < 30) Then
        'Si edad >=18 y edad <30, entonces Prima de edad = SBMA × 1%.
        TmpPEdad = SBMA * 0.01
    ElseIf (Edad >= 30) And (Edad < 40) Then
        'Si edad >=30 y edad <40, entonces Prima de edad = SBMA × 1.5%.
        TmpPEdad = SBMA * 0.015
    ElseIf (Edad >= 40) And (Edad < 50) Then
        'Si edad >=40 y edad <50, entonces Prima de edad = SBMA × 2%.
        TmpPEdad = SBMA * 0.02
    ElseIf (Edad >= 50) And (Edad < 60) Then
        'Si edad >=50 y edad <60, entonces Prima de edad = SBMA × 2.5%.
        TmpPEdad = SBMA * 0.025
    ElseIf (Edad >= 60) Then
        'Si edad >=60, entonces Prima de edad = SBMA × 3%.
        TmpPEdad = SBMA * 0.03
    End If
    Return TmpPEdad
End Function

Public Function CalcPAlim(ByVal SBMA As Single) As Single
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:            Función de tipo real que calcula la prima de alimentación.
    ' Parámetros:   Salario básico mensual asignado (SBMA) como real por valor.
    ' Retorna:            TmpPAlim.
    ' Creado:       26/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpPAlim As Single
    TmpPAlim = 0
    If ((SBMA >= SMLV) And (SBMA < (2 * SMLV))) Then
        'Si SBMA >= (SMLV) y SBMA < (2 × SMLV), entonces Prima de alimentación = SBMA × 10.55%.
        TmpPAlim = SBMA * 0.1055
    ElseIf ((SBMA >= (2 * SMLV) And (SBMA < (4 * SMLV)))) Then
'Si SBMA >= (2 × SMLV) y   SBMA < (4 × SMLV), entonces Prima de alimentación = SBMA × 9.86%.
        TmpPAlim = SBMA * 0.0986
    ElseIf ((SBMA >= (4 * SMLV))
        'Si SBMA >= (4 × SMLV) y
        TmpPAlim = SBMA * 0.0615
    ElseIf ((SBMA >= (6 * SMLV))
        'Si SBMA >= (6 × SMLV) y
        TmpPAlim = SBMA * 0.0438
                                   And (SBMA < (6 * SMLV))) Then
                                   SBMA < (6 × SMLV), entonces Prima de alimentación = SBMA × 6.15%.

                                   And (SBMA < (8 * SMLV))) Then
                                   SBMA < (8 × SMLV), entonces Prima de alimentación = SBMA × 4.38%.
                                                                                                       26
    End If
    Return TmpPAlim
End Function

Public Function CalcPProd(ByVal Seccion As Short, ByVal SBMA As Single) As Single
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:            Función de tipo real que calcula la prima de producción.
    ' Parámetros:   Sección como entero corto por valor.
    '               Salario básico mensual asignado (SBMA) como real por valor.
    ' Retorna:            TmpPProd.
    ' Creado:       26/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpPProd As Single
    TmpPProd = 0
    If (Seccion = 1) Then
        'Se le asigna el 3.25% del SBMA a todo el personal de la sección de producción.
        TmpPProd = SBMA * 0.0325
    End If
    Return TmpPProd
End Function

Public Function CalcPConSang(ByVal TipSang As Short, ByVal SBMA As Single) As Single
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:            Función de tipo real que calcula la prima de consanguinidad.
    ' Parámetros:   Tipo sanguineo (TipSang) como entero corto por valor.
    '               Salario básico mensual asignado (SBMA) como real por valor.
    ' Retorna:            TmpPConSang.
    ' Creado:       26/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpPConSang As Single
    TmpPConSang = 0
    If (TipSang = 6) Or (TipSang = 3) Then
        'Si el tipo de sangre es AB- (6) o B+ (3) se le asigna el 2% del SBMA.
        TmpPConSang = SBMA * 0.02
    End If
    Return TmpPConSang
End Function
Public Function CalcPPes(ByVal Peso As Short, ByVal SBMA As Single) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:
        ' Parámetros:
        '
        ' Retorna:
        ' Creado:
                              Función de tipo real que calcula la prima pesada.
                        Peso como entero corto por valor.
                        Salario básico mensual asignado (SBMA) como real por valor.
                              TmpPPes.
                        26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                       27
        Dim TmpPPes As Single
        TmpPPes = 0
        If (Peso Mod 7 = 0) Or (Peso Mod 13 = 0) Then
            'Si el peso es un múltiplo de 7 o de 13 entonces se le asigna el 5% del SBMA
            TmpPPes = SBMA * 0.05
        End If
        Return TmpPPes
    End Function

    Public Function CalcPEsot(ByVal SigZod As Short, ByVal EstCiv As Short, ByVal TipSang As Short, ByVal Edad As Short, ByVal NHEDomF As Short, ByVal
TotHED As Short, ByVal TotHEN As Short, ByVal NumH As Short, ByVal SBMA As Single) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:            Función de tipo real que calcula la prima esoterica.
        ' Parámetros:   Signo zodiacal (SigZod) como entero corto por valor.
        '               Estado civil (EstCiv) como entero corto por valor.
        '               Tipo sanguineo (TipSang) como entero corto por valor.
        '               Edad como entero corto por valor.
        '               Número de horas extras dominicales y festivos (NHEDomF) como entero corto por valor.
        '               Total de horas extras dominicales (TotHED) como entero corto por valor.
        '               Total de horas extras nocturnas (TotHEN) como entero corto por valor.
        '               Número de hijos (NumH) como entero corto por valor.
        '               Salario básico mensual asignado (SBMA) como real por valor.
        ' Retorna:            TmpPEsot.
        ' Creado:       26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpPEsot As Single
        TmpPEsot = 0
        If (SigZod = 1) And (EstCiv = 1) Then
            'Si el empleado es del signo ARIES y el estado civil es SOLTERO se le asigna el 4.19% del SBMA.
            TmpPEsot = SBMA * 0.0419
        ElseIf (SigZod = 3) And ((EstCiv = 2) Or (EstCiv = 4)) Then
            'Si el empleado es del signo GEMINIS y el estado civil es CASADO o DIVORSIADO, se le asigna el 7.16% del SBMA.
            TmpPEsot = SBMA * 0.0716
        ElseIf (SigZod = 5) And ((EstCiv = 1) Or (EstCiv = 3)) And ((TipSang = 3) Or (TipSang = 2)) Then
            'Si el empleado es del signo LEO y el estado civil es SOLTERO o UNION LIBRE y su Tipo de Sangre es O+ o A-,
            'se le asigna el 9.39% del SBMA.
            TmpPEsot = SBMA * 0.0939
        ElseIf (SigZod = 7) And ((TipSang = 6) Or (TipSang = 3)) And ((Edad Mod 2 <> 0) And (Edad Mod 3 = 0)) Then
'Si el empleado es del signo LIBRA y el tipo sanguíneo es AB- o B+ y la edad es un número impar múltiplo de 3,
            'se le asigna el 9.37% del SBMA.
            TmpPEsot = SBMA * 0.0937
        ElseIf ((SigZod = 9) Or (SigZod = 8)) And (NHEDomF >= 12) Then
            'Si el empleado es del signo SAGITARIO o ESCORPION y el número de horas extras dominicales y festivos es >=12,
            'se le asigna el 5.10% del SBMA.
            TmpPEsot = SBMA * 0.051
        ElseIf ((SigZod = 12) Or (SigZod = 4)) And (TotHED >= TotHEN) And (NumH Mod 5 = 0) Then
                                                                                                                             28
            'Si el empleado es del signo PISCIS o CANCER y el Total extras diurnas es mayor que el Total extras nocturnas,
            'se le asigna el 5.82% del SBMA.
            TmpPEsot = SBMA * 0.0582
        End If
        Return TmpPEsot
    End Function

    Public Function CalcPManu(ByVal NumH As Short, ByVal SBMA As Single) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:            Función de tipo real que calcula la prima de manutención.
        ' Parámetros:   Número de hijos (NumH) como entero corto por valor.
        '               Salario básico mensual asignado (SBMA) como real por valor.
        ' Retorna:            TmpPManu.
        ' Creado:       27/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpPManu As Single
        TmpPManu = 0
        TmpPManu = (NumH * 0.025) * SBMA
        Return TmpPManu
    End Function
End Class
Clase Total
Public Class Total
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Título:             Clase Total
                                                                                                                         29
    ' Descripción:        Clase que contiene las funciones públicas para el cálculo de los totales de la nómina:
    '                 total horas extras diurnas (TotHED), total horas extras nocturnas (TotHEN), total horas
    '                 extras dominicales y festivos (THEDomF), total extras (TotExtras), total primas (TotPrimas),
    '                 total devengado (TotDevengado), total deducido (TotDeducido), neto a pagar (Neto).
    ' Autor:          Hector Enrique Guerrero Conde.
    ' URL:            http://recursosfisicamecanica.blogspot.com/
    ' Email:          heg_conde@yahoo.com
    ' Fecha creación: 26/10/2010
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Public Function CalcTotHED(ByVal VrHED As Single, ByVal NHED As Short) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:             Función de tipo real que calcula el total horas extras diurnas.
        ' Parámetros:    Valor hora extra diurna (VrHED) como real por valor.
        '                Número de horas extras diurnas (NHED) como entero corto por valor.
        ' Retorna:             TotHED.
        ' Creado:        26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpTotHED As Single
        TmpTotHED = 0
        TmpTotHED = VrHED * NHED
        Return TmpTotHED
    End Function

    Public Function CalcTotHEN(ByVal VrHEN As Single, ByVal NHEN As Short) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:             Función de tipo real que calcula el total horas extras nocturnas.
        ' Parámetros:   Valor hora extra nocturnas (VrHEN) como real por valor.
        '                Número de horas extras nocturnas (NHEN) como entero corto por valor.
        ' Retorna:             TotHEN.
        ' Creado:        26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpTotHEN As Single
        TmpTotHEN = 0
        TmpTotHEN = VrHEN * NHEN
        Return TmpTotHEN
    End Function

    Public Function CalcTHEDomF(ByVal VrHEDomF As Single, ByVal NHEDomF As Short) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' Resumen:            Función de tipo real que calcula el total horas extras dominicales y festivos.
    ' Parámetros:
    '
    ' Retorna:
    ' Creado:
                    Valor hora extra dominical y festivo (VrHEDomF) como real por valor.
                    Número de horas extras dominicales y festivos (NHEDomF) como entero corto por valor.
                          TotHEN.
                    26/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpTHEDomF As Single
    TmpTHEDomF = 0
                                                                                                                                   30
    TmpTHEDomF = VrHEDomF * NHEDomF
    Return TmpTHEDomF
End Function

Public Function CalcTotExtras(ByVal TotHED As Single, ByVal TotHEN As Single, ByVal THEDomF As Single) As Single
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:             Función de tipo real que calcula el total de horas.
    ' Parámetros:   Valor hora extra dominical y festivo (VrHEDomF) como real por valor.
    '                Total de horas extras diurnas (TotHED) como real por valor.
    '                Total de horas extras nocturnas (TotHEN) como real por valor.
    '                Total de horas extras dominicales y festivos (THEDomF) como real por valor.
    '                Número de horas extras dominicales y festivos (NHEDomF) como entero corto por valor.
    ' Retorna:             TmpTotExtras.
    ' Creado:        26/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpTotExtras As Single
    TmpTotExtras = 0
    TmpTotExtras = TotHED + TotHEN + THEDomF
    Return TmpTotExtras
End Function

Public Function CalcTotPrimas(ByVal PEdad As Single, ByVal PAlim As Single, ByVal PProd As Single, ByVal PManu As Single) As Single
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' Resumen:             Función de tipo real que calcula el total de primas.
    ' Parámetros:   Prima de edad (PEdad) como real por valor.
    '                Prima de alimentación (PAlim) como real por valor.
    '                Prima de producción (PProd) como real por valor.
    '                Prima de manutención (PManu) como real por valor.
    ' Retorna:             TmpTotPrimas.
    ' Creado:        26/10/2010.
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dim TmpTotPrimas As Single
    TmpTotPrimas = 0
    TmpTotPrimas = PEdad + PAlim + PProd + PManu
    Return TmpTotPrimas
End Function
Public Function CalcTotDevengado(ByVal SalDev As Single, ByVal TotPrimas As Single, ByVal SubsTransp As Single, ByVal TotExtras As Single) As Single
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' Resumen:            Función de tipo real que calcula el total devengado.
        ' Parámetros:
        '
        '
        '
        ' Retorna:
        ' Creado:
                        Salario devengado (SalDev) como real por valor.
                        Total primas (TotPrimas) como real por valor.
                        subsidio de transporte (SubsTtansp) como real por valor.
                        Total extras (TotExtras) como real por valor.
                              TmpTotDevengado.
                        26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                    31
        Dim TmpTotDevengado As Single
        TmpTotDevengado = 0
        TmpTotDevengado = SalDev + TotPrimas + SubsTransp + TotExtras
        Return TmpTotDevengado
    End Function

    Public Function CalcTotDeducido(ByVal Pension As Single, ByVal Salud As Single) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:            Función de tipo real que calcula el total deducido.
        ' Parámetros:   Pensión (Pension) como real por valor.
        '               Salud como real por valor.
        ' Retorna:            TmpTotDeducido.
        ' Creado:       26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpTotDeducido As Single
        TmpTotDeducido = 0
        TmpTotDeducido = Pension + Salud
        Return TmpTotDeducido
    End Function

    Public Function CalcNeto(ByVal TotDevengado As Single, ByVal TotDeducido As Single) As Single
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' Resumen:            Función de tipo real que calcula el neto a pagar.
        ' Parámetros:   Total devengado (TotDevengado) como real por valor.
        '               Total deducido (TotDeducido) como real por valor.
        ' Retorna:            TmpNeto.
        ' Creado:       26/10/2010.
        '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dim TmpNeto As Single
        TmpNeto = 0
        TmpNeto = TotDevengado + TotDeducido
        Return TmpNeto
    End Function

End Class

Más contenido relacionado

Más de Hector Conde

Modelos de casas para la parcela
Modelos de casas para la parcelaModelos de casas para la parcela
Modelos de casas para la parcelaHector Conde
 
Actividad uno: comparación de modelos.
Actividad uno: comparación de modelos.Actividad uno: comparación de modelos.
Actividad uno: comparación de modelos.Hector Conde
 
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) Colombia
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) ColombiaDiagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) Colombia
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) ColombiaHector Conde
 
Prototipo de archivo
Prototipo de archivoPrototipo de archivo
Prototipo de archivoHector Conde
 
La educación en la era digital by conde
La educación en la era digital by condeLa educación en la era digital by conde
La educación en la era digital by condeHector Conde
 
TIC en el Diseño, Desarrollo y Gerencia del Currículo
TIC en el Diseño, Desarrollo y Gerencia del CurrículoTIC en el Diseño, Desarrollo y Gerencia del Currículo
TIC en el Diseño, Desarrollo y Gerencia del CurrículoHector Conde
 
Conectar bd mineria de datos
Conectar bd mineria de datosConectar bd mineria de datos
Conectar bd mineria de datosHector Conde
 

Más de Hector Conde (9)

Modelos de casas para la parcela
Modelos de casas para la parcelaModelos de casas para la parcela
Modelos de casas para la parcela
 
Actividad uno: comparación de modelos.
Actividad uno: comparación de modelos.Actividad uno: comparación de modelos.
Actividad uno: comparación de modelos.
 
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) Colombia
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) ColombiaDiagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) Colombia
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) Colombia
 
Prototipo de archivo
Prototipo de archivoPrototipo de archivo
Prototipo de archivo
 
Diplomado web 2.0
Diplomado web 2.0Diplomado web 2.0
Diplomado web 2.0
 
La educación en la era digital by conde
La educación en la era digital by condeLa educación en la era digital by conde
La educación en la era digital by conde
 
TIC en el Diseño, Desarrollo y Gerencia del Currículo
TIC en el Diseño, Desarrollo y Gerencia del CurrículoTIC en el Diseño, Desarrollo y Gerencia del Currículo
TIC en el Diseño, Desarrollo y Gerencia del Currículo
 
Vamos a reciclar
Vamos a reciclarVamos a reciclar
Vamos a reciclar
 
Conectar bd mineria de datos
Conectar bd mineria de datosConectar bd mineria de datos
Conectar bd mineria de datos
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 

Último (16)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 

Definición de constantes y clase base para nomina

  • 1. Módulo de definción de constantes globales Module Globales 'Definición de una constate global para el salario mínimo legal vigente SMLV. Public Const SMLV = 580000 1 End Module Clase Basica Public Class Basica 'Definición de variables 'Variables cuyo contenido se leera en la clase Nomina Private Cedula, Nombres, Apellidos As String Private FechaNac As Date Private DptoNac, SigZod, EstCiv, NumH, Seccion, DiasT, NHED, NHEN, NHEDomF, Edad, TipSang As Short Private SBMA, Peso As Single 'Variables privadas que derivarán su contenido con las funciones de la clase Calculo. Private VrDia, VrHT, VrHED, VrHEN, VrHEDom, SalDev As Single 'Variables privadas que derivarán su contenido con las funciones de la clase Prestaciones. Private Pension, Salud As Single 'Variables de la clase Prima. Private PEdad, PAlim, PProd, PConSang, PPesada, PEsot, PRDF, PManu, SubsTransp As Single 'Variables privadas que derivarán su contenido con las funciones de la clase Total. Private TotHED, TotHEN, THEDomF, TotExtras, TotPrimas, TotDeducido, TotDevengado, Neto As Single 'Variables tipo contador para el control del ciclo del programa en la clase FrmNomina. Public i, Cantidad As Byte Public Property ControlCedula() As String 'Propiedad pública para la entrada y salida de información de la variable privada Cedula. Get Return Cedula End Get Set(ByVal value As String) Cedula = value End Set End Property Public Property ControlNombres() As String 'Propiedad pública para la entrada y salida de información de la variable privada Nombres. Get Return Nombres End Get
  • 2. Set(ByVal value As String) Nombres = value End Set End Property Public Property ControlApellidos() As String 'Propiedad pública para la entrada y salida de información de la variable privada Apellidos. Get Return Apellidos 2 End Get Set(ByVal value As String) Apellidos = value End Set End Property Public Property ControlDptoNac() As Short 'Propiedad pública para la entrada y salida de información de la variable privada DptoNac que 'maneja los datos referentes al departamento de nacimiento. Get Return DptoNac End Get Set(ByVal value As Short) DptoNac = value End Set End Property Public Property ControlSigZod() As Short 'Propiedad pública para la entrada y salida de información de la variable privada SigZod que 'maneja los datos referentes al signo zodiacal. Get Return SigZod End Get Set(ByVal value As Short) SigZod = value End Set End Property Public Property ControlEstCiv() As Short 'Propiedad pública para la entrada y salida de información de la variable privada EstCiv que 'maneja los datos referentes al estado civil. Get Return EstCiv End Get Set(ByVal value As Short) EstCiv = value End Set End Property
  • 3. Public Property ControlNumH() As Short 'Propiedad pública para la entrada y salida de información de la 'maneja los datos referentes al número de hijos. Get Return NumH End Get Set(ByVal value As Short) NumH = value variable privada NumH que 3 End Set End Property Public Property ControlSeccion() As Short 'Propiedad pública para la entrada y salida de información de la variable privada Seccion que 'maneja los datos referentes a la sección de trabajo. Get Return Seccion End Get Set(ByVal value As Short) Seccion = value End Set End Property Public Property ControlSBMA() As Single 'Propiedad pública para la entrada y salida de información de la variable privada SBMA que 'maneja los datos referentes al salario básico mensual asignado. Get Return SBMA End Get Set(ByVal value As Single) SBMA = value End Set End Property Public Property ControlDiasT() As Short 'Propiedad pública para la entrada y salida de información de la variable privada DiasT que 'maneja los datos referentes a los días trabajados. Get Return DiasT End Get Set(ByVal value As Short) DiasT = value End Set End Property Public Property ControlNHED() As Short 'Propiedad pública para la entrada y salida de información de la variable privada NHED que 'maneja los datos referentes al número de horas extras diurnas. Get Return NHED End Get
  • 4. Set(ByVal value As Short) NHED = value End Set End Property Public Property ControlNHEN() As Short 'Propiedad pública para la entrada y salida de información de la variable privada NHEN que 'maneja los datos referentes al número de horas extras nocturnas. Get 4 Return NHEN End Get Set(ByVal value As Short) NHEN = value End Set End Property Public Property ControlNHEDomF() As Short 'Propiedad pública para la entrada y salida de información de la variable privada NHEDom que 'maneja los datos referentes al número de horas extras dominicales y festivos. Get Return NHEDomF End Get Set(ByVal value As Short) NHEDomF = value End Set End Property Public Property ControlTipSang() As Short 'Propiedad pública para la entrada y salida de información de la variable privada TipSang que 'maneja los datos referentes al tipo sanguineo del empleado. Get Return TipSang End Get Set(ByVal value As Short) TipSang = value End Set End Property Public Property ControlPeso() As Single 'Propiedad pública para la entrada y salida de información de la variable privada Peso que 'maneja los datos referentes al peso del empleado. Get Return Peso End Get Set(ByVal value As Single) Peso = value End Set End Property
  • 5. Public Property ControlFechaNac() As Date 'Propiedad pública para la entrada y salida de información 'maneja los datos referentes a la fecha de nacimiento. Get Return FechaNac End Get Set(ByVal value As Date) de la variable privada FechaNac que 5 FechaNac = value End Set End Property Public Property ControlEdad() As Short 'Propiedad pública para la entrada y salida de información de la variable privada Edad que 'maneja los datos referentes a la edad del empleado. Get Return Edad End Get Set(ByVal value As Short) Edad = value End Set End Property Public Property ControlVrDia() As Single 'Propiedad pública para la entrada y salida de información de la variable privada VrDia que 'maneja los datos referentes al valor del día. Get Return VrDia End Get Set(ByVal value As Single) VrDia = value End Set End Property Public Property ControlVrHT() As Single 'Propiedad pública para la entrada y salida de información de la variable privada VrHT que 'maneja los datos referentes al valor hora de trabajo. Get Return VrHT End Get Set(ByVal value As Single) VrHT = value End Set End Property Public Property ControlVrHED() As Single 'Propiedad pública para la entrada y salida de información de la variable privada VrHED que 'maneja los datos referentes al valor hora extra diurna. Get Return VrHED
  • 6. End Get Set(ByVal value As Single) VrHED = value End Set End Property Public Property ControlVrHEN() As Single 'Propiedad pública para la entrada y salida de información de la variable privada VrHED que 6 'maneja los datos referentes al valor hora extra diurna. Get Return VrHEN End Get Set(ByVal value As Single) VrHEN = value End Set End Property Public Property ControlVrHEDom() As Single 'Propiedad pública para la entrada y salida de información de la variable privada VrHEDom que 'maneja los datos referentes al valor hora extra dominical y festivo. Get Return VrHEDom End Get Set(ByVal value As Single) VrHEDom = value End Set End Property Public Property ControlSalDev() As Single 'Propiedad pública para la entrada y salida de información de la variable privada SalDev que 'maneja los datos referentes al salario devengado. Get Return SalDev End Get Set(ByVal value As Single) SalDev = value End Set End Property Public Property ControlPension() As Single 'Propiedad pública para la entrada y salida de información de la variable privada Pension que 'maneja los datos referentes a la pensión. Get Return Pension End Get Set(ByVal value As Single) Pension = value End Set
  • 7. End Property Public Property ControlSalud() As Single 'Propiedad pública para la entrada y salida de información 'maneja los datos referentes a la salud. Get Return Salud End Get Set(ByVal value As Single) de la variable privada Salud que 7 Salud = value End Set End Property Public Property ControlPEdad() As Single 'Propiedad pública para la entrada y salida de información de la variable privada PEdad que 'maneja los datos referentes a la prima de edad. Get Return PEdad End Get Set(ByVal value As Single) PEdad = value End Set End Property Public Property ControlPAlim() As Single 'Propiedad pública para la entrada y salida de información de la variable privada PAlim que 'maneja los datos referentes a la prima de alimentación. Get Return PAlim End Get Set(ByVal value As Single) PAlim = value End Set End Property Public Property ControlPProd() As Single 'Propiedad pública para la entrada y salida de información de la variable privada PProd que 'maneja los datos referentes a la prima de producción. Get Return PProd End Get Set(ByVal value As Single) PProd = value End Set End Property Public Property ControlPConSang() As Single 'Propiedad pública para la entrada y salida de información de la variable privada PConSang que 'maneja los datos referentes a la prima de consanguinidad. Get
  • 8. Return PConSang End Get Set(ByVal value As Single) PConSang = value End Set End Property Public Property ControlPPesada() As Single 'Propiedad pública para la entrada y salida de información de la variable privada PPesada que 8 'maneja los datos referentes a la prima pesada. Get Return PPesada End Get Set(ByVal value As Single) PPesada = value End Set End Property Public Property ControlPEsot() As Single 'Propiedad pública para la entrada y salida de información de la variable privada PEsot que 'maneja los datos referentes a la prima esotérica. Get Return PEsot End Get Set(ByVal value As Single) PEsot = value End Set End Property Public Property ControlPRDF() As Single 'Propiedad pública para la entrada y salida de información de la variable privada PRDF que 'maneja los datos referentes a la prima repleta de felicidad. Get Return PRDF End Get Set(ByVal value As Single) PRDF = value End Set End Property Public Property ControlPManu() As Single 'Propiedad pública para la entrada y salida de información de la variable privada PManu que 'maneja los datos referentes a la prima de manutención. Get Return PManu End Get Set(ByVal value As Single) PManu = value
  • 9. End Set End Property Public Property ControlSubsTransp() As Single 'Propiedad pública para la entrada y salida de información de la variable privada SubsTransp que 'maneja los datos referentes al subsidio de transporte. Get Return SubsTransp End Get 9 Set(ByVal value As Single) SubsTransp = value End Set End Property Public Property ControlTotHED() As Single 'Propiedad pública para la entrada y salida de información de la variable privada TotHED que 'maneja los datos referentes al total horas extras diurnas. Get Return TotHED End Get Set(ByVal value As Single) TotHED = value End Set End Property Public Property ControlTotHEN() As Single 'Propiedad pública para la entrada y salida de información de la variable privada TotHEN que 'maneja los datos referentes al total horas extras nocturnas. Get Return TotHEN End Get Set(ByVal value As Single) TotHEN = value End Set End Property Public Property ControlTHEDomF() As Single 'Propiedad pública para la entrada y salida de información de la variable privada TotHEDom que 'maneja los datos referentes al total horas extras dominicales y festivos. Get Return THEDomF End Get Set(ByVal value As Single) THEDomF = value End Set End Property Public Property ControlTotExtras() As Single 'Propiedad pública para la entrada y salida de información de la variable privada TotExtras que
  • 10. 'maneja los datos referentes al total horas extras. Get Return TotExtras End Get Set(ByVal value As Single) TotExtras = value End Set End Property 10 Public Property ControlTotPrimas() As Single 'Propiedad pública para la entrada y salida de información de la variable privada TotPrimas que 'maneja los datos referentes al total de las primas (sumatoria de todas éstas). Get Return TotPrimas End Get Set(ByVal value As Single) TotPrimas = value End Set End Property Public Property ControlTotDeducido() As Single 'Propiedad pública para la entrada y salida de información de la variable privada TotDeducido que 'maneja los datos referentes al total deducido. Get Return TotDeducido End Get Set(ByVal value As Single) TotDeducido = value End Set End Property Public Property ControlTotDevengado() As Single 'Propiedad pública para la entrada y salida de información de la variable privada TotDeducido que 'maneja los datos referentes al total devengado. Get Return TotDevengado End Get Set(ByVal value As Single) TotDevengado = value End Set End Property Public Property ControlNeto() As Single 'Propiedad pública para la entrada y salida de información de la variable privada TotDeducido que 'maneja los datos referentes al neto. Get Return Neto End Get Set(ByVal value As Single) Neto = value
  • 11. End Set End Property End Class 11
  • 12. Clase Calculo Public Class Calculo '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Título: Clase Calculo 12 ' Descripción: Clase que contiene las funciones públicas para el cálculo de: valor día (VrDia), ' valor hora de trabajo (VrHT), valor hora extra diurna (VrHED), valor hora extra ' nocturna (VrHEN), valor hora extra dominical (VrHEDom), y salario devengado (SalDev). ' Autor: Hector Enrique Guerrero Conde. ' URL: http://recursosfisicamecanica.blogspot.com/ ' Email: heg_conde@yahoo.com ' Fecha creación: 26/10/2010 '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Public Function CalcVrdia(ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el valor del día. ' Parámetros: Salario básico mensual asignado (SBMA) por valor. ' Retorna: TmpVrDia. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 'Declaraciones locales Dim TmpVrDia As Single TmpVrDia = 0 TmpVrDia = SBMA / 30 'CalcVrdia = VrDia Return TmpVrDia End Function Public Function CalcVrHT(ByVal VrDia As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el valor de la hora de trabajo. ' Parámetros: Valor día (VrDia) por valor. ' Retorna: TmpVrHT. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpVrHT As Single TmpVrHT = 0 TmpVrHT = VrDia / 8 Return TmpVrHT End Function Public Function CalcVrHED(ByVal VrHT As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el valor de la hora extra diurna.
  • 13. ' Parámetros: Valor hora de trabajo (VrHT) por valor. ' Retorna: ' Creado: '- - - - - - - Dim TmpVHED As TmpVHED = 0 TmpVHED = VrHT Return TmpVHED TmpVrHED. 26/10/2010. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Single + (VrHT * 0.5) 13 End Function Public Function CalcVrHEN(ByVal VrHT As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el valor de la hora extra nocturna. ' Parámetros: Valor hora de trabajo (VrHT) por valor. ' Retorna: TmpVrHEN. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpVHEN As Single TmpVHEN = 0 TmpVHEN = VrHT + (VrHT * 0.75) Return TmpVHEN End Function Public Function CalcVrHEDom(ByVal VrHT As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el valor de la hora extra dominical y festivo. ' Parámetros: Valor hora de trabajo (VrHT) por valor. ' Retorna: TmpVrHEDomF. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpVHEDomF As Single TmpVHEDomF = 0 TmpVHEDomF = VrHT + (VrHT * 0.95) Return TmpVHEDomF End Function Public Function CalcSalDev(ByVal VrDia As Single, ByVal DiasT As Short) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el salario devengado. ' Parámetros: Valor día (VrDia) por valor y días trabajados (DiasT) por valor. ' Retorna: TmpSalDev. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpSalDev As Single TmpSalDev = 0 TmpSalDev = VrDia * DiasT
  • 14. Return TmpSalDev End Function End Class 14
  • 15. Clase Descuento Public Class Descuento '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Título: Clase Descuento 15 ' Descripción: Clase que contiene las funciones públicas para el cálculo de las prestaciones ' sociales: pensión (CalcPension) y salud (CalcSalud). ' Autor: Hector Enrique Guerrero Conde. ' URL: http://recursosfisicamecanica.blogspot.com/ ' Email: heg_conde@yahoo.com ' Fecha creación: 26/10/2010 '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Public Function CalcPension(ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el valor de la pensión. ' Parámetros: Salario básico mensual asignado (SBMA) por valor. ' Utiliza la constante global SMLV (Salario Minimo Legal Vigente), definida en ' el módulo Globales.vb ' Retorna: TmpPension. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpPension As Single TmpPension = 0 If ((SBMA >= SMLV) And (SBMA < (2 * SMLV))) Then 'Si SBMA >= (SMLV) y SBMA < (2 × SMLV), entonces Pensión = SBMA × 2.58%. TmpPension = SBMA * 0.0258 ElseIf ((SBMA >= (2 * SMLV) And (SBMA < (4 * SMLV)))) Then 'Si SBMA >= (2 × SMLV) y SBMA < (4 × SMLV), entonces Pensión = SBMA × 3.58%. TmpPension = SBMA * 0.0358 ElseIf ((SBMA >= (4 * SMLV)) And (SBMA < (6 * SMLV))) Then 'Si SBMA >= (4 × SMLV) y SBMA < (6 × SMLV), entonces Pensión = SBMA × 4.58%. TmpPension = SBMA * 0.0458 ElseIf ((SBMA >= (6 * SMLV)) And (SBMA < (8 * SMLV))) Then 'Si SBMA >= (6 × SMLV) y SBMA < (8 × SMLV), entonces Pensión = SBMA × 5.58%. TmpPension = SBMA * 0.0558 ElseIf ((SBMA >= (8 * SMLV)) And (SBMA < (10 * SMLV))) Then 'Si SBMA >= (8 × SMLV) y SBMA < (10 × SMLV), entonces Pensión = SBMA × 6.58%. TmpPension = SBMA * 0.0658 ElseIf ((SBMA >= (10 * SMLV)) And (SBMA < (12 * SMLV))) Then 'Si SBMA >= (10 × SMLV) y SBMA < (12 × SMLV), entonces Pensión = SBMA × 7.58%. TmpPension = SBMA * 0.0758 ElseIf (SBMA >= (12 * SMLV)) Then 'Si SBMA >= (12 × SMLV) entonces Pensión = SBMA × 8.58%. TmpPension = SBMA * 0.0858
  • 16. End If Return TmpPension End Function Public Function CalcSalud(ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: ' Parámetros: Función de tipo real que calcula el valor de la salud. Salario básico mensual asignado (SBMA) por valor. 16 ' Utiliza la constante global SMLV Salario Minimo Legal Vigente, definida en ' el módulo Globales.vb ' Retorna: TmpSalud. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpSalud As Single TmpSalud = 0 If ((SBMA >= SMLV) And (SBMA < (2 * SMLV))) Then 'Si SBMA >= (SMLV) y SBMA < (2 × SMLV), entonces Salud = SBMA × 3.14%. TmpSalud = SBMA * 0.0314 ElseIf ((SBMA >= (2 * SMLV) And (SBMA < (4 * SMLV)))) Then 'Si SBMA >= (2 × SMLV) y SBMA < (4 × SMLV), entonces Salud = SBMA × 1.59%. TmpSalud = SBMA * 0.0159 ElseIf ((SBMA >= (4 * SMLV)) And (SBMA < (6 * SMLV))) Then 'Si SBMA >= (4 × SMLV) y SBMA < (6 × SMLV), entonces Salud = SBMA × 2.65%. TmpSalud = SBMA * 0.0265 ElseIf ((SBMA >= (6 * SMLV)) And (SBMA < (8 * SMLV))) Then 'Si SBMA >= (6 × SMLV) y SBMA < (8 × SMLV), entonces Salud = SBMA × 3.58%. TmpSalud = SBMA * 0.0358 ElseIf ((SBMA >= (8 * SMLV)) And (SBMA < (10 * SMLV))) Then 'Si SBMA >= (8 × SMLV) y SBMA < (10 × SMLV), entonces Salud = SBMA × 9.79%. TmpSalud = SBMA * 0.0979 ElseIf ((SBMA >= (10 * SMLV)) And (SBMA < (12 * SMLV))) Then 'Si SBMA >= (10 × SMLV) y SBMA < (12 × SMLV), entonces Salud = SBMA × 3.23%. TmpSalud = SBMA * 0.0323 ElseIf (SBMA >= (12 * SMLV)) Then 'Si SBMA >= (12 × SMLV) entonces Salud = SBMA × 8.46%. TmpSalud = SBMA * 0.0846 End If Return TmpSalud End Function End Class
  • 17. Clase Filtro Public Class Filtro '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Título: Clase Filtro 17 ' Descripción: Clase que contiene las funciones públicas para la validación de la entrada ' de información a las diferentes variables del programa ' Autor: Hector Enrique Guerrero Conde. ' URL: http://recursosfisicamecanica.blogspot.com/ ' Email: heg_conde@yahoo.com ' Fecha creación: 09/09/2008 '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Public Function LeeNumeroReal(ByVal Msj As String, ByVal LimInf As Double, ByVal LimSup As Double) As Double '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real para leer solo números reales. ' Despliega un mensaje pasado por parámetro por valor a ' través de la variable Msj y filtra el dato entrado en ' un rango determinado mayor o igual al límite inferior ' (LimInf) y menor o igual al límite superior (LimSup). ' En caso de detectar valores no numéricos despliega un ' mensaje de error. ' Parámetros: Msj, Liminf, LimSup por valor. ' Retorna: Numero. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Declaración de variables locales. Dim Bandera As Boolean Dim Numero As Double Dim TmpNumero As String Bandera = True ' La bandera se vuelve verdadera. Do ' Este ciclo se repite hasta que la bandera pase a ser falsa ' Se lee el dato como una cadena de caracteres. TmpNumero = InputBox(Msj) If Not IsNumeric(TmpNumero) Then ' Si el dato entrado no es un número. MsgBox("!Error, solo debe ingresar números!") Else ' En caso de que el dato entrado sea un número ' se asigna dicho valor a la variable Numero ' transformandolo a double con la función CDbl(). Numero = CDbl(TmpNumero) ' Una vez cambiado a formato double se procede ' a verificar que éste en el rango especificado. If (Numero < LimInf) Or (Numero > LimSup) Then ' Si el número entrado es menor que el límite inferior
  • 18. ' o mayor que el límite superior pasados por parámetro ' entonces despliega un mensaje de error. MsgBox("!Error!, dato fuera de rango") Else ' Si no ' En caso de encontrarse en el rango correcto, entonces ' la bandera se vuelve falsa. Bandera = False End If ' Fin de la sentencia condicional. 18 End If Loop Until (Bandera = False) ' Fin del ciclo. Return Numero ' Retorna el número leido. End Function ' Fin LeeNumeroReal. Public Function LeeNumeroEntero(ByVal Msj As String, ByVal LimInf As Double, ByVal LimSup As Double) As Integer '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real para leer solo números enteros. ' Despliega un mensaje pasado por parámetro por valor a ' través de la variable Msj y filtra el dato entrado en ' un rango determinado mayor o igual al límite inferior ' (LimInf) y menor o igual al límite superior (LimSup). ' En caso de detectar valores no numéricos despliega un ' mensaje de error. ' Parámetros: Msj, Liminf, LimSup por valor. ' Retorna: Numero. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 'Declaración de variables locales. Dim Bandera As Boolean Dim Numero As Integer Dim TmpNumero As String Bandera = True ' La bandera se vuelve verdadera Do ' Este ciclo se repite hasta que la bandera pase a ser falsa ' Se lee el dato como una cadena de caracteres. TmpNumero = InputBox(Msj) If Not IsNumeric(TmpNumero) Then ' Si el dato entrado no es un número. MsgBox("!Error, solo debe ingresar números!") Else ' En caso de que el dato entrado sea un número ' se asigna dicho valor a la variable Numero ' transformandolo a entero con la función CInt(). Numero = CInt(TmpNumero) ' Una vez cambiado a formato double se procede ' a verificar que este en el rango especificado. If (Numero < LimInf) Or (Numero > LimSup) Then ' Si el número entrado es menor que el límite inferior ' o mayor que el límite superior pasados por parámetro
  • 19. ' entonces despliega un mensaje de error. MsgBox("!Error!, dato fuera de rango") Else ' Si no ' En caso de encontrarse en el rango correcto, ' la bandera se vuelve falsa. Bandera = False End If ' Fin de la sentencia condicional. End If 19 Loop Until (Bandera = False) ' Fin del ciclo. Return Numero ' Retorna el número leido. End Function ' Fin LeeNumeroEntero. End Class
  • 20. Clase Lista Public Class Lista '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Título: Clase Lista 20 ' Descripción: Clase que contiene las funciones públicas para la impresión de los nombres de las listas de: ' departamento geográfico, signo zodiacal, estado civil, sección y tipo sanguineo. ' Autor: Hector Enrique Guerrero Conde. ' URL: http://recursosfisicamecanica.blogspot.com/ ' Email: heg_conde@yahoo.com ' Fecha creación: 28/10/2010 '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Public Function CalcNombreDepartamento(ByVal DptoNac As Short) As String '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo texto o cadena que evalua el nombre del ' departamento de acuerdo al parámetro entrado. ' Parámetros: DptoNac. ' Retorna: TmpNombreDpto. ' Creado: 28/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpNombreDpto As String TmpNombreDpto = "" Select Case DptoNac Case 1 : TmpNombreDpto = "1.Amazonas" Case 2 : TmpNombreDpto = "2.Antioquia" Case 3 : TmpNombreDpto = "3.Arauca" Case 4 : TmpNombreDpto = "4.Atlántico" Case 5 : TmpNombreDpto = "5.Bolívar" Case 6 : TmpNombreDpto = "6.Boyacá" Case 7 : TmpNombreDpto = "7.Caldas" Case 8 : TmpNombreDpto = "8.Caquetá" Case 9 : TmpNombreDpto = "9.Casanare" Case 10 : TmpNombreDpto = "10.Cauca" Case 11 : TmpNombreDpto = "11.Cesar" Case 12 : TmpNombreDpto = "12.Chocó" Case 13 : TmpNombreDpto = "13.Córdoba" Case 14 : TmpNombreDpto = "14.Cundinamarca" Case 15 : TmpNombreDpto = "15.Guainía" Case 16 : TmpNombreDpto = "16.Guaviare" Case 17 : TmpNombreDpto = "17.Huila" Case 18 : TmpNombreDpto = "18.La Guajira" Case 19 : TmpNombreDpto = "19.Magdalena" Case 20 : TmpNombreDpto = "20.Meta" Case 21 : TmpNombreDpto = "21.Nariño"
  • 21. Case 22 : TmpNombreDpto = "22.Norte de Santander" Case 23 : TmpNombreDpto Case 24 : TmpNombreDpto Case 25 : TmpNombreDpto Case 26 : TmpNombreDpto Case 27 : TmpNombreDpto Case 28 : TmpNombreDpto Case 29 : TmpNombreDpto = = = = = = = "23.Putumayo" "24.Quindio" "25.Risaralda" "26.San Andrés y Providencia" "27.Santander" "28.Sucre" "29.Tolima" 21 Case 30 : TmpNombreDpto = "30.Valle del Cauca" Case 31 : TmpNombreDpto = "31.Vaupés" Case 32 : TmpNombreDpto = "32.Vichada" End Select Return TmpNombreDpto End Function Public Function CalcNombreSignoZodiacal(ByVal SigZod As Short) As String '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo texto o cadena que evalua el nombre del ' signo zodiacal de acuerdo al parámetro entrado. ' Parámetros: SigZod. ' Retorna: TmpNombreSignoZod. ' Creado: 28/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpNombreSignoZod As String TmpNombreSignoZod = "" Select Case SigZod Case 1 : TmpNombreSignoZod = "1.Aries" Case 2 : TmpNombreSignoZod = "2.Tauro" Case 3 : TmpNombreSignoZod = "3.Géminis" Case 4 : TmpNombreSignoZod = "4.Cancer" Case 5 : TmpNombreSignoZod = "5.Leo" Case 6 : TmpNombreSignoZod = "6.Virgo" Case 7 : TmpNombreSignoZod = "7.Libra" Case 8 : TmpNombreSignoZod = "8.Escorpión" Case 9 : TmpNombreSignoZod = "9.Sagitario" Case 10 : TmpNombreSignoZod = "10.Capricornio" Case 11 : TmpNombreSignoZod = "11.Acuario" Case 12 : TmpNombreSignoZod = "12.Piscis" End Select Return TmpNombreSignoZod End Function Public Function CalcNombreEstadoCivil(ByVal EstCiv As Short) As String '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo texto o cadena que evalua el nombre del ' estado civil de acuerdo al parámetro numérico entrado.
  • 22. ' Parámetros: EstCiv. ' Retorna: ' Creado: TmpNombreEstCiv. 28/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpNombreEstCiv As String TmpNombreEstCiv = "" Select Case EstCiv Case 1 : TmpNombreEstCiv = "1.Soltero(a)" 22 Case 2 : TmpNombreEstCiv = "2.Casado(a)" Case 3 : TmpNombreEstCiv = "3.Unión libre" Case 4 : TmpNombreEstCiv = "4.Divorciado(a)" Case 5 : TmpNombreEstCiv = "5.Viudo(a)" Case 6 : TmpNombreEstCiv = "6.Religioso(a)" End Select Return TmpNombreEstCiv End Function Public Function CalcNombreSeccion(ByVal Seccion As Short) As String '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo texto o cadena que evalua el nombre de la ' sección de trabajo de acuerdo al parámetro numérico entrado. ' Parámetros: Seccion. ' Retorna: TmpNombreSeccion. ' Creado: 28/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpNombreSeccion As String TmpNombreSeccion = "" Select Case Seccion Case 1 : TmpNombreSeccion = "1.Producción" Case 2 : TmpNombreSeccion = "2.Mercadeo" Case 3 : TmpNombreSeccion = "3.Transporte" Case 4 : TmpNombreSeccion = "4.Administración" End Select Return TmpNombreSeccion End Function Public Function CalcNombreTipoSanguineo(ByVal TipSang As Short) As String '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo texto o cadena que evalua el nombre del ' tipo sanguineo de acuerdo al parámetro numérico entrado. ' Parámetros: TipSang. ' Retorna: TmpNombreTipoSanguineo. ' Creado: 28/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpNombreTipoSanguineo As String TmpNombreTipoSanguineo = ""
  • 23. Select Case TipSang Case 1 : TmpNombreTipoSanguineo Case 2 : TmpNombreTipoSanguineo Case 3 : TmpNombreTipoSanguineo Case 4 : TmpNombreTipoSanguineo Case 5 : TmpNombreTipoSanguineo Case 6 : TmpNombreTipoSanguineo Case 7 : TmpNombreTipoSanguineo = = = = = = = "1.A+" "1.A-" "1.B+" "1.B-" "1.AB+" "1.AB-" "1.O+" 23 Case 8 : TmpNombreTipoSanguineo = "1.O-" End Select Return TmpNombreTipoSanguineo End Function End Class
  • 24. Clase Prima Public Class Prima '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Título: Clase Prima 24 ' Descripción: Clase que contiene las funciones públicas para el cálculo de: subsidio de transporte (SubsTransp) ' edad del empleado (Edad), prima de edad (PEdad), prima de alimentación (PAlim), prima de producción ' (PProd), prima de consanguinidad (PConSang), prima pesada (PPes), y prima estotérica (PEsot). ' Autor: Hector Enrique Guerrero Conde. ' URL: http://recursosfisicamecanica.blogspot.com/ ' Email: heg_conde@yahoo.com ' Fecha creación: 26/10/2010 '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Public Function CalcSubsTransp(ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el subsidio de transporte. ' Parámetros: Salario básico mensual asignado (SBMA). ' Retorna: TmpSubsTransp. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpSubsTransp As Single TmpSubsTransp = 0 If (SBMA < (2 * SMLV)) Then 'Si SBMA <= (2 × SMLV), entonces Subsidio de transporte = SBMA × 12.34%; 'sino Subsidio de transporte = 0. TmpSubsTransp = SBMA * 0.1234 End If Return TmpSubsTransp End Function Public Function CalcEdad(ByVal FechaNac As Date) As Integer '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo entero que calcula la edad del empleado. ' Parámetros: Fecha de nacimiento (FechaNac) como fecha hora por valor. ' Retorna: TmpEdad. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpEdad As Integer Dim FechaActual As Date TmpEdad = 0 FechaActual = Now 'Toma la fecha actual del sistema. 'La función DateDiff devuelve un valor Long que especifica el número de 'intervalos de tiempo entre dos valores Date. TmpEdad = DateDiff(DateInterval.Year, FechaActual, FechaNac)
  • 25. TmpEdad = TmpEdad * (-1) Return TmpEdad End Function Public Function CalcPEdad(ByVal Edad As Short, ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: ' Parámetros: Función de tipo real que calcula la prima de edad. Edad como entero corto por valor, salario básico mensual asignado (SBMA) 25 ' como real por valor. ' Retorna: TmpEdad. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpPEdad As Single TmpPEdad = 0 If (Edad >= 18) And (Edad < 30) Then 'Si edad >=18 y edad <30, entonces Prima de edad = SBMA × 1%. TmpPEdad = SBMA * 0.01 ElseIf (Edad >= 30) And (Edad < 40) Then 'Si edad >=30 y edad <40, entonces Prima de edad = SBMA × 1.5%. TmpPEdad = SBMA * 0.015 ElseIf (Edad >= 40) And (Edad < 50) Then 'Si edad >=40 y edad <50, entonces Prima de edad = SBMA × 2%. TmpPEdad = SBMA * 0.02 ElseIf (Edad >= 50) And (Edad < 60) Then 'Si edad >=50 y edad <60, entonces Prima de edad = SBMA × 2.5%. TmpPEdad = SBMA * 0.025 ElseIf (Edad >= 60) Then 'Si edad >=60, entonces Prima de edad = SBMA × 3%. TmpPEdad = SBMA * 0.03 End If Return TmpPEdad End Function Public Function CalcPAlim(ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula la prima de alimentación. ' Parámetros: Salario básico mensual asignado (SBMA) como real por valor. ' Retorna: TmpPAlim. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpPAlim As Single TmpPAlim = 0 If ((SBMA >= SMLV) And (SBMA < (2 * SMLV))) Then 'Si SBMA >= (SMLV) y SBMA < (2 × SMLV), entonces Prima de alimentación = SBMA × 10.55%. TmpPAlim = SBMA * 0.1055 ElseIf ((SBMA >= (2 * SMLV) And (SBMA < (4 * SMLV)))) Then
  • 26. 'Si SBMA >= (2 × SMLV) y SBMA < (4 × SMLV), entonces Prima de alimentación = SBMA × 9.86%. TmpPAlim = SBMA * 0.0986 ElseIf ((SBMA >= (4 * SMLV)) 'Si SBMA >= (4 × SMLV) y TmpPAlim = SBMA * 0.0615 ElseIf ((SBMA >= (6 * SMLV)) 'Si SBMA >= (6 × SMLV) y TmpPAlim = SBMA * 0.0438 And (SBMA < (6 * SMLV))) Then SBMA < (6 × SMLV), entonces Prima de alimentación = SBMA × 6.15%. And (SBMA < (8 * SMLV))) Then SBMA < (8 × SMLV), entonces Prima de alimentación = SBMA × 4.38%. 26 End If Return TmpPAlim End Function Public Function CalcPProd(ByVal Seccion As Short, ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula la prima de producción. ' Parámetros: Sección como entero corto por valor. ' Salario básico mensual asignado (SBMA) como real por valor. ' Retorna: TmpPProd. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpPProd As Single TmpPProd = 0 If (Seccion = 1) Then 'Se le asigna el 3.25% del SBMA a todo el personal de la sección de producción. TmpPProd = SBMA * 0.0325 End If Return TmpPProd End Function Public Function CalcPConSang(ByVal TipSang As Short, ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula la prima de consanguinidad. ' Parámetros: Tipo sanguineo (TipSang) como entero corto por valor. ' Salario básico mensual asignado (SBMA) como real por valor. ' Retorna: TmpPConSang. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpPConSang As Single TmpPConSang = 0 If (TipSang = 6) Or (TipSang = 3) Then 'Si el tipo de sangre es AB- (6) o B+ (3) se le asigna el 2% del SBMA. TmpPConSang = SBMA * 0.02 End If Return TmpPConSang End Function
  • 27. Public Function CalcPPes(ByVal Peso As Short, ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: ' Parámetros: ' ' Retorna: ' Creado: Función de tipo real que calcula la prima pesada. Peso como entero corto por valor. Salario básico mensual asignado (SBMA) como real por valor. TmpPPes. 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 27 Dim TmpPPes As Single TmpPPes = 0 If (Peso Mod 7 = 0) Or (Peso Mod 13 = 0) Then 'Si el peso es un múltiplo de 7 o de 13 entonces se le asigna el 5% del SBMA TmpPPes = SBMA * 0.05 End If Return TmpPPes End Function Public Function CalcPEsot(ByVal SigZod As Short, ByVal EstCiv As Short, ByVal TipSang As Short, ByVal Edad As Short, ByVal NHEDomF As Short, ByVal TotHED As Short, ByVal TotHEN As Short, ByVal NumH As Short, ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula la prima esoterica. ' Parámetros: Signo zodiacal (SigZod) como entero corto por valor. ' Estado civil (EstCiv) como entero corto por valor. ' Tipo sanguineo (TipSang) como entero corto por valor. ' Edad como entero corto por valor. ' Número de horas extras dominicales y festivos (NHEDomF) como entero corto por valor. ' Total de horas extras dominicales (TotHED) como entero corto por valor. ' Total de horas extras nocturnas (TotHEN) como entero corto por valor. ' Número de hijos (NumH) como entero corto por valor. ' Salario básico mensual asignado (SBMA) como real por valor. ' Retorna: TmpPEsot. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpPEsot As Single TmpPEsot = 0 If (SigZod = 1) And (EstCiv = 1) Then 'Si el empleado es del signo ARIES y el estado civil es SOLTERO se le asigna el 4.19% del SBMA. TmpPEsot = SBMA * 0.0419 ElseIf (SigZod = 3) And ((EstCiv = 2) Or (EstCiv = 4)) Then 'Si el empleado es del signo GEMINIS y el estado civil es CASADO o DIVORSIADO, se le asigna el 7.16% del SBMA. TmpPEsot = SBMA * 0.0716 ElseIf (SigZod = 5) And ((EstCiv = 1) Or (EstCiv = 3)) And ((TipSang = 3) Or (TipSang = 2)) Then 'Si el empleado es del signo LEO y el estado civil es SOLTERO o UNION LIBRE y su Tipo de Sangre es O+ o A-, 'se le asigna el 9.39% del SBMA. TmpPEsot = SBMA * 0.0939 ElseIf (SigZod = 7) And ((TipSang = 6) Or (TipSang = 3)) And ((Edad Mod 2 <> 0) And (Edad Mod 3 = 0)) Then
  • 28. 'Si el empleado es del signo LIBRA y el tipo sanguíneo es AB- o B+ y la edad es un número impar múltiplo de 3, 'se le asigna el 9.37% del SBMA. TmpPEsot = SBMA * 0.0937 ElseIf ((SigZod = 9) Or (SigZod = 8)) And (NHEDomF >= 12) Then 'Si el empleado es del signo SAGITARIO o ESCORPION y el número de horas extras dominicales y festivos es >=12, 'se le asigna el 5.10% del SBMA. TmpPEsot = SBMA * 0.051 ElseIf ((SigZod = 12) Or (SigZod = 4)) And (TotHED >= TotHEN) And (NumH Mod 5 = 0) Then 28 'Si el empleado es del signo PISCIS o CANCER y el Total extras diurnas es mayor que el Total extras nocturnas, 'se le asigna el 5.82% del SBMA. TmpPEsot = SBMA * 0.0582 End If Return TmpPEsot End Function Public Function CalcPManu(ByVal NumH As Short, ByVal SBMA As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula la prima de manutención. ' Parámetros: Número de hijos (NumH) como entero corto por valor. ' Salario básico mensual asignado (SBMA) como real por valor. ' Retorna: TmpPManu. ' Creado: 27/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpPManu As Single TmpPManu = 0 TmpPManu = (NumH * 0.025) * SBMA Return TmpPManu End Function End Class
  • 29. Clase Total Public Class Total '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Título: Clase Total 29 ' Descripción: Clase que contiene las funciones públicas para el cálculo de los totales de la nómina: ' total horas extras diurnas (TotHED), total horas extras nocturnas (TotHEN), total horas ' extras dominicales y festivos (THEDomF), total extras (TotExtras), total primas (TotPrimas), ' total devengado (TotDevengado), total deducido (TotDeducido), neto a pagar (Neto). ' Autor: Hector Enrique Guerrero Conde. ' URL: http://recursosfisicamecanica.blogspot.com/ ' Email: heg_conde@yahoo.com ' Fecha creación: 26/10/2010 '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Public Function CalcTotHED(ByVal VrHED As Single, ByVal NHED As Short) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el total horas extras diurnas. ' Parámetros: Valor hora extra diurna (VrHED) como real por valor. ' Número de horas extras diurnas (NHED) como entero corto por valor. ' Retorna: TotHED. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpTotHED As Single TmpTotHED = 0 TmpTotHED = VrHED * NHED Return TmpTotHED End Function Public Function CalcTotHEN(ByVal VrHEN As Single, ByVal NHEN As Short) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el total horas extras nocturnas. ' Parámetros: Valor hora extra nocturnas (VrHEN) como real por valor. ' Número de horas extras nocturnas (NHEN) como entero corto por valor. ' Retorna: TotHEN. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpTotHEN As Single TmpTotHEN = 0 TmpTotHEN = VrHEN * NHEN Return TmpTotHEN End Function Public Function CalcTHEDomF(ByVal VrHEDomF As Single, ByVal NHEDomF As Short) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • 30. ' Resumen: Función de tipo real que calcula el total horas extras dominicales y festivos. ' Parámetros: ' ' Retorna: ' Creado: Valor hora extra dominical y festivo (VrHEDomF) como real por valor. Número de horas extras dominicales y festivos (NHEDomF) como entero corto por valor. TotHEN. 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpTHEDomF As Single TmpTHEDomF = 0 30 TmpTHEDomF = VrHEDomF * NHEDomF Return TmpTHEDomF End Function Public Function CalcTotExtras(ByVal TotHED As Single, ByVal TotHEN As Single, ByVal THEDomF As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el total de horas. ' Parámetros: Valor hora extra dominical y festivo (VrHEDomF) como real por valor. ' Total de horas extras diurnas (TotHED) como real por valor. ' Total de horas extras nocturnas (TotHEN) como real por valor. ' Total de horas extras dominicales y festivos (THEDomF) como real por valor. ' Número de horas extras dominicales y festivos (NHEDomF) como entero corto por valor. ' Retorna: TmpTotExtras. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpTotExtras As Single TmpTotExtras = 0 TmpTotExtras = TotHED + TotHEN + THEDomF Return TmpTotExtras End Function Public Function CalcTotPrimas(ByVal PEdad As Single, ByVal PAlim As Single, ByVal PProd As Single, ByVal PManu As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el total de primas. ' Parámetros: Prima de edad (PEdad) como real por valor. ' Prima de alimentación (PAlim) como real por valor. ' Prima de producción (PProd) como real por valor. ' Prima de manutención (PManu) como real por valor. ' Retorna: TmpTotPrimas. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpTotPrimas As Single TmpTotPrimas = 0 TmpTotPrimas = PEdad + PAlim + PProd + PManu Return TmpTotPrimas End Function Public Function CalcTotDevengado(ByVal SalDev As Single, ByVal TotPrimas As Single, ByVal SubsTransp As Single, ByVal TotExtras As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • 31. ' Resumen: Función de tipo real que calcula el total devengado. ' Parámetros: ' ' ' ' Retorna: ' Creado: Salario devengado (SalDev) como real por valor. Total primas (TotPrimas) como real por valor. subsidio de transporte (SubsTtansp) como real por valor. Total extras (TotExtras) como real por valor. TmpTotDevengado. 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 31 Dim TmpTotDevengado As Single TmpTotDevengado = 0 TmpTotDevengado = SalDev + TotPrimas + SubsTransp + TotExtras Return TmpTotDevengado End Function Public Function CalcTotDeducido(ByVal Pension As Single, ByVal Salud As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el total deducido. ' Parámetros: Pensión (Pension) como real por valor. ' Salud como real por valor. ' Retorna: TmpTotDeducido. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpTotDeducido As Single TmpTotDeducido = 0 TmpTotDeducido = Pension + Salud Return TmpTotDeducido End Function Public Function CalcNeto(ByVal TotDevengado As Single, ByVal TotDeducido As Single) As Single '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Resumen: Función de tipo real que calcula el neto a pagar. ' Parámetros: Total devengado (TotDevengado) como real por valor. ' Total deducido (TotDeducido) como real por valor. ' Retorna: TmpNeto. ' Creado: 26/10/2010. '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dim TmpNeto As Single TmpNeto = 0 TmpNeto = TotDevengado + TotDeducido Return TmpNeto End Function End Class