Pô gostaria da ajuda de vocês, estou fazendo um programinha, onde o usuário digita um número no TEXTBOX e quando ele clica no BOTAO do sinal ( +, -, *, / ) , o Valor digitado no TEXTBOX e mais o sinal pressionado(+, -, *, /) vai para um LISTBOX. Quando ele pressiona o botão calcula, o programa calcula todo os valores que estão no LISTBOX.
Agora pessoal, o meu problema é o seguinte: não sei como faço para realizar um calculo que atribui a uma variável um valor integer concatenando com o sinal ( +, -, *, /) digitado. Pois quando faço isso o código da ERROOO. :blink: (Acho que deve ser por causa dos tipos serem diferentes) GENTE, alguém sabe como posso resolver isso????????
(Ah! Logo abaixo do exemplo postei o código todo).
Exemplo:
Dim soma as Integer
Dim sinal as String
Dim ValorDigitado as Integer
soma = ValorDigitado + sinal
Programinha - Marquei de negrito a parte do código que se refere a dúvida do exemplo acima
Private Sub CmdCalcula_Click()
Dim iSoma As Integer
Dim iSomaGeral As Integer
Dim iConverte As Integer
Dim iConverteGeral As Integer
Dim strGuarda As String
Dim iSinal As String
Dim strNumero As String
Dim iCalcula As Integer
iSoma = 0
iSomaGeral = 0
iCalcula = 0
strGuarda = ""
'Pega todos os elementos da LISTBOX
For i = 0 To LstCalcula.ListCount - 1
strGuarda = TxtNumero.Text & vbctlf & LstCalcula.List(i)
[b]strNumero = Mid(LstCalcula.List(i), 1, Len(LstCalcula.List(i)) - 1)
iSinal = Right(LstCalcula.List(i), 1)
'Converte a STRING do LISTBOX para INTEGER
iConverte = CInt(strNumero)
iCalcula = iConverte + iSinal
[/b]
'Acumula operação com sinais numa variável
iSoma = iSoma + iCalcula
Next i
'Adiciona o último número digitado na LISTBOX
LstCalcula.AddItem (TxtNumero.Text)
'Converte a STRING do TEXTBOX para INTEGER
iConverteGeral = CInt(TxtNumero.Text)
'Acumula soma para o resultado geral
iSomaGeral = iSoma + TxtNumero.Text
'Apaga o último número digitado no TEXT
TxtNumero.Text = ""
'Mostra no label o resultado do cálculo
LblMostraResultado.Caption = iSomaGeral
'TxtNumero.Text = LstCalcula.List(LstCalcula.ListIndex)
End Sub
Private Sub CmdLimpa_Click()
'Apaga tudo que está no formulário
TxtNumero.Text = ""
LstCalcula.Clear
LblMostraResultado.Caption = ""
End Sub
Private Sub CmdMultiplicacao_Click()
'Adiciona o valor e o sinal do cálculo (*)
If TxtNumero <> "" Then
LstCalcula.AddItem (TxtNumero.Text + "*")
TxtNumero.Text = ""
TxtNumero.SetFocus
End If
End Sub
Private Sub CmdRetorna_Click()
'Pergunta se o usuário deseja sair do sistema
If MsgBox("Deseja sair ?", vbYesNo + vbQuestion, "Mensagem") = vbYes Then
End
End If
End Sub
Private Sub CmdSoma_Click()
'Adiciona o valor e o sinal do cálculo (+)
If TxtNumero <> "" Then
LstCalcula.AddItem (TxtNumero.Text + "+")
TxtNumero.Text = ""
TxtNumero.SetFocus
End If
End Sub
Private Sub CmdSubtracao_Click()
'Adiciona o valor e o sinal do cálculo (-)
If TxtNumero <> "" Then
LstCalcula.AddItem (TxtNumero.Text)
TxtNumero.Text = ""
TxtNumero.SetFocus
End If
End Sub
Pergunta
Vick
Oi pessoal beleza?
Pô gostaria da ajuda de vocês, estou fazendo um programinha, onde o usuário digita um número no TEXTBOX e quando ele clica no BOTAO do sinal ( +, -, *, / ) , o Valor digitado no TEXTBOX e mais o sinal pressionado(+, -, *, /) vai para um LISTBOX. Quando ele pressiona o botão calcula, o programa calcula todo os valores que estão no LISTBOX.
Agora pessoal, o meu problema é o seguinte: não sei como faço para realizar um calculo que atribui a uma variável um valor integer concatenando com o sinal ( +, -, *, /) digitado. Pois quando faço isso o código da ERROOO. :blink: (Acho que deve ser por causa dos tipos serem diferentes) GENTE, alguém sabe como posso resolver isso????????
(Ah! Logo abaixo do exemplo postei o código todo).
Exemplo:
Programinha - Marquei de negrito a parte do código que se refere a dúvida do exemplo acimaObrigada
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.