Basic - Qbasic reloj se retrasa

 
Vista:

Qbasic reloj se retrasa

Publicado por Snap (4 intervenciones) el 03/10/2011 12:39:37
Hola
Tengo un programa realizado en qbasic.El programa muestra la hora,pero esta se va retrasando y deja de coincidir con la real.La hora la captura con la opcion time$.
El programa siempre esta corriendo.

¿sabeis por que se retrasa?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 9
Ha aumentado 1 puesto en Basic (en relación al último mes)
Gráfica de Basic

Qbasic reloj se retrasa

Publicado por Antoni Masana (11 intervenciones) el 04/10/2011 12:56:49
La hora no se retrasa y mucho menos cuando el ordenador esta funcionando. O mejor dicho no deberia.

¿Con que comparas la hora de tu programa? Ya se que con otro reloj, pero me refiero al de pulsera o de sobre mesa o con el del Ordenador.

¿Bajo que sistema Operativo trabajas?

¿Como refrescas la hora de pantalla?

¿Cada cuanto tiempo ejecutas el PRINT TIME$?


Te muestro un ejemplo de MALA utilizacion:

1
2
3
4
5
6
7
Fin = 1
WHILE Fin = 1
   CLS
   LOCATE 5, 35: PRINT TIME$
   LOCATE 10, 9: INPUT "INTRODUCE TU NOMBRE: ", Texto$
   IF Texto$ = "" THEN Fin = 0
WEND


En este ejemplo la hora no se atrasa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Fin = 1: CLS : LOCATE 10, 9: PRINT "INTRODUCE TU NOMBRE: "
 
WHILE Fin = 1
 
   Ky$ = "":
   WHILE Ky$ = ""
      LOCATE 5, 35: PRINT TIME$
      Ky$ = INKEY$:
   WEND
   IF Ky$ <> CHR$(27) THEN
      Texto$ = Texto$ + Ky$
      LOCATE 10, 9: PRINT "INTRODUCE TU NOMBRE: "; Texto$
   ELSE
      Fin = 0
   END IF
WEND
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Qbasic reloj se retrasa

Publicado por Snap (4 intervenciones) el 05/10/2011 15:31:09
Gracias Antoni por responder.

La hora no la comparo ,solo utilizo la orden print o lprint en el programa .Siempre se esta ejecutando
El sistema es xp
La hora se refresca capturando con print time$

Ejecuto print time$ varias veces,a veces dentro de un bucle.Segun tu codigo ,mi error esta en los bucles.
He probado con shell ,capturar la hora de ms-dos pero sigue erronea dentro del mismo programa.
Por lo tanto creo que es diseño de mi programa.
¿Puedo capturar la hora de otra manera y asi no cambiar mi codigo?
¿Que la modifique si esta erronea desde un programa externo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 9
Ha aumentado 1 puesto en Basic (en relación al último mes)
Gráfica de Basic

Qbasic reloj se retrasa

Publicado por Antoni Masana (11 intervenciones) el 06/10/2011 07:58:57
Si quieres puedes enviarme el fuente y el ejecutable de tu programa.

El ejecutable para ver cuando o en que momento falla, los fuentes para ver donde esta el fallo.

Por otro lado te puedo enviar un Programa realizado en Quick Basic 4.5 de Microsoft (esto es el compilador) es basicamente un menú para le ejecución de aplicaciones, en la pantalla muestra la hora y no se retrasa nunca.

Tenia este programa realizado por terceros pero no supero el efecto 2000 y me hice el mio partiendo de la idea y el diseño del otro y en castellaño.

Te puedo enviar el ejecutable con un ejemplo y los fuentes y te lo dejo para que lo uses libremente si te resulta útil e interesante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Qbasic reloj se retrasa

Publicado por Snap (4 intervenciones) el 06/10/2011 10:14:59
El programa tiene 2000 lineas mas o menos ,lo desarrolle en el año 1991 y aun lo hago servir.
Es un punto de venta sencillo
Enviame el fichero y la fuente que comentas y veré si puedo incluir las lineas en mi programa.
Si no te enviaría mi fuente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Qbasic reloj se retrasa

Publicado por Carlos Enrique (1 intervención) el 20/11/2011 22:20:02
El programa que has escrito no creo que tenga fallas si alguien funcionaba bien. Yo también programé hace muchos años en una pc DX-486 con MS-DOS 6.22 y QBasic un reloj analógico que ocupaba toda la pantalla. Años después en la Pentium IV con Windows XP al ejecutar el mismo programa el reloj se retrasaba. He buscado la solución en el programa, hasta que al revisar muchas veces concluí que no es el código de programación. Se trata de la forma como están construidos los núcleos de los procesadores, los procesadores antígulos podían funcionar con programas pesados como QBasic, pero los Pentium III hacia adelante presentan ese defecto con las vibraciones del contador de cuarso interno que tienen. Te recomiendo que utilices una máquina virtual para el MS-DOS y ejecutes el QBasic.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar