Visual Basic - ayuda con el código

Life is soft - evento anual de software empresarial
 
Vista:

ayuda con el código

Publicado por lucho (22 intervenciones) el 22/06/2009 23:51:25
Saludos a todos:
Visual Basic 6.0
Private Sub CmdAceptar _Click ()
Dim HorasTrabajadas As Integer
Dim PagoPorHora As Double
Dim SalarioBruto As Double
Dim Descuento As Double
Dim SalarioNeto As Double

HorasTrabajadas=Val(TextHorasTrabajadas)
PagoPorHora=Val(textPagoPorHora)
SalarioBruto=HorasTrabajadas*PagoPorHora
Descuento=SalarioBruto*0.2
SalarioNeto=SalarioBruto-Descuento

TextSalarioBruto=Str(SalarioBruto)
TextDescuento=Str(Descuento)
TextSalarioNeto=Str(SalarioNeto)
End Sub
Son 5 cuadros de texto(TextBox)
En HorasTrabajadas escribo manualmente 48
En PagoPorHora escribo manualmente 10
Y doy click el botón comando(Aceptar)
Me da como resultado en:
SalarioBruto=0
Decuento=0
SalarioNeto=0
¿Alguien por favor, me podría indicarr en donde está el error?
De antemano mil gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Option Explicit

Publicado por aquiles (10 intervenciones) el 23/06/2009 07:25:16
* Te recomiendo siempre usar en la declaración general Option Explicit.

* O Usar .Text con los TextBox.

* Creo que el problema es simplemente que 'textPagoPorHora' esta actuando como un Variant y no como un TextBox, asegúrate de haber escrito correctamente el nombre de tu TextBox.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Option Explicit

Publicado por lucho (22 intervenciones) el 23/06/2009 16:08:02
Aquiles gracias por contestar:
Voy a seguir tu comentario, en dado caso que no llegue el resultado esperado, ¿te vuelvo a molestar?
Saludos : desde el Aeropuerto Internacional de la Ciudad de México
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con el código

Publicado por lucho (22 intervenciones) el 23/06/2009 19:58:57
Aquiles:
Perfecto, solucionado, felicidades. con (el comando CmdAceptar)
Aunque tengo duda con Option Explict. (De donde sale, perdón por la ignorancia)
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con el código

Publicado por Jaime Guerrero (361 intervenciones) el 23/06/2009 21:19:38
option explicit es una instruccion que se pone al inicio de cada pagina de codigo. Ésto obliga al usuario a instanciar sus variables para que pueda ejecutar su aplicativo.

Es decir, si tu tienes lo siguiente

option explicti

private sub command1_click()

for i=0 to 10

next i

end sub

cuando lo ejecutes te saldrá error. Para que no salga error tu codigo debe quedar

option explicti

private sub command1_click()
dim i as integer '-->se agrego la linea de declaracion de variable
for i=0 to 10

next i

end sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con el código

Publicado por lucho (22 intervenciones) el 24/06/2009 00:51:13
Gracias Jaime Guerrero por tu colaboración, infinitamente te agradezco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con el código

Publicado por juan carlos (14 intervenciones) el 27/06/2009 18:39:09
hola juan el error esta en que estas haciendo cuentas y al regresar la cantidad total
deseas recibir una cadena(str) en TextSalarioBruto,textdescuento,TextSalarioNeto,
y como estas trabajando con numeros te regresa un 0(false) al leerlos como cadenas

Private Sub CmdAceptar _Click ()
Dim HorasTrabajadas As Integer
Dim PagoPorHora As Double
Dim SalarioBruto As Double
Dim Descuento As Double
Dim SalarioNeto As Double

HorasTrabajadas=Val(TextHorasTrabajadas)
PagoPorHora=Val(textPagoPorHora)
SalarioBruto=HorasTrabajadas*PagoPorHora
Descuento=SalarioBruto*0.2
SalarioNeto=SalarioBruto-Descuento

TextSalarioBruto=Str(SalarioBruto) ' error
TextDescuento=Str(Descuento) ' error
TextSalarioNeto=Str(SalarioNeto) ' error
End Sub

------------------------------------------------------------------------
sin el error

Private Sub CmdAceptar_Click()
Dim HorasTrabajadas As Integer
Dim PagoPorHora As Double
Dim SalarioBruto As Double
Dim Descuento As Double
Dim SalarioNeto As Double

HorasTrabajadas = Val(TextHorasTrabajadas)
PagoPorHora = Val(textPagoPorHora)
SalarioBruto = HorasTrabajadas * PagoPorHora
Descuento = SalarioBruto * 0.2
SalarioNeto = SalarioBruto - Descuento

TextSalarioBruto = Val(SalarioBruto)
TextDescuento = Val(Descuento)
TextSalarioNeto = Val(SalarioNeto)
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar