elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ayuda Desbordamiento
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda Desbordamiento  (Leído 917 veces)
ELGRANSOLRAC

Desconectado Desconectado

Mensajes: 91


Ver Perfil
Ayuda Desbordamiento
« en: 8 Junio 2006, 23:33 pm »


Hola tengo este problema cuando intento pasar de Hex a Dec con una cadena larga me da error Desbordamiento en la variable valor

Código:

 'Declaración de variables locales
    Dim cadena As String 'Almacena el valor del campo
    Dim indice As Integer 'Lo usaremos para recorrer la cadena
    Dim longitud As Integer 'Registra la longitud de la cadena
    Dim caracter As String 'Almacena la letra actual
    Dim valor As Long
    Dim exponente As Integer
   
   

Private Sub Command1_Click()
cadena = Text1.Text
    longitud = Len(cadena)
    valor = 0
    exponente = longitud - 1
   
    For indice = 1 To longitud
    'Vamos a recorrer la cadena e ir transformando cada caracter
        caracter = Mid(cadena, indice, 1)
        'Ya tenemos el caracter, ahora lo que tenemos que hacer es transformarlo
        'y calcular su valor según su posición

        Select Case caracter
            Case "a"
                valor = valor + (10 * (16 ^ exponente))
            Case "A"
                valor = valor + (10 * (16 ^ exponente))
            Case "b"
                valor = valor + (11 * (16 ^ exponente))
            Case "B"
                valor = valor + (11 * (16 ^ exponente))
            Case "c"
                valor = valor + (12 * (16 ^ exponente))
            Case "C"
                valor = valor + (11 * (16 ^ exponente))
            Case "D"
                valor = valor + (11 * (16 ^ exponente))
            Case "d"
                valor = valor + (13 * (16 ^ exponente))
            Case "e"
                valor = valor + (14 * (16 ^ exponente))
            Case "E"
                valor = valor + (11 * (16 ^ exponente))
            Case "f"
                valor = valor + (15 * (16 ^ exponente))
            Case "F"
                valor = valor + (11 * (16 ^ exponente))
        Case Else
        'Código en caso de que no sea letra
           

                valor = valor + Int(caracter) * (16 ^ exponente)


        End Select
       
    exponente = exponente - 1
   
    Next indice 'fin del for indice=1
    Text1.Text = valor
End Sub


Gracias a quien pueda ayudarme


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
desbordamiento de arreglos
Programación C/C++
m@o_614 2 2,047 Último mensaje 24 Noviembre 2013, 17:25 pm
por rir3760
Desbordamiento de pila en servidor web
Desarrollo Web
warcry. 2 1,861 Último mensaje 23 Marzo 2019, 11:46 am
por warcry.
Desbordamiento de pila moderno
Análisis y Diseño de Malware
Usuario887 2 7,736 Último mensaje 9 Julio 2020, 20:10 pm
por Usuario887
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines