[ Foro de BASIC ]

Limpiar pantalla

29-Nov-2013 22:36
Invitado (Sark)
1 Respuestas

Hola, ante todo, agradecer el tutorial de BASIC y el trabajo realizado,  ya que no resulta facil encontrar tutoriales de basic clasico en español.
Tengo una duda respecto al uso de CLS, y es que, si en un programa tengo una serie larga de instrucciones PRINT, y luego quiero limpiarla, usando CLS, y continuar con PRINT, pero no me lo permite, y me explico.

 
10 CLS
20 LOCATE 10, 50
30 COLOR 7, 1
40 PRINT "Hola mundo"
50 CLS
60 LOCATE 10, 30
70 PRINT "Hola A Todos!"
 


Evidentemente el programa "real" no es tan corto, es un ejemplo. Si escribo eso, me sale directamente el segundo PRINT, ignorando por completo el primero. He probado a darle una orden GOTO en una linea 55, sin resultado. ¿Hay alguna manera de hacerlo?
Gracias!


30-Nov-2013 18:51
Nacho Cabanes (+32)

Ten en cuenta que un programa es una secuencia de órdenes, de modo que tras la 40 se pasa a la 50, sin pausa, y, por tanto, se borra la pantalla sin que haya tiempo de leer nada.

Hay dos alternativas habituales: o esperar un cierto tiempo, o esperar a que se pulse una tecla.

Para esperar un cierto tiempo, no existe un estándar que sigan todas las versiones de BASIC. Para esperar una tecla, sí: INKEY$ valdrá una cadena vacía cuando no se pulse una tecla, de modo que podrías añadir la línea

 
45 IF inkey$="" THEN GOTO 45
 








(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)