Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Erik# en 9 Diciembre 2008, 12:00 pm



Título: [Overflow] Error de overflow
Publicado por: Erik# en 9 Diciembre 2008, 12:00 pm
Hola, bueno, estuve haciendo unas multiplicaciones, y me da overflow cuando intento hacer esto:

Código
  1. hora = Text2.Text * 3600000
  2. minutos = Text3.Text * 60000

en hora puse 0 y minutos 1, bueno eso da igual, lo que pasa esque no me deja ponerle más de 6000 :S.


Título: Re: [Overflow] Error de overflow
Publicado por: ‭‭‭‭jackl007 en 9 Diciembre 2008, 12:33 pm
Hola, ten cuidado con los tipos, el textbox es string, y el numero es integer... son distintos asi que tienes que convertirlos al tipo adecuado para trabajar:

Código
  1. hora = val(Text2.Text) * 3600000
  2. minutos = val(Text3.Text) * 60000


Título: Re: [Overflow] Error de overflow
Publicado por: Erik# en 9 Diciembre 2008, 12:35 pm
Código
  1. Dim hora As Integer
  2. Dim minutos As Integer
  3. hora = Val(Text2.Text) * 3600000
  4. minutos = Val(Text3.Text) * 60000

Eso es lo que tengo puesto, y aun me da overflow.


Título: Re: [Overflow] Error de overflow
Publicado por: ‭‭‭‭jackl007 en 9 Diciembre 2008, 12:46 pm
Código:
[codevb]MsgBox Str(Val("727272") * 3600000)
funciona bien, valida los datos


Título: Re: [Overflow] Error de overflow
Publicado por: cobein en 9 Diciembre 2008, 14:36 pm
Un long es un signed 32-bit, asi que no podes pasarte de  el rango de valores que soporta
–2147483648 a +2147483647 .


Título: Re: [Overflow] Error de overflow
Publicado por: Erik# en 9 Diciembre 2008, 14:45 pm
Thx a todos.
Consegui arreglarlo.