Tema 4 - Edición de un programa

Ya sabemos lo básico para teclear un programa: si no indicamos número de línea, la orden se ejecutará inmediatamente; si la orden comienza por número de línea, queda almacenada, y todo el programa se pondrá en marcha al teclear la orden RUN.

También sabemos que podemos ver el listado del programa con la orden LIST, o insertar una línea entre otras dos, si tiene un número intermedio entre ellas:

Vamos a profundizar un poco más:

 

4.1 Opciones de RUN

Si sólo tecleamos RUN, el programa se pone en marcha desde el principio. Pero también tenemos la opción de hacer que el programa comience desde algún otro punto, indicando el número de línea desde el que queremos empezar:

RUN 50

Si indicamos un número de línea que no aparece en nuestro programa, nuestro CPC nos responderá con un mensaje de error "Line does not exist".

 

4.2 Opciones de LIST

Al igual que pasa con RUN, también podemos más detalles a LIST. Le podemos indicar la línea inicial que queremos ver y la línea final:

LIST 20-110

O podemos indicar sólo la línea de comienzo o la de final:

LIST 20-
LIST -110

 

4.3 Renumerando líneas

Si hemos numerado nuestras líneas como 1, 2, 3... no tendremos espacio para insertar nuevas líneas entre ellas. En la mayoría de versiones de Basic de los 80 esto era irremediable, pero en los Amstrad CPC no era así. Tenemos la orden RENUM, que renumera nuestras líneas (si no damos más detalles, la primera línea pasará a ser la 10, la siguiente será la 20 y así sucesivamente). Además, se da cuenta de que puede haber problemas con órdenes como GOTO y los corrige:

Podemos afinar un poco: a RENUM se le puede indicar a partir de qué número de línea queremos cambiar, cual es el nuevo valor que debe tener, y de cuanto en cuanto deben aumentar a partir de ahí. Por ejemplo, si queremos que la línea 100 se convierta en la 1000 y que a partir de ella aumenten de 20 en 20, haríamos:

RENUM 1000, 100, 20

Una orden relacionada, y que puede ser útil a la hora de teclear programas, es AUTO: escribe por nosotros el número de la siguiente línea cada vez que pulsemos Intro. Si no detallamos más, comenzará en la línea 10 y aumentará de 10 en 10. Podemos afinar indicando la línea de comienzo que queremos y el incremento que queremos:

AUTO 100, 20

 

4.4 Editando y borrando líneas existentes

Una primera forma de editar líneas: la volvemos a escribir. Si escribimos una nueva línea con el mismo número que otra que ya existía, la reemplazará.

Esto mismo nos da una pista de cómo borrar líneas: tecleamos el número de línea y nada a continuación:

Existe otra forma más eficiente de editar una línea. Si tiene una o varias órdenes escritas, volver a teclearla entera para corregir una letra incorrecta no parece razonable. Para eso existe la orden EDIT, que nos muestra la línea que indiquemos, y nos permite desplazarnos a una lado y a otro con las flechas para corregir lo que necesitemos (y pulsamos Intro al terminar):

Además, podemos borrar varias líneas con la orden DELETE:

DELETE 20-110

Finalmente, podemos borrar todo el programa de golpe con la orden NEW. (Cuidado: en los años 80 no era habitual eso de preguntar cosas como "seguro que deseas borrar todo el programa?". Nuestro ordenador dará por sentado que sabemos lo que queremos, y este paso no se puede deshacer.

 

4.5 La tecla COPY

Además de la orden EDIT, existe otra forma muy versátil de "aprovechar" algo que ya hay escrito en pantalla, para no volver a teclearlo, incluso cuando no es una línea numerada sino cualquier orden.

La idea es que podemos "copiar" a la línea actual algo que esté escrito en cualquier punto de la pantalla (*). Para conseguirlo, basta mantener pulsada la tecla Mayúsculas mientras usamos las flechas del teclado. Al hacerlo, aparecerá un segundo cursor, que es el "cursor de copia". Cuando el cursor de copia esté sobre una posición de la pantalla en la que haya algo escrito que nos interese, pulsamos la tecla COPY (**), y ese carácter aparecerá en la posición del cursor normal. Cada vez que volvamos a pulsar la orden COPY, se copia un nuevo carácter y se desplaza el cursor hacia la derecha. Esto permite copiar toda una línea, o varios fragmentos, de forma muy rápida. Cuando terminemos de formar la nueva línea que hemos "tecleado", pulsamos Intro para terminar la edición.

Observaciones:

(*) Realmente no se podrá copiar de cualquier punto de la pantalla, sino de las posiciones en las que haya una letra claramente identificable. Por ejemplo, si dibujamos una línea encima de un texto, dicho texto no se identificará correctamente y no se podrá copiar.

(**) Si se usa un emulador, en un ordenador moderno no existirá la tecla COPY. Suele estar emulada con INSERT o con ALT.