ayuda con la funcion Do Until

Iniciado por kakinets, 23 Marzo 2006, 02:43 AM

0 Miembros y 1 Visitante están viendo este tema.

kakinets

hola a todos. tengo un par de dudas alguien me puede explicar con sus palabras para que seiver la funcion Do Until?

muchas gracias y saludos a todos

otra cosa en esa funsion estaba esta linea EOF(1) que es??

karmany

#1
SENTENCIA Do...Loop
Un Loop (bucle) repite la ejecución de un conjunto de sentencias mientras una condición dada sea cierta, o hasta que una condición dada sea cierta.

Yo la utilizo por ejemplo para pasar registro por registro toda una base de datos.
Ej.
Do Until Data1.Recordset.EOF
    ...   
Loop

Lo que acabo de poner es un bucle (igual q con for.. next).
El bucle va desde Do (imagina el for) hasta Loop (imagina el next). Y el bucle se va a repetir hasta(Until) que llegue al final de la base de datos (Data1.Recordset.EOF)

Otro ej. sencillo:
  Dim I as integer, suma as integer
  I=1
  Do While I <= 99 'bucle mientras I<=99
    suma = suma+I
    I=I+2
  Loop
  Print suma

.Slasher-K.

Until = Hasta

En lugar de ejecutarse el bucle mientras la condición sea True, lo hace mientras la condición sea False, o sea hasta que sea verdadera.

kakinets

Perdon por ser tan inutil pero me puedes explicar este codigo que no logro entenderlo:

Dim I as integer, suma as integer
  I=1
  Do While I <= 99 'bucle mientras I<=99
    suma = suma+I
    I=I+2
  Loop
  Print suma

Grimble Grumble

Ese codigo se va a ejecutar MIENTRAS i sea <= 99.
Aunq no entiendo porq pones dos contadores... los dos van a valer lo mismo... creo...

Saludos
A gnome named Grimble Grumble
And little gnomes stay in their homes
Eating, sleeping, drinking their wine...

karmany

Dim I as integer, suma as integer
  I=1
  Do While I <= 99 'bucle mientras I<=99
    suma = suma+I
    I=I+2
  Loop
  Print suma


El código es muy sencillo. Lo que hace es simplemente sumar los números impares entre 1 y 99, y lo imprime en el formulario.
Do While I<=99 significa que el bucle se realizará mientras (While) I sea menor o igual que 99.
Es decir I=1 suma=1, después I=3, suma=4 etc... hasta I=99 suma =2500. Si te fijas el último I=99 será I=101 por I= I +2 pero la suma es entre 1 y 99 a.i.

Espero te sirva