Memorizador de resultados

Private Sub Command1_Click()
Dim pi
pi = 4 * Atn(1)
Label1.Caption = pi * ((Val(Text1) / 2) ^ 2) * Val(Text2)
Label2.Caption = CDbl(Label2) + CDbl(Label1)
Label3.Caption = CDbl(Label3) + 1
List1.AddItem CDbl(Label1)
End Sub
Hola, os explico: Label 1, calcula un valor. Label2, incrementa el resultado del Label1 de cada operación. Label3, muestra la cantidad de ejecuciones que se han realizado. El List1 almacena los resultados del Label1.
Lo que yo pretendo es que haciendo doble click en el resultado(Label1) almacenado en el List1, el Label2 actualize su valor restando el valor que le hemos sacado, por lo que creo que se debería memorizar el resultado(Label1) asociado con el numero de ejecución(Label3) para poder disponer en todo momento de el valor que se calculó, por ejemplo, hace treinta ejecuciones del botón Command1. Espero que alguien me pueda ayudar de alguna manera. Lo que sea. GRACIAS.

1 respuesta

Respuesta
1
Me alegro que se soluciono lo de los decimales, ahora esto es fácil.
No entendí bien lo de el label2 actualize su valor restando el valor que le hemos sacado.
Con relación a lo de memorizar los resultados, vos por lo visto ya los tienes todos ordenados y memorizados en el control List1, solo tienes que utilizar su propiedad List1. Listindex para leer un resultado en particular, pero si por algún motivo vos sacas los resultados del control list, lo más conveniente es trabajas sobre una matriz de valores, en el procedimiento general del Form1 tendrías que poner
Dim Resultados() as Double
Y en el código del botón pondrías,
List1. Additem CDbl(label1)
Resultados(label3) = CDbl(label1)
De esa manera en la matriz Resultados te van a quedar almacenados en orden todos los valores, por ejemplo si quieres sacar el valor de la posición 5 solo pones
Label4 = Resultados(5)
pero si no los borrastes del List1 podrias poner
Labe4 = List1.Listindex(4)
En el control List se numeran a partir del 0, por lo tanto siempre que quieras el valor de una linea tienes que poner su numero -1(en el ejemplo leímos el valor 5), fíjate que si trabajas con el control List1 no hace falta la matriz Resultados, proba de cualquier manera, y respóndeme si funciono o no.
Que tal Leosoft, me alegro que seas tu quien haya contestado mi nueva pregunta en el tablón. Para mi es una tranquilidad. Gracias!
Te explico con un ejemplo lo que pretendo hacer.
He modificado la operación a realizar en el label1 para que todo sea más fácil de explicar:
Private Sub Command1_Click()
Label1.Caption = CDbl(text1)+CDbl(text2)
Label2.Caption = CDbl(Label2) + CDbl(Label1)
Label3.Caption = CDbl(Label3) + 1
List1.AddItem CDbl(Label1)
End Sub
Ahora te mostraré los resultados del Label1 en cuatro "clicks" del botón Command1_click():
1º-->6
2º-->2
3º-->1
4º-->3
Por lo tanto el Label2 mostrará 12, que es el total de sumar esos cuatro resultados. Bien, estos 4 resultados los tengo almacenados (solo visualmente.No en "memoria") en el List1. Lo que yo busco es disponer en todo momento de los valores que hemos calculado en esas 4 operaciones del botón Command1(podrían ser 200 operaciones... o las que sean)y que haciendo doble click sobre uno o varios de esos valores del List1, se eliminen del List1 y se restablezca el valor del Label2. Por ejemplo:
Partiendo de que el Label2 muestra 12, si hacemos doble click sobre el primer resultado que aparece en el List1(el valor calculado es 6), este valor se eliminara del List1 y el Label2 mostrará 6, (12-6=6), si ahora hacemos doble click sobre el tercer resultado(el segundo teniendo en cuenta que hemos eliminado el primero) mostrado en el List1(el valor es 1), este valor se eliminara del List1 y el Label2 mostrará 5, (6-1=5). Espero que con este ejemplo te haya podido orientar un poco más de lo que pretendo hacer. Espero noticias tuyas. Muy agradecido. MarK
No tienes que tener memorizados los resultado, ya los tienes en el control list1, para poder borrar un resultado del list1 y restarlo del label 2 pone este código en el procedimiento DblClick de list1
Private Sub List1_DblClick()
Label2 = CDbl(Label2) - CDbl(List1.Text)
List1.RemoveItem List1.ListIndex
End Sub
De verdad que eres un CRACK! PERFECTO, te mereces un 12 en lugar de un 10. Voy a dejar otra pregunta en el tablón relacionada con lo mismo. Espero que seas tu quién me ayude!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas