Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Variables.Limitar A Un Rango De Valores
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Variables.Limitar A Un Rango De Valores 
 
Hola Comunidad!.

Aunque un poco liado,como de costumbre.Estuve dándole vueltas a la variables.
Veréis.Suponer que tenemos una variable de cadena y queremos limitar sus valores a unos valores predefinidos o constantes.

Ejemplos:

Figuras={triangulo,cuadrado,trapecio,circulo}
Colores={rojo,amarillo,verde}

¿ Cual seria la mejora forma de hacerlo ?. Bien.Estuve repasando muy poco el tema del tipo Enumerado.
Lo vimos en su día.Fabian explico un ejemplo con los días de la semana que iban cambiando.
Aparentemente hoy en día no se le da tanta importancia al tipo de enumerados, pero creo que esto es un error.

También aplique un array  o conjunto que contiene una serie de valores con un indice.

En el caso de las figuras hice este ejemplo:

Public Sub Ejemplo1()
Dim grupovalores As String[] = ["triangulo","cuadrado","trapecio", "circulo"]
Dim tomavalor As String
Dim x As Integer
Dim y As Integer

Print "Escoge un valor para asignar a la variable:"
Do While tomavalor = ""
  'Damos las opciones a escoger
  For x = 0 To grupovalores.Count - 1
    Print x & " - la variable contendra " & grupovalores[x]
  Next
  Input y
  'Limitamos los valores del 0 al 3  
  If y > 0 And y <= 3 Then
    tomavalor = grupovalores[y]  
  Else
    Print "Escoge un valor para asignar a la variable:"
  Endif
Loop
Print "La variable contiene " & tomavalor    
  
End
 


Y en el caso de un tipo enumerado.Uso un ejemplo con los colores de un semáforo.

Defino una clase que contendrá los tres colores.

Clase EnumSemaforo

Public Enum rojo, amarillo, verde
 


Y en el FMain Tengo:

Public Sub ejemploSemaforo()
  Dim semaforo As New EnumSemaforo
  Dim colorsemaforo As Byte
  
  'Desde el punto de vista del peatón.
  
  colorsemaforo = semaforo.verde

  Select Case colorsemaforo
      Case 0
        Print "Rojo - Prohibido el paso"
      Case 1
        Print "Amarillo - Precaución"
      Case 2
        Print "Verde - El peatón puede cruzar"
  End Select
      
End
 


¿ Que harías vosotros ?.¿ Que creéis que es lo mas adecuado ?.
Dado los lenguajes nuevos tenemos unas posibilidades que los de antes no disponían.

Si queréis hacerlo desde un punto mas primitivo a uno mas moderno usando clases, mejor.

P.d, viendo el ejemplo del semáforo se pueden cambiar cosas.

Saludos.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Lunes, 10 Septiembre 2012, 12:39; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Variables.Limitar A Un Rango De Valores 
 
Shell:

Usando clases queda muy curioso.


Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Variables.Limitar A Un Rango De Valores 
 
Julio:

jsbsan escribió: [Ver mensaje]


Usando clases queda muy curioso.



Ademas es curioso por que puedes hasta jugar con esos valores y crear un valor aleatorio con ellos.
El problema es que RND siempre usa uno mas, Si es un número entre 1 y 6:

INT(RND(1,7))

Entonces con los colores del semáforo, ocurre que el verde nunca saldría.

  
   colorsemaforo = Int(Rnd(semaforo.rojo, semaforo.verde))

 


Lo que me fije que en vez de usar

Case 0, Case 1, podríamos poner:

Case colorsemaforo.rojo...etc

Pero el código se alarga algo mas.Aunque resulta didáctico.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Variables.Limitar A Un Rango De Valores 
 
Shell:

Puede ser interesante usarlo con Choose ( http://cursogambas.blogspot.com.es/2012/08/choose.html )

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Variables.Limitar A Un Rango De Valores 
 
Julio:

Ok, apuntado.Aunque resulta algo mas confusa.

Saludos.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes (Ayuda) Consulta De Fechas Por Rango skaterleopoldo12 Bases de Datos 4 Viernes, 22 Febrero 2013, 14:18 Ver último mensaje
skaterleopoldo12
No hay nuevos mensajes Seleccionar Un Rango De Valores De Un Array Shell General 4 Sabado, 21 Noviembre 2015, 13:52 Ver último mensaje
Shell
No hay nuevos mensajes Rango De Fechas En Componente calcena General 1 Jueves, 26 Julio 2018, 18:02 Ver último mensaje
shordi
No hay nuevos mensajes Slider Con Rango (min-max) En Vez De Un So... tincho Controles/Librerías/Componentes 12 Lunes, 17 Diciembre 2018, 13:30 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron