elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Duda] estructura While-Wend, no entiendo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Duda] estructura While-Wend, no entiendo  (Leído 6,254 veces)
Dreamaker

Desconectado Desconectado

Mensajes: 277



Ver Perfil
[Duda] estructura While-Wend, no entiendo
« en: 2 Abril 2010, 19:28 pm »

Hola amigos, bueno abro este thread porque estoy leyendo sobre la estructura While-Wend que nunca la entendí (siempre pensé que era lo mismo que el For-Next) y vi un codigo de ejemplo que les muestro a continuación:

Código
  1. Private Sub Command1_Click()
  2. Dim contador  As Integer 'Declaramos la variable
  3.  
  4. While contador <> Text1
  5.  
  6. 'Mostramos en el formulario el valor de la variable contador
  7. Me.Caption = contador
  8.  
  9. 'Incrementamos la variable en 1
  10. contador = contador + 1
  11.  
  12. Wend
  13.  
  14. MsgBox "Termino el bucle"
  15.  
  16. End Sub

Lo que dice la explicación que estoy leyendo a modo de ejemplo y no entendí es lo siguiente:

Citar
Un ejemplo, agrega un Command1 al formulario y un control Text1. Cuando ejecutemos el ejemplo, se deberá escribir un número dentro del control textBox. Entonces se creará un bucle While, que mostrará en el Caption del formulario, es decir en la barra de título, el intervalo desde 0 hasta el número que hayamos ingresado en el Text1. Es decir si ingresamos el número 9000, en el caption del formulario se imprimirán los número desde 0 hasta 9000.

Para hacer esto, dentro del bucle While pondremos una variable llamada Contador, que en cada pasada se incrementará en 1, pero cuando la variable Contador sea igual al número que haya en el Text1, se finalizará el bucle y se mostrará un mensaje que finalizó el mismo

Mi duda es: ¿No hay que asignarle ya el valor de 1 a la variable contador para que empiece desde allí? O basta con ingresar Contador = Contador + 1 que le ingresa el valor de 1 y después sigue? (Entonces supongo que si le suma 1, es porque antes tenía el valor de 0)

Muchas gracias! Y haber quien me puede dar una mano con el concepto para ayudarme a entenderlo..


« Última modificación: 2 Abril 2010, 20:24 pm por Dreamaker » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Duda con estructura While-Wend
« Respuesta #1 en: 2 Abril 2010, 19:42 pm »

...No hay que asignarle ya el valor de 1 a la variable contador para que empiece desde allí? O basta con ingresar Contador = Contador + 1 que le ingresa el valor de 1 y después sigue? (Entonces supongo que si le suma 1, es porque antes tenía el valor de 0
Tù lo haz dicho!

While, es como una Condicion-Bucle, donde si cumple la condicion, se ejecuta el bucle.
Contador, es una variable entera, asì que se inicializa en 0. Despues si cumple la condicion, entra al ciclo, dentro del ciclo, se le aumenta un item a la variable Contador y asi sucesivamente hasta que el valor de Contador sea diferente al valor del Text.


En línea

Te vendería mi talento por poder dormir tranquilo.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Duda con estructura While-Wend
« Respuesta #2 en: 2 Abril 2010, 20:08 pm »

 * Traduciendo de Ingles a Español seria:

While [condicion]       es Decir      Mientras Que [condicion]
wend

otro

wend
While [condicion]

otros: Do-Loop ("Es lo mismo trabaja igual"... Bueno casi),

Until se usa para cambiar el valor pero en Do-Loop.
Do-Loop trabaja casi igual que While-Wend solo que Do-Loop puede usar Until en su Do o en su loop.

Do while [condicion]
Loop


ó

Do
Loop [condicion]


y la condicion puede ir tanto en Do como en loop de igual forma el Until pero Until es solo usado CUANDO no se usa el While OJO!¡.

Do Until [condicion
Loop

ó

Do
Loop Until [condicion]



Ejemplo con While-Wend

Pega esto en un Form
Código
  1.  
  2. Private a As Boolean
  3. Private Sub Form_Click()
  4.    a = Not a   '   //  volteamos el valor con Not
  5.    Call bucle
  6. End Sub
  7. Private Sub Form_Load()
  8.    Show
  9.    a = True
  10.    Call bucle
  11. End Sub
  12. Private Sub bucle()
  13.    'While a = True  '   //  no es nesesario poner a = true
  14.    While a
  15.        DoEvents    '   //  para que no se trabe el programa xP
  16.        Caption = Val(Caption) + 1
  17.    Wend
  18. End Sub
  19.  
  20.  

Sin wend

Código
  1.  
  2. Private Sub bucle()
  3.    Do While a
  4.        DoEvents    '   //  para que no se trabe el programa xP
  5.        Caption = Val(Caption) + 1
  6.    Loop
  7. End Sub
  8.  
  9.  

Do until

Código
  1.  
  2. Private Sub bucle()
  3.    Do Until a
  4.        DoEvents    '   //  para que no se trabe el programa xP
  5.        Caption = Val(Caption) + 1
  6.    Loop
  7. End Sub
  8.  
  9.  

Loop until

Código
  1.  
  2. Private Sub bucle()
  3.    Do
  4.        DoEvents    '   //  para que no se trabe el programa xP
  5.        Caption = Val(Caption) + 1
  6.    Loop Until a
  7. End Sub
  8.  
  9.  

OJO la variable a es de tipo booleano por lo tanto no lo iguale a true o a false ya que no me hacia falta, es decir:  5+5=10  esto devuelve true o false seguns ea y seria un tipo booleano

Sangriento Infierno Lunar!¡.
« Última modificación: 2 Abril 2010, 20:12 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Dreamaker

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Duda] estructura While-Wend, no entiendo
« Respuesta #3 en: 2 Abril 2010, 20:20 pm »

Gracias Alex@shellroot y BlackZeroX▓▓▒▒░░, aunque lo que has dicho BlackZeroX▓▓▒▒░░ es bastante avanzado para lo que entiendo hasta ahora, es un lío!!

:o :o
« Última modificación: 2 Abril 2010, 20:24 pm por Dreamaker » En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: [Duda] estructura While-Wend, no entiendo
« Respuesta #4 en: 2 Abril 2010, 20:32 pm »

no es difícil, solo sigue los flujos de los datos, aprende a identificar que bloque es el mas adecuado a la operación que debes realizar, si hay palabras reservadas que no entiendes, busca su funcionamiento y vuelve a echarle un ojo al code, lee un tuto básico, ya veras que en poco tiempo no pensaras lo mismo sobre los bucles.

Código:
http://www.elguille.info/vb/cursos_vb/basico/indice.htm

saludos!!
En línea

Dreamaker

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Duda] estructura While-Wend, no entiendo
« Respuesta #5 en: 3 Abril 2010, 04:07 am »

Gracias! A ver si lo termino de entender, con FOR hago un ciclo repetitivo durante la cantidad de veces que yo quiera, en cambio con WHILE ésto pasa MIENTRAS la condición se cumpla y HASTA que se deje de cumplir, una vez que se deja de cumplir deja de ejecutarse el bucle sin haber tenido fijada una cantidad de ciclos, osea que es condicional. Estoy en lo correcto con lo que dije?

Por cierto aparte de la pregunta anterior, alguien tiene idea de que diferencia hay aparte con el DO y el LOOP que también sirven para lo mismo creo? (Con algún ejemplo básico en lo posible)

Necesitaba saberlo para el colegio ya que la próxima semana me toman evaluación :-\
« Última modificación: 3 Abril 2010, 04:10 am por Dreamaker » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: [Duda] estructura While-Wend, no entiendo
« Respuesta #6 en: 3 Abril 2010, 05:12 am »

Estoy en lo correcto con lo que dije?
Simon, estás en lo cierto!

Do While: Se utiliza generalmente cuando no sabemos cuantas veces se habrá de ejecutar el bucle, igual que el bucle WHILE, con la diferencia de que sabemos seguro que el bucle por lo menos se ejecutará una vez.

Loop, es la terminacion del Do, es decir:
Código
  1. Do
  2. {Acciones}
  3. Loop While
  4.      {Acciones}
  5.     Wend
« Última modificación: 3 Abril 2010, 05:13 am por Alex@ShellRoot » En línea

Te vendería mi talento por poder dormir tranquilo.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[DUDA] Edición de la Estructura PE
Análisis y Diseño de Malware
s7evin 4 4,251 Último mensaje 8 Noviembre 2012, 20:36 pm
por s7evin
Duda con estructura _LDR_DATA_TABLE_ENTRY
Ingeniería Inversa
.:UND3R:. 6 4,050 Último mensaje 5 Julio 2013, 18:38 pm
por rdzlcs
Duda estructura o seudocodigo
Programación C/C++
nolasco281 2 1,992 Último mensaje 8 Abril 2014, 17:37 pm
por nolasco281
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines