https://foro.gambas-es.org/viewtopic.php?f=1&t=4681&p=26882#p26882
-----------------------------------
Shell
Lunes, 08 Junio 2015, 19:56

Ejemplo Con Enum
-----------------------------------
Psss, Psss. Hola!.

Hace un año atrás hice unos ejemplos y la mejor forma de ver como progresas es cambiar estos y mejorarlos con lo que vas aprendiendo
por el camino. Esto son solo ejemplos sencillos. 

El comienzo de una aventura. Todo comenzó con un hombre que caminaba por la calle, este se encontraba desde unas "buenas vistas" que mirar,
a piedras en el camino y más peligros que se encontraba, lo que podría hacer que el aventurero llegase a casa o no.
Los eventos se generaban al azar. Si, ¿ a que parece una aventura mega fantástica ? (  :lol:  )..pues no, era solo un ejemplo y esta hecho en consola.

Y después de ese juego , me vino otro ejemplo y de este a otro. Así que se me ocurrió usar algo que no solemos usar mucho."Las enumeraciones".
En este caso, tenemos definidas las direcciones, se genera en un array el camino que va a seguir, podría haber sido al azar.

[code linenumbers=false syntax=gambas]
Private Enum derecha, izquierda, adelante, atras, fin 
Private icamino As Integer[] = [derecha, adelante, adelante, izquierda, adelante, adelante, derecha, fin]
' El array acamino deben coincidir sus indices con los valores de la enumeración, 0,1,2..
Private acamino As String[] = ["derecha", "izquierda", "adelante", "atrás", "fin"]

Public Sub Main()
  
  Dim x As Integer
  
  For Each x In icamino
    Caminar(x)
  Next
  
End

Public Sub Caminar(direccion As Integer)
  
  Select Case direccion
    Case 0, 1
      Print "giramos a la " & Conv_numero_cadena2(direccion)
    Case 2, 3
      Print "vamos " & Conv_numero_cadena2(direccion)
    Case Else
      Print "Hemos llegado"
  End Select
  
End

Public Function Conv_numero_cadena2(num As Integer) As String

  'No pude usar una colección, la llave o clave es una cadena, en cambio use el indice del array    
  Return acamino[num]
  
End
[/code]

Es solo un ejemplo de Enum.

Saludos


