Advertisement
jsbsan

switchStrategyClase

Feb 14th, 2014
1,146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
GAMBAS 1.92 KB | None | 0 0
  1. ' Gambas class file
  2.  
  3. Private ListaOpciones As New InterfaceOpcion[]
  4.  
  5. Public Sub _new(contadores As Integer[])
  6.   'En el constructor indico que opciones estan disponibles
  7.   ''------------------------------------------
  8.   ''NOTE: Listado de Estrategias disponibles:
  9.   ''------------------------------------------
  10.   ''NOTE: Si hubieran mas opciones se añadirian continuacion
  11.   '--- poner aqui nuevas opciones... Dim XXXXXtmp as new OpcionXXXX
  12.  
  13.   Dim Opcion1tmp As New Opcion1
  14.   Dim Opcion2tmp As New Opcion2
  15.   Dim Opcion3tmp As New Opcion3
  16.   Dim Opcion4tmp As New Opcion4
  17.   Dim Opcion5tmp As New Opcion5
  18.   Dim Opcion6tmp As New Opcion6
  19.  
  20.   Opcion1tmp.numero = contadores
  21.   Opcion2tmp.numero = contadores
  22.   Opcion3tmp.numero = contadores
  23.   Opcion4tmp.numero = contadores
  24.   Opcion5tmp.numero = contadores
  25.   Opcion6tmp.numero = contadores
  26.  
  27.   'añado las opciones  a la lista de opciones
  28.   add(Opcion1tmp)
  29.   add(Opcion2tmp)
  30.   add(Opcion3tmp)  
  31.   add(Opcion4tmp)
  32.   add(Opcion5tmp)
  33.   add(Opcion6tmp)
  34.   'aqui el programador podrá añadir más estrategias
  35.  
  36. End
  37.  
  38. Public Sub add(opcion As InterfaceOpcion)
  39.   'este médoto se puede usar tambien dinamicamente, durante la ejecución del programa..
  40.  
  41.   ListaOpciones.Add(opcion)
  42.  
  43. End
  44.  
  45. Public Sub remove(opcion As InterfaceOpcion)
  46.   'este método permite borrar dinamicamente durante la ejecución del programa, opciones
  47.  
  48.   ListaOpciones.Remove(ListaOpciones.Find(opcion))
  49.  
  50. End
  51.  
  52. Public Sub operar(expresion As String)
  53.  
  54.   Dim opciontmp As New InterfaceOpcion
  55.  
  56.   For Each opciontmp In ListaOpciones
  57.     If opciontmp.comprobar(expresion) Then
  58.       opciontmp.operar(expresion)
  59.       Return  
  60.     Endif
  61.   Next
  62.   'no se ha encontrado ninguna opcion para la expresión
  63.   'se ejecuta la opcion por defecto
  64.   opcionDefecto(expresion)
  65.  
  66. End
  67.  
  68. Public Sub opcionDefecto(expresion As String)
  69.  
  70.   Print "Error:  " & expresion & " no reconocido "
  71.  
  72. End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement