Ir ao conteúdo

Problemas com Algoritmo!


Darkfury

Posts recomendados

Postado

Bem gente, estou fazendo um curso de VB 6.0, e a apostila me manda digitar uns códigos, e as vezes tem uns erros nesses códigos para que a gente acabe treinando como resolver erros, mas bem, para resumir eu estava fazendo um programa da cadastro de produtos para uma empresa, e nesse programa teriamos o Valor da compra, porcentagem de lucro, e valor da venda, no caso se eu digitasse somente valor da compra e porcentagem ele já calculava valor da venda, ou se eu digitasse apenas valor da compra e valor da venda ele calculava automaticamente a porcentagem de lucro, MAS tem um porém, esses dois comandos são feitos pelo Private Sub LostFocus(), ou seja, se eu perder o cursor do lugar ele ja vai tentar calcular, mas e se eu não digitar um número e der apenas um espaço sem querer? vai dar erro no programa, e é isso que quero resolver, bem, abaixo os códigos.

Código na Apostila


MskProVrVenda.Text = Format(MskProVrCompra.Text * (1 + (MskProCoeficiente.Text)) / 100, "currency")
[COLOR="blue"]End Sub[/COLOR]

[COLOR="Blue"]Private Sub[/COLOR] MskProVrVenda_LostFocus()
MskProCoeficiente.Text = (((MskProVrVenda.Text / MskProVrCompra.Text) - 1) * 100)
[COLOR="blue"]End Sub[/COLOR]
[COLOR="blue"]Private Sub[/COLOR] MskProCoeficiente_LostFocus()

Código que tentei consertar!


[COLOR="blue"]If [/COLOR](MskProVrCompra.Text <> "" [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " ") [COLOR="blue"]And[/COLOR] (MskProCoeficiente.Text <> "" [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And [/COLOR]" " [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " ") [COLOR="blue"]Then[/COLOR]
MskProVrVenda.Text = Format(MskProVrCompra.Text * (1 + (MskProCoeficiente.Text)) / 100, "currency")
[COLOR="Blue"]End If
End Sub[/COLOR]

[COLOR="blue"]Private Sub[/COLOR] MskProVrVenda_LostFocus()
[COLOR="blue"]If[/COLOR] (MskProVrCompra.Text <> "" [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " "[COLOR="blue"] And[/COLOR] " " [COLOR="blue"]And[/COLOR] " ") [COLOR="blue"]And[/COLOR] (MskProVrVenda.Text <> ""[COLOR="blue"] And[/COLOR] " " [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " " [COLOR="blue"]And[/COLOR] " ") [COLOR="blue"]Then[/COLOR]
MskProCoeficiente.Text = (((MskProVrVenda.Text / MskProVrCompra.Text) - 1) * 100)
[COLOR="blue"]End If
End Sub[/COLOR]
[COLOR="blue"]Private Sub[/COLOR] MskProCoeficiente_LostFocus()

OBS: O Limite de preço é 99.999 ou seja, 5 digitos, mas não entendi porque eu tentando consertar não deu certo, meu intuito foi que ele realizasse a conta apenas se o que estivesse nas msk fosse diferente de vários espaços :/

  • mês depois...
  • Membro VIP
Postado

Opa, você pode usar a função Trim(), que remove espaços "à esquerda e à direita" do texto de uma string e depois comparar.

If Trim(MskProVrCompra.Text) <> "" Then	'seu códigoEnd If

Assim, se MskProVrCompra.Text for por exemplo "    345            ", a função Trim() a reduz para "345", mas ainda fica um bug se o usuário digitar por exemplo "34lala", então seria legal usar a função IsNumeric() também, que testa se uma string contém um número válido. Aí não precisa mais comparar com vazio, porque vazio não é numérico:

If IsNumeric(Trim(MskProVrCompra.Text)) Then	'seu códigoEnd If

Pra ficar mais legal ainda você poderia efetivamente (e visualmente) remover os espaços antes de chamar a IsNumeric():

MskProVrCompra.Text = Trim(MskProVrCompra.Text)If IsNumeric(MskProVrCompra.Text) Then	'seu códigoEnd If

Mas meu amigo, cá entre nós, como em 2014 você está fazendo um curso de VB6? Tem mercado onde você mora? Eu não acho que seja uma boa ideia investir tempo estudando isso... Há linguagens modernas muito mais poderosas como Python, Ruby, PHP, etc para fazer sistemas para a web inclusive. ;)

 

Grande abraço.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!