Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

sentencia infinita

Estas en el tema de sentencia infinita en el foro de Visual Basic clásico en Foros del Web. hola! necesito repetir lo siguiente infinitas veces: vChildComp = swComp.GetChildren 'una matriz q guarda varios objetos For i = 0 To UBound(vChildComp) Set swChildComp = ...
  #1 (permalink)  
Antiguo 17/11/2008, 07:26
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
sentencia infinita

hola!
necesito repetir lo siguiente infinitas veces:

vChildComp = swComp.GetChildren 'una matriz q guarda varios objetos

For i = 0 To UBound(vChildComp)
Set swChildComp = vChildComp(i)
Set b = swChildComp.GetModelDoc

nombre b 'llamara a un procedimiento llamada nombre
Next i

hay alguna forma o existe algun for q se repita infinitas veces??
infinitas veces menos una si no se me quedaria bloqueado...
gracias!

p.d. he intentado esto:

vChildComp = swComp.GetChildren

For i = 0 To UBound(vChildComp)
Set swChildComp = vChildComp(i)
Set b = swChildComp.GetModelDoc

nombre b

vChildComp2 = swChildComp.GetChildren
If (vChildComp2 <> Empty) Then
esteproce swChildComp 'llama a este procedimiento. pero al llamarle denuevo se llenara el vChildComp y se perderan los datos q quedaban x ejecutar.como lo hago??
End If
Next i

Última edición por ebu; 17/11/2008 a las 08:19
  #2 (permalink)  
Antiguo 17/11/2008, 08:16
Avatar de jotaaigriegao  
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: sentencia infinita

Cita:
Iniciado por ebu Ver Mensaje
infinitas veces menos una si no se me quedaria bloqueado...
Infinito menos uno me parece que sigue siendo infinito...En fin, un bucle asi se logra también con

while (true)
  #3 (permalink)  
Antiguo 17/11/2008, 08:27
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: sentencia infinita

ese while (true) seria como el If (vChildComp2 <> Empty) Then q he puesto. mi problema es q al ejecutar de nuevo el procedimiento hay variables q me van a coger nuevos datos teniendo datos "antiguos" sin ejecutar.
  #4 (permalink)  
Antiguo 17/11/2008, 08:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 136
Antigüedad: 15 años, 5 meses
Puntos: 2
De acuerdo Respuesta: sentencia infinita

Cita:
Iniciado por jotaaigriegao Ver Mensaje
Infinito menos uno me parece que sigue siendo infinito...En fin, un bucle asi se logra también con

while (true)
Saludos, solo sugiero que añadas la instruccion DoEvents de lo contrario tu programa estara enciclado sin poder recibir ordenes, como para poder detener el ciclo.

Algo asi:

Código:
Dim bBandera As Boolean

Private Sub Form_Load()
    bBandera = True
End Sub

Private Sub Command1_Click()
    Dim iContador As Integer
    While bBandera
        DoEvents
        iContador = iContador + 1
        Me.Caption = iContador
        If iContador > 1000 Then iContador = 0
    Wend
End Sub

Private Sub Command2_Click()
    bBandera = False
End Sub
Espero que te sirva
  #5 (permalink)  
Antiguo 17/11/2008, 08:50
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: sentencia infinita

Cita:
Iniciado por Judgement Ver Mensaje
Saludos, solo sugiero que añadas la instruccion DoEvents de lo contrario tu programa estara enciclado sin poder recibir ordenes, como para poder detener el ciclo.

Algo asi:

Código:
Dim bBandera As Boolean

Private Sub Form_Load()
    bBandera = True
End Sub

Private Sub Command1_Click()
    Dim iContador As Integer
    While bBandera
        DoEvents
        iContador = iContador + 1
        Me.Caption = iContador
        If iContador > 1000 Then iContador = 0
    Wend
End Sub

Private Sub Command2_Click()
    bBandera = False
End Sub
Espero que te sirva


gracias, pero sigo teniendo el mismo problema con las variables. las variables q tengo dentro del for me van cogiendo otros valores antes q termine el for.
gracias de todos modos!
  #6 (permalink)  
Antiguo 17/11/2008, 08:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 136
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: sentencia infinita

Has probado depurando tu código? para ver en que momento estan recibiendo los valores erroneos.
  #7 (permalink)  
Antiguo 17/11/2008, 09:31
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: sentencia infinita

eso q es lo de las gafitas??
me pone q las valiables estan fuera de contexto!
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 06:03.