Foros del Web » Programación para mayores de 30 ;) » .NET »

VBnet Do Loop Until - Error Name is not declared

Estas en el tema de VBnet Do Loop Until - Error Name is not declared en el foro de .NET en Foros del Web. Buenos dias! Desearia saber ¿por que se debe establecer una variable antes de un bucle?, siendo que este bucle se ejecuta al menos una vez ...
  #1 (permalink)  
Antiguo 10/06/2010, 07:44
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 1 mes
Puntos: 7
Pregunta VBnet Do Loop Until - Error Name is not declared

Buenos dias!

Desearia saber ¿por que se debe establecer una variable antes de un bucle?, siendo que este bucle se ejecuta al menos una vez por lo tanto no es importante conocer su valor hasta que se llegue al fin del bucle.

Si no se me entendio vamos al ejemplo:
Código VBnet:
Ver original
  1. Module Module1
  2.  
  3.     Function Mostrar(ByVal cadena) As Boolean
  4.  
  5.         Console.WriteLine(cadena)
  6.  
  7.         Return True
  8.  
  9.     End Function
  10.  
  11.  
  12.     Sub Main()
  13.  
  14.         Do
  15.  
  16.             Dim cadena As String = "hola"
  17.  
  18.         Loop Until Mostrar(cadena) ' Error Name 'cadena' is not declared.
  19.  
  20.  
  21.         Console.WriteLine()
  22.         Console.Write("Presione una tecla...")
  23.         Console.ReadKey()
  24.  
  25.     End Sub
  26.  
  27. End Module

Saludos!!!
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #2 (permalink)  
Antiguo 10/06/2010, 08:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: VBnet Do Loop Until - Error Name is not declared

Eso es parte de los fundamentos de programación: Variables locales y globales.
Tomando de un manual:
Cita:
Una variable local es aquella cuyo ámbito se restringe a la función que la ha declarado se dice entonces que la variable es local a esa función. Esto implica que esa variable sólo va a poder ser manipulada en dicha sección, y no se podrá hacer referencia fuera de dicha sección. Cualquier variable que se defina dentro de las llaves del cuerpo de una función se interpreta como una variable local a esa función.
Las secciones o entornos de existencia están determinados en la clase, los métodos, las funciones; y dentro del cuerpo de cada uno de ellos, existen variables que son globales del método o función y otras locales de las estructuras, como es tu caso.
Por eso, Puedes declarar si quieres una variable dentro del método, y dentro de un Do...While declarar otra con el mismo nombre. Ambas serán distintas, y asignar un valor a la interior del Do...While no asigna valor a la exterior...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: loop, vbnet
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 03:34.