Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: YAcosta en Septiembre 19, 2011, 02:38:32 pm
-
Estoy haciendo un contador tipo cronometro, super sencillo pero me inquieta no poder resolver el parpadeo que me presenta la pantalla, hay alguna forma de poder eliminarlo???
Aqui les pongo el proyecto, solo consta de un form.
Contador (http://www.belzusarri.com/ContadorTime.rar)
-
Yo baje pero ninguna cosa parpadea funciona muy bien YAcosta
-
Que??????? como asi??? yo me refiero al label blanco, a cada instante parpadea ligeramente. El programita (si se le puede llamar asi jeje) funciona pero estéticamente me queda feo ya que parpadea el lblContador y eso que tengo una PC que digamos es fuertesita. A que se debera?
P.D.: Genere el exe y lo mismo.
-
Hola, ami no me parpadea casi nada, pero bueno una opción es poner un label solo para el ultimo numero de los milisegundos que es el que cambia mas frecuente y el resto lo actualizas cada segundo, o bien haces lo mismo para los segundos.
otra opción podría ser utilizar la función "Print" sobre un PictureBox y bien si usas AutoRedraw= TRue seguro que no te va a parpadear pero consumira mas procesador.
-
Acá esta solucionado, no parpadea ni 1 si parpadea corta me la bola jejeje.
http://www.megaupload.com/?d=6JYI8RQ3
-
Hola, ami no me parpadea casi nada, pero bueno una opción es poner un label solo para el ultimo numero de los milisegundos que es el que cambia mas frecuente y el resto lo actualizas cada segundo, o bien haces lo mismo para los segundos.
otra opción podría ser utilizar la función "Print" sobre un PictureBox y bien si usas AutoRedraw= TRue seguro que no te va a parpadear pero consumira mas procesador.
Gracias Lea, voy a probar esa alternativa
-
Acá esta solucionado, no parpadea ni 1 si parpadea corta me la bola jejeje.
http://www.megaupload.com/?d=6JYI8RQ3
Voy a bajarlo, y voy preparando cuchillo tambien. ;) ;) ;)
-
O sino como dijo el amigo Leandro
Un Picture con la propiedad AutoRedraw= True
Private Sub Timer1_Timer()
I = I + 1
MyTime = Format(Int(I / 36000) Mod 24, "00") & ":" & Format(Int(I / 600) Mod 60, "00") & ":" & Format(Int(I / 10) Mod 60, "00") & ":" & Format(I Mod 10, "00")
'lblContador = MyTime
Picture1.Cls
Picture1.Print MyTime
End Sub
-
Houston tenemos problemas!!!
No se que sucede, primero descarte mi ojo y llame a otra persona para que vea si parpadea y confirmo que parpadea. Descartado mi ojo explico lo que paso.
Baje el ejemplo de Ariel, y sucede exactamente lo mismo, parpadea como siempre. Entonces, para demostrar que parpadea empece a grabar la pantalla como cuando hago mis videocast, grabé 10 segundos de parpadeo, me pongo a reproducir el vídeo, y el bendito vídeo me muestra un cronometro sin parpadeo alguno... juatttt!!! tengo animas en mi pc o que???
Concluyo que se trata de mi pc, será algo con el directX? openGL o alguna de esas madres????
La próxima me queda agarrar la filmadora y filmar la pantalla jeje.
Que sera??
-
juazzzz, no no cuando yo probé por primera ves fue así no parpadeo la segunda ya parpadeo, pero desde que le puse el picture ya no parpadeo. El picture no tenes que poner Visible a False tiene que estar en true.
-
Probe tambien con autoredraw e igual sigue parpadeando. Me voy de salida con esta espina, pero cuando regrese retomo el tema y hasta me filmo la pantalla pa que chequeen je
Saludos
-
Estoy en la pc de un cliente, baje el code y parpadea. :'( :'( :'(
-
Que raro che, por que en el mio ni un parpadeo, nos era por el windows o no se Yo tengo Win7. Con las 2 forma que te pase funciona de 10.
Private Sub Timer1_Timer()
I = I + 1
MyTime = Format(Int(I / 36000) Mod 24, "00") & ":" & Format(Int(I / 600) Mod 60, "00") & ":" & Format(Int(I / 10) Mod 60, "00") & ":" & Format(I Mod 10, "00")
'lblContador = MyTime
Picture1.Cls
Picture1.Print MyTime
End Sub
-
Definitivamente los 2 métodos probé ahora en WinXp Virtualizado y ni una vez parpadeo. Funacina muy bien.
-
a mi no me parpadea lo que puso E N T E R, pero no me funciono hasta que le puse dentro del Timer Static I As Integer
-
Señores, esto se esta volviendo mi waterloo, no logro resolver esto, aqui les pongo un video filmado en pantalla para que noten lo grotesco que me resulta el parpadeo (o quiza yo exagero). Donde un cliente me paso lo mismo. Debo aclarar que esto lo hago sobre Windows XP, pc Con 4GB de ram y procesador Core 2 Quad
Que pase el videoooooooo!!!
[youtube]http://www.youtube.com/watch?v=UM79ThoMj44[/youtube]
VIDEITO BORRADO.
El codigo del video es el mismo que publique inicialmente, me sale lo mismo con el de Ariel y me sale lo mismo poniendo I Static as Integer o I Static as Long.
¿Que opinan?
-
Ya esta, con ayuda de ustedes logré resolverlo. Es como venían diciendo pero el code original de mi amigo Ariel me daba lo mismo porque alli se seguía trabajando con el Label, recién y mas relajado y luego de grabar el video de arriba es que hice lo que dijo Lea y trabaje directamente con el Picture borrando el label.:
I = I + 1
Picture1.Cls
Picture1.Print Format(Int(I / 36000) Mod 24, "00") & ":" & _
Format(Int(I / 600) Mod 60, "00") & ":" & _
Format(Int(I / 10) Mod 60, "00") & ":" & _
Format(I Mod 10, "00")
Y claro, el Autoredraw en True. Igual seria interesante saber porque me salia este parpadeo, aunque debe tratarse de un caso aislado, ya que a los demas no les salio, a mi me fastidio y en dos maquinas el codigo original que postee y que a los demas les funciono bien, pero por el momento con esto ya esta resuelto y puedo continuar con el proyecto.
Un abrazo a todos y gracias.
-
es la fuente, algunas fuentes segun el tipo de estas y el tamaño grande tienen parpadeo, creo que la Arial es la que menos tiene.
-
Que suerte que resolviste. Pregunto y no es lo mismo asi?
Picture1.Cls
Picture1.Print MyTime
Picture1.Cls
Picture1.Print Format(Int(I / 36000) Mod 24, "00") & ":" & _
Format(Int(I / 600) Mod 60, "00") & ":" & _
Format(Int(I / 10) Mod 60, "00") & ":" & _
Format(I Mod 10, "00")
-
es la fuente, algunas fuentes segun el tipo de estas y el tamaño grande tienen parpadeo, creo que la Arial es la que menos tiene.
Pues yendo al proyecto original y cambiando la fuente me siguió parpadeando, probe arial, times, ms sans, tahoma y courier y con todas me siguo parpadeando ese proyecto.
-
Que suerte que resolviste. Pregunto y no es lo mismo asi?
Picture1.Cls
Picture1.Print MyTime
Picture1.Cls
Picture1.Print Format(Int(I / 36000) Mod 24, "00") & ":" & _
Format(Int(I / 600) Mod 60, "00") & ":" & _
Format(Int(I / 10) Mod 60, "00") & ":" & _
Format(I Mod 10, "00")
Si Ariel, si es igual, es decir, me corre sin parpadeo, es cuando involucro el label donde la cosa se atrofia. El label es un control menos pesado que el picture y sin embargo no se gestiona bien el label en mi entorno, aun sigo sospechando que tiene algo que ver con mi windows... aunque me paso tambien con otra PC!!!, no se la verdad.
-
Un ejemplo, espero que funcione correctamente.
http://www.2shared.com/file/bFA_29zD/Test.html
-
Yvan, aquí te mando uno, que estuve haciéndolo ayer (un pequeño híbrido entre la API GetTickCount y un control Timer) tiene aproximadamente una precisión de 50 ms.
Lo que no pude dar fue, como calcular las centésimas de segundo. El formato de presentación es en: "00:00:00:00" (Días:Horas:Minutos:Segundos).
Sobre el Form, vas a encontrar un Label y un PictureBox (con el formato que te dije), para que puedas probar con cualquiera de los dos.
Este es el Link:
http://www.fileserve.com/file/qpfFKVg/Cronometros.zip (http://www.fileserve.com/file/qpfFKVg/Cronometros.zip)
Saludos !!!
Manuel F. Borrego S. 8)
Barcelona. Venezuela.
-
Hola Manuel, acabo de bajarlo y probarlo.
El problema con el label persiste, en este caso la ocurrencia es mucho menor y seguro que es porque se toca al label 1 vez por segundo, en los otros casos se tocaba (me parece) 10 veces por segundo.
Probé con el pic y no parpadea ni una pequeña vez, claro había que poner el Autoredraw en true porque sino hace un terremoto.
El asunto es por el label y la gran pregunta ¿porque un control tan simple parpadea en mi caso? porque Ariel, Lea y Sebas lo probaron y a ellos no les parpadeó. Sera por mi VB? sera por mi WinXP?. Es algo que no logro resolver.
En todo caso mi proyecto no se detuvo porque estoy usando el picture, el querer descubrir esto es por no querer que la incógnita nos venza.
Saludos
-
No creo que sea el WinXP, por que también probé en el.
-
Yo sinceramente, al igual que tú Yvan, me pasa lo mismo: Con el WinXP (SP2, porque el SP3 se hace incompatible con mi tarjeta de sonido), un muy leve parpadeo usando el control Label. Con el PictureBox no. Pensé que podía ser mi tarjeta de video GForce, la quité (por pura curiosidad) y probé con el video integrado de mi T.M. y lo mismo. Asi que... No sé que caraj... será !!! >:(
Saludos !!!