VOLTAR RESULTADO DE SOMA
Ola boa noite, estou em dificudade em fazer com que uma soma volte ao resultado anterior e ou anteriores:
2+2=4
4+2=6
6+1=7
quando eu clicar no botao uma vez ele volta pro resultado 6, se eu apertar o mesmo ele volta pra 4 e por ai vai.
Entao pensei em ir salvando os ultimos resultados em uma listbox, entao apertar o botao e ele ir retornando os valores, mas nao acertei fazer o codigo.
Desde ja agradeço.
2+2=4
4+2=6
6+1=7
quando eu clicar no botao uma vez ele volta pro resultado 6, se eu apertar o mesmo ele volta pra 4 e por ai vai.
Entao pensei em ir salvando os ultimos resultados em uma listbox, entao apertar o botao e ele ir retornando os valores, mas nao acertei fazer o codigo.
Desde ja agradeço.
Você pode guardar o resultado de cada operação num List, array, etc., e depois se basear no indice para saber a ordem em que foram feitos.
Exemplo:
dim vetor(3) as integer
vetor(0) = 2+2
vetor(1) = 4+2
vetor(2) = 6+1
Exemplo:
dim vetor(3) as integer
vetor(0) = 2+2
vetor(1) = 4+2
vetor(2) = 6+1
AÃ, irmão,
Vê se este exemplo aà te serve.
Vê se este exemplo aà te serve.
Pegudo, seu código ficou muito extenso, daà eu dei uma melhorada.
O código desse projeto aqui só mostra os resultados das operações.
O código desse projeto aqui só mostra os resultados das operações.
Aqui está mostrando os operandos também na hora de avançar ou retroceder, confira aÃ.
Ola mestres, desculpas mas uso o vb6 ainda, eh o que tenho, foi mal se postei na parte do forum errado, desde ja agradeço, obrigado!
A ideia no primeiro comentário serve também para Vb6.
Encerre o tópico para não termos mais problemas, por favor!
Encerre o tópico para não termos mais problemas, por favor!
Preciso dele completinho, assim nao deu pra me entender ainda.
Aki meu codigo com a soma, depois de fazer algumas somas, preciso que ele volte resultado anteriores obrigado:
Private Sub Command1_Click()
Text1.Text = Format(CCur(Text1 + 20), [Ô]Currency[Ô])
End Sub
com a list1 ficaria otimo.
Aki meu codigo com a soma, depois de fazer algumas somas, preciso que ele volte resultado anteriores obrigado:
Private Sub Command1_Click()
Text1.Text = Format(CCur(Text1 + 20), [Ô]Currency[Ô])
End Sub
com a list1 ficaria otimo.
Cara, estou sem o vb6, mas a lógica é parecido com isso aqui:
[ô]Você pode usar um array ou collection em vb6
Private lista As New List(Of String)
Private indice As Integer
Public Function Calcular(x As Decimal, y As Decimal) As Decimal
lista.Add(Cstring(x) & [Ô]@[Ô] & Cstring(y) & [Ô]@[Ô] & x+y)
indice = lista.Count - 1
Return x+y
End Function
Public Function GetOperando1() As Decimal
Return CDec(Split(lista(indice), [Ô]@[Ô])(0))
End Function
Public Function GetOperando2() As Decimal
Return CDec(Split(lista(indice), [Ô]@[Ô])(1))
End Function
Public Function GetResultado() As Decimal
Return CDec(Split(lista(indice), [Ô]@[Ô])(2))
End Function
Public Sub Avancar()
If indice < lista.Count - 1 Then indice = indice + 1
End Sub
Public Sub Retroceder()
If indice > 0 Then indice = indice - 1
End Sub
Obrigado, mas não conseguir fazer rodar no vb6.
Conseguir fazer funcionar com esse codigo aqui, mas ainda preciso fazer ele parar quando chegar no ultimo valor, para que nao fique limpo nem a list1 nem o text1., obrigado.
Private Sub Command1_Click()
Text1.Text = Format(CCur(Text1 + 10), [Ô]Currency[Ô])
List1.AddItem Text1.Text, 0
End Sub
Private Sub Command3_Click()
Text1.Text = List1.List(1)
List1.RemoveItem (0)
End Sub
Private Sub Command1_Click()
Text1.Text = Format(CCur(Text1 + 10), [Ô]Currency[Ô])
List1.AddItem Text1.Text, 0
End Sub
Private Sub Command3_Click()
Text1.Text = List1.List(1)
List1.RemoveItem (0)
End Sub
Tópico encerrado , respostas não são mais permitidas