[ Foro de BASIC ]
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!
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.)