Programación General > Visual Basic 6.0 e inferiores
Uso De Listas
sirespi:
Buenas a todos.
Aver os comento una cosilla. Tengo una aplicacion que lela un contador cada que recibo datos por elpuerto serie. COmo esta aplicacion , en teoria, se debe de tirar funcionando hasta varios dias, tengo el siguiente problema.
El contador es una variable tipo long, y cada vez qeu recibo un dato por el puerto serie, lo aumento en uno. El problema esta en que llegara un momento en qeu supere el valor tope (2147483647) y entonces me dara un mensaje de desbordamiento. Me han dicho que hay algo llamado lista (nunca llegue a verlas en c++) que me puede solucionar el tema
Alguien sabe com ova esto. Es facil o requiere mucho codigo???
Un saludo y gracias
scorpion25acv:
Salu2 sirespi,
se me ocurre una idea, talves puedas usar otro contador, para q en el caso de q el primero llegue al tope , lo reinicies, y aumentes el segundo, por ejem ..
--- Código: Text ---Dim Contador1, Contador2 as Long ' y en alguna parte del codigo preguntas IF Contador1 >= 2147483647 Then Contador1 = 0 Contador2 = Contador2 + 1End If Entonces, talves si el segundo se desborda puedes usar un tercero y lugo calculas o cuentas el total a partir del primero segun cantidad de reinicios del contador.
Para el caso de listas ason estructuras de datos, hya hay de varios tipos Listas enlazadas, doblemente enlazadas, listas circulares, asi como tambien hay de otros tipos de estructuras como las pilas, pero la verdad en VB no las he usado, las vi alguna vez en pascal, de maner muy basicas , pero si quieres, te paso ese codigo de ejmplo...
Espero te sirva de ayuda...
sirespi:
Gracias scorpion.
El problema que le veo a usar otra variable, que ya lo pense, es qeu tengo que seguir lelvando la cuenta. POr lo tanto, si empiezo con otra variable, le tengo qeu sumar lo que llevaba del primer contador, y automaticamente la vuelvo a desbordar.
Estoy mirando, porque he hecho unos calculos e igual a la velocidad que recibo datos por el puerto serie puedo con la variable long puedo tener para almacenar datos durante mas de 50 dias seguidos, espero que eso les valga, sino te pregunto los de las listas o las pilas esas
Sagutxo:
Salu2. Solo un comentario.
No te es posible usar un double como contador, porque solo con los decimales que tiene creo que tendrás de sobras.
Dudo que no hayas pensado en esto, pero por si acaso :)
Agur. :comp:
sirespi:
Hola SAgutxo.
No me es posibl eusar una variable double, ya qu elo que tengo qeu contar son ciclos. Cada vez qeu entro en el evento de recepcion del puerto serie, cuento 1, no puedo contar 0.9, porque sino, al final del muestreo, diria que he entrado, por ejemplo, 89,4 veces en el evento. Tiene que ser variable enteras.
Pero bueno, muchas gracias, yo creo que la final no va a hacer falta, pero nunca viene mal aprender algo para futuras cosas.
Navegación
[#] Página Siguiente
Ir a la versión completa