Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: jesusarturoes en 18 Diciembre 2010, 03:35 AM

Título: do while y do until
Publicado por: jesusarturoes en 18 Diciembre 2010, 03:35 AM
bueno tengo una duda de como se utilizan es qu estoy empezando desde incios pero me quede atorado ahi y me gustaria mucho qu alguien me lo explicará como si fuera niño de primaria xD solo quiero entenderlo... por favor si me ayudan se los agradeceré mucho  :P
Título: Re: do while y do until
Publicado por: ignorantev1.1 en 18 Diciembre 2010, 04:00 AM
Do while se ejecuta mientras la expresion sea cierta...

Do until se ejecuta hasta que la expresion sea cierta...

Título: Re: do while y do until
Publicado por: jesusarturoes en 18 Diciembre 2010, 04:07 AM
Cita de: ignorantev1.1 en 18 Diciembre 2010, 04:00 AM
Do while se ejecuta mientras la expresion sea cierta...

Do until se ejecuta hasta que la expresion sea cierta...



;-) muchisimas gracias le entendi perfectamente, pero otra cosilla si no es mucha molestia...

ya vi por el ejemplo un codigo:

dim sum as integer = 0
dim counter as integer = 0
do while sum < 100
sum = sum + cint (textbox1.text)
counter = counter +1


me podrian explicar por que se agrega la ultima linea counter = counter +1 por que se le agrega ese +1 ???  ;) gracias por tu ayuda ignorantev1.1
Título: Re: do while y do until
Publicado por: ignorantev1.1 en 18 Diciembre 2010, 04:38 AM
emmm pues no veo alguna funcion especial del codigo, creo que no lo pusiste todo.

Pero la sola linea:

counter = counter + 1

(Supongo) que esta para que en cada vuelta del ciclo se le sume 1 a counter... no se si eso es lo que preguntabas  :silbar:
Título: Re: do while y do until
Publicado por: jesusarturoes en 18 Diciembre 2010, 04:58 AM
Cita de: ignorantev1.1 en 18 Diciembre 2010, 04:38 AM
emmm pues no veo alguna funcion especial del codigo, creo que no lo pusiste todo.

Pero la sola linea:

counter = counter + 1

(Supongo) que esta para que en cada vuelta del ciclo se le sume 1 a counter... no se si eso es lo que preguntabas  :silbar:
ok gracias  :)
Título: Re: do while y do until
Publicado por: 79137913 en 20 Diciembre 2010, 15:08 PM
HOLA!!!

Te dejo un ejemplo:

Código (vb) [Seleccionar]

    x = 0
    Do While x < 100
        x = x + 1
    Loop
    Debug.Print x
    x = 0
    'es lo mismo que
    Do Until Not x < 100
        x = x + 1
    Loop


GRACIAS POR LEER!!!
Título: Re: do while y do until
Publicado por: jesusarturoes en 21 Diciembre 2010, 01:25 AM
Cita de: 79137913 en 20 Diciembre 2010, 15:08 PM
HOLA!!!

Te dejo un ejemplo:

Código (vb) [Seleccionar]

    x = 0
    Do While x < 100
        x = x + 1
    Loop
    Debug.Print x
    x = 0
    'es lo mismo que
    Do Until Not x < 100
        x = x + 1
    Loop


GRACIAS POR LEER!!!
puedes poner x enves de declarar una variable???  :) ojala me respondas por que soy nuevo en esto  :xD
Título: Re: do while y do until
Publicado por: Anco en 21 Diciembre 2010, 01:29 AM
X es la variable. Leete un Manual/Guia/Libro ::)
Título: Re: do while y do until
Publicado por: 79137913 en 21 Diciembre 2010, 12:45 PM
HOLA!!!

Lo mas recomendable es declarar todas las variables, pero VB6 tiene un sistema de reconocimiento automatico de variables y tipos de datos, en ese codigo calculo que el VB6 declaro implicitamente la variable X como integer.

Podes poner todas las variables que quieras en el codigo sin delcarar, pero te va a traer problemas, ya que VB6 las declara privadas dentro del procedimiento que estas haciendo, entonces si queres referenciarla entre 2 procedimientos, por Ej form1_load() y Command1_Click() vas a tener que declararla vos manualmente fuera de ambos procedimientos.

Ejemplo en codigo:

Aca VB6 te declara automaticamente la variable como privada del procedimiento Form_load()
Código (vb) [Seleccionar]
Private Sub Form_Load()
x = 50
'Aca al usar la variable x VB6 la declaro automaticamente
'como "Dim x As Integer" pero dentro de Form_load()
Call otroProcedimiento
End Sub

Private Sub otroProcedimiento()
Debug.Print x
'Aca quiero escribir la variable X en la ventana de inmediato//debug
'y no aparece nada, ya que la variable era exclusiva del otro procedimiento
'y VB6 la declaro como string calculo ya que en el debug aparece ""
End Sub


Aca uno declara la variable para todo el modulo:
Código (vb) [Seleccionar]
Dim x As Integer
Private Sub Form_Load()
x = 50
'Aca al usar la variable x VB6 la declaro automaticamente
'como "Dim x As Integer" pero dentro de Form_load()
Call otroProcedimiento
End Sub

Private Sub otroProcedimiento()
Debug.Print x
'Aca quiero escribir la variable X en la ventana de inmediato//debug
'y no aparece nada, ya que la variable era exclusiva del otro procedimiento
End Sub


Aca X toma valores de Cualquier tipo:
Código (vb) [Seleccionar]
Private Sub Form_Load()
x = 50
x = "hola"
x = #1/1/1999#
'Aca la variable x fue declarada por VB6 como "Dim X As Variant"
'osea una variable que puede tomar cualquier valor, pero esta te
'trae problemas al hacer operaciones y demas. No es recomendable.
End Sub


Aca da error ya que no coinciden los tipos
Código (vb) [Seleccionar]
Dim x as Integer
Private Sub Form_Load()
x = 50
'Despues de esta linea da el error
x = "hola"
End Sub


Seguro que no me pude expresar bien, cualquier cosa avisame e intento de nuevo.

GRACIAS POR LEER!!!
Título: Re: do while y do until
Publicado por: jesusarturoes en 22 Diciembre 2010, 04:21 AM
Cita de: 79137913 en 21 Diciembre 2010, 12:45 PM
HOLA!!!

Lo mas recomendable es declarar todas las variables, pero VB6 tiene un sistema de reconocimiento automatico de variables y tipos de datos, en ese codigo calculo que el VB6 declaro implicitamente la variable X como integer.

Podes poner todas las variables que quieras en el codigo sin delcarar, pero te va a traer problemas, ya que VB6 las declara privadas dentro del procedimiento que estas haciendo, entonces si queres referenciarla entre 2 procedimientos, por Ej form1_load() y Command1_Click() vas a tener que declararla vos manualmente fuera de ambos procedimientos.

Ejemplo en codigo:

Aca VB6 te declara automaticamente la variable como privada del procedimiento Form_load()
Código (vb) [Seleccionar]
Private Sub Form_Load()
x = 50
'Aca al usar la variable x VB6 la declaro automaticamente
'como "Dim x As Integer" pero dentro de Form_load()
Call otroProcedimiento
End Sub

Private Sub otroProcedimiento()
Debug.Print x
'Aca quiero escribir la variable X en la ventana de inmediato//debug
'y no aparece nada, ya que la variable era exclusiva del otro procedimiento
'y VB6 la declaro como string calculo ya que en el debug aparece ""
End Sub


Aca uno declara la variable para todo el modulo:
Código (vb) [Seleccionar]
Dim x As Integer
Private Sub Form_Load()
x = 50
'Aca al usar la variable x VB6 la declaro automaticamente
'como "Dim x As Integer" pero dentro de Form_load()
Call otroProcedimiento
End Sub

Private Sub otroProcedimiento()
Debug.Print x
'Aca quiero escribir la variable X en la ventana de inmediato//debug
'y no aparece nada, ya que la variable era exclusiva del otro procedimiento
End Sub


Aca X toma valores de Cualquier tipo:
Código (vb) [Seleccionar]
Private Sub Form_Load()
x = 50
x = "hola"
x = #1/1/1999#
'Aca la variable x fue declarada por VB6 como "Dim X As Variant"
'osea una variable que puede tomar cualquier valor, pero esta te
'trae problemas al hacer operaciones y demas. No es recomendable.
End Sub


Aca da error ya que no coinciden los tipos
Código (vb) [Seleccionar]
Dim x as Integer
Private Sub Form_Load()
x = 50
'Despues de esta linea da el error
x = "hola"
End Sub


Seguro que no me pude expresar bien, cualquier cosa avisame e intento de nuevo.

GRACIAS POR LEER!!!

muchas gracias!! le entendi muy bien...

CitarX es la variable. Leete un Manual/Guia/Libro ::)

es lo que estoy haciendo pero eso no venia en el libro asi que vine aqui para poder entender bien el do while y el do until y me quedo muy claro gracias a ustedes... tambien a ti!  :)