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

Descontrol en el control time

Estas en el tema de Descontrol en el control time en el foro de Visual Basic clásico en Foros del Web. Hola Estoy haciendo un control ciber, el cual soporta 10 maquinas, y para que cada maquina ejerza un conteo uso un time para cada una, ...
  #1 (permalink)  
Antiguo 03/06/2011, 13:30
Avatar de servantsoftware  
Fecha de Ingreso: abril-2011
Ubicación: 1 Pedro 4.11
Mensajes: 94
Antigüedad: 13 años, 1 mes
Puntos: 3
Exclamación Descontrol en el control time

Hola

Estoy haciendo un control ciber, el cual soporta 10 maquinas, y para que cada maquina ejerza un conteo uso un time para cada una, y cuando le doy al primero para activarlo se activa bien, pero cuando activo el segundo comienza a contar de 2 en dos, cuando activo el tercero de 3 en tres y luego se descontrolan todos, y cuentan a lo loco.

¿Que hago para normalizar esto?

Todos los times estan haci: Interval: 1000, como evito esto, y hago que todos cuenten normalmente
  #2 (permalink)  
Antiguo 03/06/2011, 13:55
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Respuesta: Descontrol en el control time

Hola!!
Creo que esto es lo que pasa (nos sacas de las dudas):

• Tienes un contador global
• Estas usando el mismo contador para cada timer

Si en un TIMERsumas CONT=CONT+1 y utilizas el mismo código en otro TIMER, no le estarás sumando uno (1), sino, lo que tiene el TIMER1 + la suma del codigo del TIMER2, y asi sucesivamente...

Creo que ese es el problema. Nos confirmas!
  #3 (permalink)  
Antiguo 03/06/2011, 14:16
Avatar de servantsoftware  
Fecha de Ingreso: abril-2011
Ubicación: 1 Pedro 4.11
Mensajes: 94
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Descontrol en el control time

mira el codigo abierto:

Código:
Option Explicit
Dim ss As Integer, mm As Integer, hh As Integer
Código:
Private Sub TMPC1_Timer()
' Propiedades en diseño: Enabled = False,  Interval = 1000
ss = ss + 1
If ss = 60 Then
    ss = 0
    mm = mm + 1
End If
If mm = 60 Then
    ss = 0
    mm = 0
    hh = hh + 1
End If
txtPC1.Text = Format(hh, "00") & ":" & Format(mm, "00") & ":" & Format(ss, "00")
End Sub
Esto es lo que hago, son 10 maquinas y cada una tiene un time osea 10 times, cada vez que se le da el boton iniciar hace el conteo con el codigo anterior.

cada uno de estos time contiene el mismo codigo, se que podria hacerce para que un solo isiera todo pero no se hacerlo todavia.

con esto llamo el metodo:

Código:
Private Sub PC1Iniciar_Click()
If PC1Iniciar.Caption = "Iniciar" Then
    ss = 0: mm = 0: hh = 0
    TMPC1.Enabled = True
    TmPC1Detener.Enabled = True
    
    Else
    TMPC1.Enabled = False
    PC1Iniciar.Caption = "Iniciar"

    End If
End Sub
Imagen:
  #4 (permalink)  
Antiguo 03/06/2011, 14:49
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Respuesta: Descontrol en el control time

Como te decia:

• Usas un contador global, en este caso son: ss, mm, hh

• Llamas al contador en un TIMER, en este caso TMPC1: aqui se empieza a acumular las variables:
"ss"
"mm"
"hh"

• Cuando llamas a otro TIMER (ej. TMPC2) vuelves a hacer lo mismo: acumulas nuevamante las variables:
"ss" + "ss" del TMPC1
"mm" + "mm" del TMPC1
"hh" + "hh" del TMPC1

• Al ejecutar un tercer TIMER (ej. TMPC3) vuelves a hacer lo mismo: acumulas nuevamante las variables:
"ss" + "ss" del TMPC1 + "ss" del TMPC2
"mm" + "mm" del TMPC1 + "mm" del TMPC2
"hh" + "hh" del TMPC1 + "hh" del TMPC2

Y asi sucesivamente... por eso saltan. Debes tener variables individuales:
ss1, mm1 y hh1 para TMPC1
ss2, mm2 y hh2 para TMPC2
ss3, mm3 y hh3 para TMPC3
ss4, mm4 y hh4 para TMPC4
...
...
...
ss10, mm10 y hh10 para TMPC10

Asi las variables no se sumaran unas a otras, solo las que les corresponden. Verifica y nos cuentas!
  #5 (permalink)  
Antiguo 03/06/2011, 15:30
Avatar de servantsoftware  
Fecha de Ingreso: abril-2011
Ubicación: 1 Pedro 4.11
Mensajes: 94
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Descontrol en el control time

Perfecto, ¿Que digo? perfecticimo, Gracias hermano, así mismo es... el proyecto control ciber seguira de pie, asi que atentos :D
  #6 (permalink)  
Antiguo 06/06/2011, 07:34
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Respuesta: Descontrol en el control time


Etiquetas: descontroltimer
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 10:14.