Ir ao conteúdo
  • Cadastre-se
fefenandu

duvida program do vb 6

Recommended Posts

:lol: Por favor eu fiz esse programa mas esta dando erro... tenho certeza que o calculo esta certo porque ja testei diversas vzs mas sempre qndu eu mexo nos end if ou da certo em um ou no outro...

por favor m ajudem!!

obrigado desde ja ^^

Private Sub calculo_Click()

Dim d As Integer 'd vai receber o valor digitado no campo dia

Dim m As Integer 'm vai receber o valor digitado no campo mês

Dim calc As Integer 'calc vai ser uma função que fará o calculo da porcentagem

Dim result As Integer 'result receberá o resultado do calc

Dim ptg As String 'ptg sendo strig é para pode colocar o sinal de % do lado do número

d = dia.Text 'recebe o que foi digitado no campo dia

m = mes.Text 'recebe o que foi digitado no campo mês

If (d < 1) Then 'se o dia digitado for menor que 0 da erro

MsgBox "Erro", 5, "error"

resultado.Caption = "Digite um dia válido"

Else 'se o dia não for menor que zero...

If (m = 9 Or m = 11) Then 'testa... se mes for 9 ou 11 não pode ter + que 30 dia senão da erro

If (d > 30) Then

MsgBox "Erro", 5, "error"

resultado.Caption = "Digite um dia válido"

Else 'se mes não for 9 ou 11

If (m = 10 Or m = 12) Then 'testa se o mes for 10 ou 12 não pode ter + que 31 dias senão da erro

If (d > 31) Then

MsgBox "Erro", 5, "error"

resultado.Caption = "Digite um dia válido"

Else 'senaum der erro nem nada vai pra ca (na teoria xP)

Select Case m 'se mes for...

Case 9 ' 9... faz o calculo louco de porcentagem (isso nun importa... e assim vai)...

calc = (m - 9) * 30 + d

result = calc

result = (calc * 100) / 122

ptg = result

resultado.Caption = ptg + "%"

Case 10

calc = (m - 9) * 30 + d

result = calc

result = (calc * 100) / 122

ptg = result

resultado.Caption = ptg + "%"

Case 11

calc = (m - 9) * 30 + 1 + d

result = calc

result = (calc * 100) / 122

ptg = result

resultado.Caption = ptg + "%"

Case 12

calc = (m - 9) * 30 + 1 + d

result = (calc * 100) / 122

ptg = result

resultado.Caption = ptg + "%"

Case Else 'se não for nenhum desses meses da erro =D teoricamente

MsgBox "Erro", 5, "error"

resultado.Caption = "Digite um mês entre 9(set) a 12(dez)"

mes.Text = " "

mes.SetFocus

End Select

End If

End If

End If

End If

End If

End Sub

Private Sub dia_Change()

d = dia.Text

End Sub

Private Sub mes_Change()

m = mes.Text

End Sub

* Eu acho que o problema esta nos else e end if...

por favor me ajudem!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema são os end if que estão todos fora de lugar. Acredito q ainda esta faltando algumas partes do código, mas tenta a partir disso..

Private Sub calculo_Click()

Dim d As Integer 'd vai receber o valor digitado no campo dia

Dim m As Integer 'm vai receber o valor digitado no campo mês

Dim calc As Integer 'calc vai ser uma função que fará o calculo da porcentagem

Dim result As Integer 'result receberá o resultado do calc

Dim ptg As String 'ptg sendo strig é para pode colocar o sinal de % do lado do número

d = dia.Text 'recebe o que foi digitado no campo dia

m = mes.Text 'recebe o que foi digitado no campo mês

If (d < 1) Then 'se o dia digitado for menor que 0 da erro

MsgBox "Erro", 5, "error"

resultado.Caption = "Digite um dia válido"

Else 'se o dia não for menor que zero...

If (m = 9 Or m = 11) Then 'testa... se mes for 9 ou 11 não pode ter + que 30 dia senão da erro

If (d > 30) Then

MsgBox "Erro", 5, "error"

resultado.Caption = "Digite um dia válido"

End If

End If

End If

'se mes não for 9 ou 11

If (m = 10 Or m = 12) Then 'testa se o mes for 10 ou 12 não pode ter + que 31 dias senão da erro

If (d > 31) Then

MsgBox "Erro", 5, "error"

resultado.Caption = "Digite um dia válido"

Else 'senaum der erro nem nada vai pra ca (na teoria xP)

Select Case m 'se mes for...

Case 9 ' 9... faz o calculo louco de porcentagem (isso nun importa... e assim vai)...

calc = (m - 9) * 30 + d

result = calc

result = (calc * 100) / 122

ptg = result

resultado.Caption = ptg + "%"

Case 10

calc = (m - 9) * 30 + d

result = calc

result = (calc * 100) / 122

ptg = result

resultado.Caption = ptg + "%"

Case 11

calc = (m - 9) * 30 + 1 + d

result = calc

result = (calc * 100) / 122

ptg = result

resultado.Caption = ptg + "%"

Case 12

calc = (m - 9) * 30 + 1 + d

result = (calc * 100) / 122

ptg = result

resultado.Caption = ptg + "%"

Case Else 'se não for nenhum desses meses da erro =D teoricamente

MsgBox "Erro", 5, "error"

resultado.Caption = "Digite um mês entre 9(set) a 12(dez)"

mes.Text = " "

mes.SetFocus

End Select

End If

End If

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola

Testei o codigo e não encontrei nenhum problema.

Com relação ao cálculo, você preve somente os meses 9, 10, 11 e 12. E os outros? e se o ano for bisexto ou não fevereiro vai ter 28 ou 29. e ai?

Este codigo em seu projeto está identado? Foi a unica coisa que eu fiz, pois estava uma bagunça total. rsrs

Me mande o projeto compactado para que eu possa lhe ajudar melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×