Apúntate...


Consultas, desarrollo de programas y petición de presupuestos:

Mostrando entradas con la etiqueta estructuras. Mostrar todas las entradas
Mostrando entradas con la etiqueta estructuras. Mostrar todas las entradas

martes, 21 de agosto de 2012

For ... Each

Repite un bucle mientras se enumera un objeto, dicho objeto debe de ser enumerable ( por ejemplo, una colección, o una matriz.)

 Sintaxis:

FOR EACH Variable IN Expresión 
   ... 
 NEXT
 
Expresión : debe de ser un objeto enumerable

Ejemplo:
Con una matriz de cadenas:



Dim Dict As New String[]
Dim Elemento As String

Dict.add("Azul")
Dict.add("Rojo")
Dict.add("Verde")

For Each Elemento In Dict
Print Elemento
Next

Para más información: http://gambaswiki.org/wiki/lang/foreach

Descarga del ejemplo:  Enlace


Break y Continue

 Estas dos instrucciones se usan dentro de los bucles.

Break: hace que salgamos del bucle o ciclo  sin terminar de ejecutar las ordenes que le sigan

Continue: hace que saltemos del el ciclo actual, continuando el bucle de repetición

Veamos dos ejemplos:
Ejemplo de Break:



'ejemplo de uso de break:
Dim limite, a As Integer
Print "Introduce un numero del 1 al 10, para salir del bucle cuando llegue a el:"
Input limite
For a = 1 To 10
If a = limite Then
Print "Salgo del bucle..."
Break
Endif
Print "Numero ", a 'esto no se ejuctara una vez que a llegue a ser igual que limite
Next


Print "Fin del ejemplo"

Y un ejemplo de Continue:

Print "Usando Continue"
Print "Introduce un numero del 1 al 10, para salte a la siguiente iteración del bucle cuando llegue a el:"
Input limite
For a = 1 To 10
If a = limite Then
Print "Salto a la siguiente iteración del bucle..."
Continue
Endif
Print "Numero ", a 'esto no se ejuctara una vez que a llegue a ser igual que limite
Next


Print "Fin del ejemplo de uso de Continue"

  • La salida generada, si le doy el valor de limite=3:
 Usando Break
Introduce un numero del 1 al 10, para salir del bucle cuando llegue a el:
3
Numero  1
Numero  2
Salgo del bucle...
Fin del ejemplo de uso de Break
Usando Continue
Introduce un numero del 1 al 10, para salte a la siguiente interación del bucle cuando llegue a el:
3
Numero  1
Numero  2
Salto a la siguiente iteración  del bucle...
Numero  4
Numero  5
Numero  6
Numero  7
Numero  8
Numero  9
Numero  10
Fin del ejemplo de uso de Continue


Enlace de descarga del código de ejemplo: Enlace 

Para más información:
http://gambaswiki.org/wiki/lang/break?l=es&nh
http://gambaswiki.org/wiki/lang/continue?l=es&nh


lunes, 20 de agosto de 2012

Choose

Esta orden es una simplificación de Select Case, que nos ahorra bastantes lineas de código, la podemos usar algunas veces.


Value = Choose ( Choice , Result1 , Result2 [ , ... ] )

Choise: es una variable, que si vale 1 devolverá el Result1, si vale 2, devolverá el Result2, y si el valor supera a los resultados que escribamos, devuelve NULL

Fuente:
http://gambaswiki.org/wiki/lang/choose?l=es


Ejemplo de uso: Dia de la semana

Dim dia_semana As String
Dim x As Integer
Print "Di un numero entre el 1 y el 7:"
Input x
dia_semana = Choose(X, "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo")
Print dia_semana

En este ejemplo, al escribir 1 devuelve Lunes, si escribimos 8 devuelve NULL.

También se puede hacer con Select Case, pero es mucho más largo:


Dim dia_semana As String
Dim x As Integer

Print "Di un numero entre el 1 y el 7:"
Input x
Select x
Case 1
dia_semana = "lunes"
Case 2
dia_semana = "Martes"
Case 3
dia_semana = "Miercoles"
Case 4
dia_semana = "Jueves"
Case 5
dia_semana = "Viernes"
Case 6
dia_semana = "Sabado"
Case 7
dia_semana = "Domingo"
Case Else
Print Null
End Select
Print dia_semana


Enlace de descarga del codigo fuente: Enlace





SELECT CASE


Esta orden  se utiliza para seleccionar una de entre múltiples alternativas.
•Es especialmente útil cuando la selección se basa en el valor de una variable simple o de una expresión simple denominada expresión de control o selector.


Se utiliza para ejecutar acciones diferentes según el valor de una expresión o una variable. Consiste en una serie de etiquetas case y un case por omisión Case Else ó default.

Formato:
SELECT [ CASE ] Expression
  [ CASE [ Expression ] [ TO Expression #2 ] [ , ... ]     ... ]
  [ CASE [ Expression ] [ TO Expression #2 ] [ , ... ]     ... ]
  [ CASE LIKE Expression [ , ... ]     ... ]
  [ { CASE ELSE | DEFAULT }     ... ]
END SELECT

Explicacion:
Select variable
   case valor1
      accion1
    case valor2
      accion2
......
   case valorN
      accionN
   case else
      accionD
  End Select


La acción 1 se ejecuta si la variable adquiere el valor1.

La acción 2 se ejecuta si la variable adquiere el valor 2.

La acción n se ejecuta si la variable adquiere el valor n.

Cualquier otro valor de la variable conduce a la realización de la secuencia accionD, indicada por la palabra reservada case else.


La secuencia  case else puede omitirse

Para más información visite gambaswiki: http://gambaswiki.org/wiki/lang/select?l=es

Ejemplo de uso: Menu en modo consola (usando numeros)

Dim opcionN As Integer
Print "Ejemplo de uso de Select Case: Menu"
Print ""
Print ".....Menu......"
Print "1) Escribir \"hola\""
Print "2) Escribir \"adios\""
Print "3) Escribir \"Gambas\""
Print ""
Print "Escriba la opcion: 1/2/3:";
Input opcionN


Print "La opcion elegida es..."; opcionN


Select opcionN
Case 1
Print "hola"
Case 2
Print "adios"
Case 3
Case Else
Print "La opcion es descnocida"
End Select

Ejemplo de uso: Menu en modo consola (usando letras)

Dim opcion As String
Print "Ejemplo de uso de Select Case: Menu"
Print ""
Print ".....Menu......"
Print "a) Escribir \"hola\""
Print "b) Escribir \"adios\""
Print "c) Escribir \"Gambas\""
Print ""
Print "Escriba la opcion: a/b/c:";
Input opcion

Print "La opcion elegida es..."; opcion

Select opcion
Case "a"
Print "hola"
Case "b"
Print "adios"
Case "c"
Case Else
Print "La opcion es descnocida"
End Select

Ejemplo 2: Traducir Palabras

Dim opcion As String
Print "Ejemplo 2"
Print "-------------"
Print "rojo"
Print "verde"
Print "azul"
Print "-------------"
Print "Escriba un color (rojo/verde/azul): ";
Input opcion
Select opcion
Case "rojo"
Print "en ingles es RED"
Case "AZUL"
Print "en ingles es BLUE"
Case "verde"
Print "en ingles es GREEN"
Case Else
Print "No se traducir la palabra "; opcion
End Select

Ejemplo: Intervalos numericos
Dim opcion As Integer
Print ""
Print "Introduzca un numero entre el 1 al 10:"
Input opcion
Select opcion
Case 1 To 5
Print "Esta entre el 1 al 5"
Case 6 To 10
Print "Esta entre el 6 al 10"
Case Else
Print "fuera del intervalo..."
End Select

Podeis descargaros los ejemplos en este enlace: Ejemplos Uso Select Case



A falta de donativos... un poco de publicidad