Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

crear variable que funcione como las de C++

Estas en el tema de crear variable que funcione como las de C++ en el foro de Visual Basic clásico en Foros del Web. Hola, quiero declarar una variable que tenga valores de 0 a 7, pero que se comporte como las variables de C++. Por ejemplo, teniendo un ...
  #1 (permalink)  
Antiguo 07/05/2009, 13:41
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 0
crear variable que funcione como las de C++

Hola, quiero declarar una variable que tenga valores de 0 a 7, pero que se comporte como las variables de C++.
Por ejemplo, teniendo un valor de 7 y sumandole 1 que pase directamente al proximo valor que seria 0.

Por ahora lo hago con un

Código:
if(nomVar=7) then 
    nomVar=0
end if
Esto lo quiero hacer en VB6.

Gracias.

Última edición por papucho666; 07/05/2009 a las 14:08 Razón: olvide poner algo
  #2 (permalink)  
Antiguo 07/05/2009, 15:18
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: crear variable que funcione como las de C++

Cita:
Iniciado por papucho666 Ver Mensaje
Hola, quiero declarar una variable que tenga valores de 0 a 7, pero que se comporte como las variables de C++.
Por ejemplo, teniendo un valor de 7 y sumandole 1 que pase directamente al proximo valor que seria 0.

Por ahora lo hago con un

Código:
if(nomVar=7) then 
    nomVar=0
end if
Esto lo quiero hacer en VB6.

Gracias.

... y como se logra hacer en C++? (sin usar la condicional que pusiste)
__________________
Vivir para ser buenos y ser buenos para servir mejor.

Última edición por boluart; 07/05/2009 a las 15:24
  #3 (permalink)  
Antiguo 07/05/2009, 15:53
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: crear variable que funcione como las de C++

En C++ funcionan asi, sin tocar nada.
Declaras una variable tipo int,por ejemplo, que creo que admiten valor de 0 a 65000 y pico y si sobrepasan ese valor vuelve a cero y viceversa.
  #4 (permalink)  
Antiguo 07/05/2009, 16:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: crear variable que funcione como las de C++

Entonces esta bien lo que dijiste solo que con unas correcciones en la sintaxis, declaras en el evento que quieras del control que quieras lo siguiente:

Código:
if variable_numeros>7 then
variable_numeros=0
endif
  #5 (permalink)  
Antiguo 07/05/2009, 16:12
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: crear variable que funcione como las de C++

Si, ya lo tengo hecho y funciona, pero lo quiero sacar.
Hacerlo mas eficaz al script sin tener que meter un if.

Por que es un contador y le voy tirando a un array el valor de ese contador y si es mayor de 7 me tira error de "subindice fuera del intervalo". Entonces lo soluciono con ese if. Pero quiero declarar una varable de ese tipo y asi no uso if y funciona derecho.

creo que seria con una variable enumerada, pero no se como se hace.
  #6 (permalink)  
Antiguo 07/05/2009, 16:55
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: crear variable que funcione como las de C++

Cita:
Iniciado por papucho666 Ver Mensaje
En C++ funcionan asi, sin tocar nada.
Declaras una variable tipo int,por ejemplo, que creo que admiten valor de 0 a 65000 y pico y si sobrepasan ese valor vuelve a cero y viceversa.
Asi si ps, pense que te habias referido un valor maximo cualquiera, eso lo maneja internamente C++ , lamentablemente no hay un tipo de datos del 0-7, el mas pequeño es el bit (2 posibles valores), ahora tu podrias crear tu propia clase, sobrecargar el operador de suma y listo, pero creo que en vb6 no se puede sobrecargar operadores.
Otra opcion seria manejandolo como propiedades de una clase
de este modo lo controlarias al moemnto de obtener y asignarle valores.
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #7 (permalink)  
Antiguo 07/05/2009, 20:29
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: crear variable que funcione como las de C++

Cita:
Iniciado por boluart Ver Mensaje
Asi si ps, pense que te habias referido un valor maximo cualquiera, eso lo maneja internamente C++ , lamentablemente no hay un tipo de datos del 0-7, el mas pequeño es el bit (2 posibles valores), ahora tu podrias crear tu propia clase, sobrecargar el operador de suma y listo, pero creo que en vb6 no se puede sobrecargar operadores.
Otra opcion seria manejandolo como propiedades de una clase
de este modo lo controlarias al moemnto de obtener y asignarle valores.

Ok, la idea debe ser buena, pero al final se complica mas que utilizando el if, asi que lo voy a terminar dejando no mas.

Es un programita para manejar unos leds por el puerto paralelo, son los pirmeros experimentos asi que no va a afectar el "rendimiento" del programa.
  #8 (permalink)  
Antiguo 07/05/2009, 21:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: crear variable que funcione como las de C++

Lo que puedes hacer es usar el operador de resto al asignar:
Código vb:
Ver original
  1. Numero = 7
  2. Numero = (Numero + 1) Mod 8 'Resultado: 0
  3. Numero = 7
  4. Numero = (Numero + 2) Mod 8 'Resultado: 1
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 09/05/2009, 17:50
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: crear variable que funcione como las de C++

UUhhh, muchas gracias david el groso. Lo voy a probar creo que eso es justo lo que estaba buscando.
Muchas gracias. Muy util.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:56.