Ir para conteúdo

Arquivado

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

peshe

com cálculos

Recommended Posts

Pessoal, no meu form eu tenho um TextBox, uma label e um botão; estou tentando fazer um programa que resolve o cálculo colocado no TextBox, por exemplo, eu escrevo 2*15 e no label deveria aparecer 30 quando eu apertar o botão, mas não consigo, estou usando o seguinte código:Private Sub Command1_Click() Label1.Caption = Text1End SubQual meu erro? Quando eu clico no botão, aparece o calculo no label.Outra duvida: como eu faço para poder digitar apenas números e UMA virgula?Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

"2*15" é apenas uma string e não uma expressão de código que vá ser desenvolvida. O VB não possui macrosubstituição, que era o recurso que permitia esse tipo de coisa (em Clipper). No caso, para desenvolvê-la você precisa criar uma função para isso ou usar a função Eval do Microsoft Script Control.Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

eval seria recortar o string e dividilo em uma matriz ou coisa do tipo???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não sei não, mas e a outra opção??E minha segunda duvida: como eu faço para poder digitar apenas números e UMA virgula??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve referenciar o "Microsft Script Control" em References.

 

E para usar:

Dim script As New ScriptControlscript.Language = "VbScript"MsgBox script.Eval(aqui_vai_a_conta)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew cara!! Agora deu certo, eu modifiquei alguma coisa e ficou perfeito, valew!! Para quem quizer aí vai o código final:Dim x As StringPrivate Sub Form_Load()x = InputBox("Digite a conta:")Dim script As New ScriptControlscript.Language = "VbScript"MsgBox script.Eval(x)EndEnd SubSó mais Duas perguntas:1: Como eu faço para apenas poder escrever números, UMA virgula, e os sinais: + - / * e parenteses??2: Como eu faço para o InputBox ter o escrito "Digite a conta:" em uma linha, e na de baixo outra coisa escrita??Té mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Respostas:1. Eu acho que não tem como, se fosse um Text, alguma coisa que a gente tem controle nos eventetos achoq eu daria sim ....2. Para digitar mais texto coloque assim: x = InputBox("Digite a conta: " & vbCrLf & "DASDASD")

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.