Make your own free website on Tripod.com

 

La nómina con estructura decisional

 

 

Se desea elaborar una hoja de pago de los trabajadores de una fábrica. Para ello se cuenta con los siguientes datos de entrada:

 

Apellidos y nombres del trabajador

Sueldo básico

Horas extras trabajadas

 

Además, se sabe que los trabajadores laboran en dos turnos: diurno y nocturno. Y que la tarifa por las horas extras diurnas es de 10 dólares y por las horas extras nocturnas es de 15 dólares.

 

Los descuentos a aplicar son sobre el sueldo básico y se obtienen de la siguiente manera:

 

Retiro = SueldoBasico * 0.1

Ss = SueldoBasico * 0.07

Hacienda = SueldoBasico * 0.03

 

Finalmente el sueldo neto del trabajador se calcula mediante las siguientes expresiones:

 

Ingresos = SueldoBasico + HorasExtras * PagoHoraExtra

Egresos = Retiro + Ss + Hacienda

SueldoNeto = Ingresos - Egresos

 

El diseño de la interfaz deberá ser similar a la figura mostrada:

 

Text Box: Text8

Para el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el formulario:

 

2 marcos

5 etiquetas

8 cajas de texto

2 botones de opción

3 casillas de verificación

3 botones de comando

 

Luego, proceda a establecer las propiedades según se indica a continuación:

 

Form1

 

Nombre

FrmHojadePago

 

BorderStyle

3-Fixed Dialog

 

Caption

Hoja de pago

 

Moveable

False

 

Label1

 

Nombre

LblTrabajador

 

AutoSize

True

 

Caption

Trabajador:

 

Label2

 

Nombre

LblSueldoBasico

 

AutoSize

True

 

Caption

Sueldo Bruto:

 

Label3

 

Nombre

LblHorasExtras

 

AutoSize

True

 

Caption

Horas extras:

 

Label4

 

Nombre

LblPagoHoraExtra

 

AutoSize

True

 

Caption

Pago hora extra

 

Label5

 

Nombre

LblSueldoNeto

 

AutoSize

True

 

Caption

Sueldo neto

 

Text1

 

Nombre

TxtTrabajador

 

Text

 

 

Text2

 

Nombre

TxtSueldoBasico

 

Text

 

 

Text3

 

Nombre

TxtHorasExtras

 

Text

 

 

Text4

 

Nombre

TxtPagoHoraExtra

 

BackColor

&H80000004&

 

Text

 

 

Text5

 

Nombre

TxtRetiro

 

BackColor

&H80000004&

 

Locked

True

 

Text

 

 

Text6

 

Nombre

TxtSs

 

BackColor

&H80000004&

 

Locked

True

 

Text

 

 

Text7

 

Nombre

TxtHacienda

 

BackColor

&H80000004&

 

Locked

True

 

Text

 

 

Text8

 

Nombre

TxtSueldoNeto

 

BackColor

&H80000004&

 

Locked

True

 

Text

 

 

Option1 (Alarga el botón de opción para descubrir la etiqueta)

 

Nombre

OptDiurno

 

Caption

Diurno

 

Value

True

 

Option2

 

Nombre

OptNocturno

 

Caption

Nocturno

 

Value

False

 

Check1 (Alarga la casilla de verificación para descubrir la etiqueta)

 

Nombre

ChkRetiro

 

Caption

Retiro

 

Check2

 

Nombre

ChkSs

 

Caption

Ss

 

Check3

 

Nombre

ChkHacienda

 

Caption

Hacienda

 

Command1

 

Nombre

CmdAceptar

 

Caption

&Aceptar

 

Default

True

 

Command2

 

Nombre

CmdLimpiar

 

Caption

&Limpiar

 

Command3

 

Nombre

CmdSalir

 

Cancel

True

 

Caption

&Salir

 

Para que hagas algo por tu cuenta cambia las siguientes propiedades:

 

  • El Caption del Frame1 por Descuentos (Negrita, color -ForeColor- azul) y el del Frame2 por Turno (Negrita y azul).

 

  • Alínea a la derecha todas las cajas de texto de datos numéricos.

 

Una vez establecidas las propiedades, proceda a ingresar en el botón Aceptar el código que se indica a continuación:

 

Private Sub CmdAceptar_Click()

    Dim SueldoBasico As Double

    Dim HorasExtras As Integer, PagoHoraExtra As Double

    Dim Retiro As Double, Ss As Double, Hacienda As Double

    Dim Ingresos As Double, Egresos As Double

    Dim SueldoNeto As Double

    SueldoBasico = Val(TxtSueldoBasico)

    HorasExtras = Val(TxtHorasExtras)

    If OptDiurno Then

        PagoHoraExtra = 10

    End If

    If OptNocturno Then

        PagoHoraExtra = 15

    End If

    If ChkRetiro.Value Then

        Retiro = SueldoBasico * 0.1

    Else

        Retiro = 0

    End If

    If ChkSs.Value Then

        Ss = SueldoBasico * 0.07

    Else

        Ss = 0

    End If

    If ChkHacienda.Value Then

        Hacienda = SueldoBasico * 0.03

    Else

        Hacienda = 0

    End If

    Ingresos = SueldoBasico + HorasExtras * PagoHoraExtra

    Egresos = Retiro + Ss + Hacienda

    SueldoNeto = Ingresos - Egresos

    TxtPagoHoraExtra = Str(PagoHoraExtra)

    TxtRetiro = Str(Retiro)

    TxtSs = Str(Ss) : TxtHacienda = Str(Hacienda)

    TxtSueldoNeto = Str(SueldoNeto)

End Sub

 

Private Sub CmdSalir_Click()

    End

End Sub

 

Para que programes algo, crea el código para limpiar el contenido de todas las cajas de texto. Este tipo de programación se ha hecho en ejercicios anteriores. Búscalos.

 

Entra datos en las tres primeras cajas de texto, marca una opción en Turno y las que apliquen en Descuentos. Luego presiona Aceptar.

 

Home | VB |