3. EDICION El Editor AMOS te permite una enorme variedad de posibilidades de edición. No sólo es excepcionalmente poderoso, sino que además es increiblemente fácil de usar. Todos los comandos pueden ser ejecutados directamente desde la pantalla, o por una vía alterna- tiva, desde el teclado. Una de las características más excitantes de este programa, es que el listado es visualizado en una pantalla aparte a la del pro- grama, de forma que puedes saltar desde la pantalla del programa hasta la de edición con solo pulsar ESC. Si tienes suficiente memoria, también podrás cargar varios pro- gramas Basic a la vez. Cada programa podrá ser editado de forma independiente. Lo primero que verás después de cargar AMOS es una pantalla standard. Pulsa una tecla para entrar en la ventana de edición. LA VENTANA DEL MENU. En la parte superior de la pantalla está la Ventana del Menú conteniendo la lista de los comandos disponibles. Es el modo en el que aparecerán las sucesivas formas de edición de AMOS. Los comandos podrán ser rápidamente ejecutados colocando el puntero del ratón sobre ellos y pulsando el botón izquierdo. Cada coman- do también será designado con una tecla de función en particular. Además del Menú Principal, existen también otros menús. El más importante de ellos es el System Menu, que se visualiza mantenien- do pulsado el botón derecho del ratón o mediante la tecla SHIFT. El System Menu contiene una variedad de ordenes como LOAD, SAVE, NEW, etc. Comandos que se activan de igual forma a como se hacía con el Main Menu o Menú Principal. LA LINEA DE INFORMACION. I L=1 C=1 Text=40000 Chip=91000 Fast=0 Edit: example Los marcadores más a la izquierda son "I" (insert) y "O" (over write). Existen otros indicadores de línea y columna (L y C) que aparecen durante la edición. A continuación de esos indicadores o marcadores aparece una lista de 3 números: Text: Indica la cantidad de memoria que ha sido asignada a la Ventana de Edición. Puede ajustarse previamente con el co- mando SET BUFFER que se utiliza en el Menu Search. Chip: Memoria libre en el ordenador. Fast: Memoria libre en la apliación de memoria. Edit: Muestra el nombre del programa que estás desarrollando en ese momento. Inicialmente este área esta en blanco, pero al cargar o grabar a disco, el nuevo nombre del fichero au- tomáticamente aparecerá en la línea de información. LA VENTANA DE EDICION. La Ventana de Edición es en realidad el corazón del sistema AMOS y te permitirá teclear tus programas en Basic directamente desde el teclado. Todo el texto aparecerá en la actual posición del cursor, que se identificará como una línea horizontal deste- lleante. Al comienzo de toda sesión, el cursor se ubicará siempre en el borde superior izquierdo de la ventana de edición y podrá ser mo- vido a lo largo de la pantalla usando las teclas del cursor. Tus líneas pueden ser escritas teclando letra a letra, y con la ayuda de las teclas DEL y G. Teclea la línea: print "AMOS" Cuando pulses RETURN, la línea entrará en el AMOS Basic. AMOS reconocerá inmediatamente el comando y será convertido a un espe- cial formato. Todos los comandos AMOS comienzan con mayúscula y siguen con minúsculas. De modo que la línea anterior quedará en: Print "AMOS" De forma similar, todas las variables y procedimientos se mues- tran en mayúsculas. Esto te permitirá chequear rápidamente si has cometido algún error en alguna línea del programa. Supongamos por ejemplo, que has introducido la siguiente línea: inpit "¿Cómo te llamas?"; name$ Esto se mostrará como: inpit "¿Cómo te llamas?"; NAME$ Al no aparecer INPIT es obvio que se ha cometido algún error. Vamos a observar algo más divertido. Mueve el cursor debajo del comando PRINT que acabas de introducir y teclea las siguientes lí- neas: centre "< Touch `n` Type Demo>" do x$=inkey$ : if x$ <> "" then print x$ loop No olvides pulsar RETURN después de cada línea. Ahora mueve 15 el cursor a través de todo el programa utilizando las teclas del cursor. Finalmente pulsa F1 para ejecutar el programa. La Ventana de Edición desaparecerá y se mostrará un programa nuevo en su lugar. El programa ahora espera a tu introduzcas al- gún texto desde el teclado. Como puedes ver la pantalla del pro- grama tiene su propio cursor, totalmente separado del usado en la ventana de edición, por lo que podrás manejarlo tranquilamente sin que se altere la posición actual de edición. Después de que hayas terminado, pulsa CTRL + C para salir del programa. Una línea delgada aparecerá ahora en la pantalla, que podrá moverse utilizando las teclas h y i. Program Interrupted at Line 4 >>>Loop Pulsando la BARRA ESPACIADORA en este punto, regresarás a la Ventana de Edición. Pero antes, echemos un vistazo al Modo Direc- to. Pulsa ESC y accederás al mismo. UNA INTRODUCCION AL MODO DIRECTO. El Modo Directo te permite fácilmente probar tus programas. Hasta ahora sólo hemos examinado un par de sus características más interesantes. Todos los comandos en Modo Directo se introducen desde una pan- talla totalmente independiente de la ejecución del programa. Po- drás mover esta pantalla con las teclas del cursor. En la parte superior de la ventana, existe una lista de 20 te- clas de función. Representan una serie de comandos que han sido ya previamente asignados a una tecla determinada. Se pueden usar pulsando cualquiera de las teclas AMIGA en combinación con otra. Mientras estes en modo directo, puedes ejecutar instrucciones en Basic, con la única excepción de loops o procedimientos. He aquí algunos ejemplos: Print 42 ANSWER=6. Print ANSWER * 9 Curs Off Close Workbench Es necesario advertir que ningún error en Modo Directo va a afectar al programa, de modo que puedes introducir lo que quieras sin riesgo de afectar el contenido del programa. Ya es hora de regresar al Editor; pulsa ESC. 16 CARGANDO UN PROGRAMA. A continuación veremos las diferentes formas de cargar y gra- bar un programa del disco. Como de costumbre, esas funciones se ejecutarán desde la Ventana de Menú o usando comandos desde el te- clado. La forma más rápida para cargar un programa consiste en pulsar alguna de las teclas AMIGA + L. Entonces aparecerá la ventana de selección de ficheros AMOS, que tan corriente es de encontrar en la mayoría de los últimos programas para Amiga. Si ya has usado alguno, el sistema AMOS no te será difícil. Sin embargo, y dado que el selector de ficheros forma parte integral del AMOS Basic, será mejor entrar en algunos detalles. EL SELECTOR DE FICHEROS AMOS. La selección de un fichero del disco no puede ser mas fácil. Simplemente mueve el cursor hasta el fichero deseado hasta que se sobreilumine. Para cargar ese fichero, pulsa dos veces el botón izquierdo del ratón. También puedes entrar directamente el nombre del fichero desde el teclado. Si cometes un error y deseas dejar el selector sin cargar pro- grama alguno, mueve el ratón hasta la opción QUIT y seleccionalo con el botón izquierdo. AMOS abortará la operación mostrando un rótulo "NOT DONE" en la línea de información. Como ejemplo, coloca tu copia del programa AMOS en df0 y pre- siona AMIGA + L para cargar un fichero. Si has venido ejecutando los ejeplos de este Manual, AMOS te solicitará permiso para gra- bar el programa existente. A menos que hayas introducido algún cambio interesante, pulsa N para acceder al selector de ficheros; de otro modo verás "SAVING A PROGRAM". Cuando aparece el selector, busca el fichero con el nombre "Hi there.AMOS". Cuando lo encuentres, cárgalo. Aparecerá entonces el siguiente listado: Rem Hi there AMOS users Cls 0: Rem Clear the screeen with colour zero Do Rem get some random numbers X=rnd (320): Y= Rnd(200): I=Rnd(15): P=Rnd(15) Ink I,P: Rem add a little colour Text X,Y," Hi there": Rem graphic text Loop Mueve el cursor de texto hasta la frase "Hi there" e inserta tus propios mensajes. Presiona F1 para ejecutar el programa. El mismo mostrará rápidamente docenas de copias de tu texto. Pulsa CTRL + C para salir de esta rutina. 17 GRABANDO UN PROGRAMA BASIC. Regresa al Editor, pulsa ALT + S para grabar tu actual programa al disco. Si quieres realizar un cambio, pulsa el botón derecho del ratón y selecciona "SAVE AS" en el Menú System. Otra salida es seleccionar el selector de fichero. Introducirás el nombre de tu nuevo fichero desde teclado. Con- forme vayas tecleando irán apareciendo las letras en la parte in- ferior. Como en el Editor, existe un cursor que se posiciona se- gún vayas tecleando. Este cursor también podrá ser desplazado usando las teclas de edición. Finalmente pulsa RETURN. SCROLLING A TRAVES DE TUS FICHEROS. Si tu disco está bastante lleno, la ventana de selección habi- tual no será capaz de mostrar todos los ficheros existentes en el disco. Por lo que tendrás que desplazar el listado utilizando la barra de scroll a la izquierda de la ventana de selección. CAMBIO DEL DRIVE ACTUAL. A la derecha de la ventana de ficheros, existe una lista de los drives disponibles. El contenido de la ventana dependerá, natu- ralmente, de los periféricos que tengas conectados al ordenador. Si posees varios drives, podrás seleccionar entre ellos simplemen- te pulsando sobre el nombre apropiado; entonces, se mostrará el directorio del disco elegido en la ventana de selección. CAMBIO DEL DIRECTORIO. Cuando busques en un directorio, descubrirás varios nombres marcados con un asterisco. No son ficheros, sino que se trata de subdirectorios. Podrás acceder a uno de ellos seleccionándolo con el botón izquierdo del ratón, con lo que podrás tener acceso a los ficheros que contenga, pero ten en cuenta que solo aquellos fiche- ros con la extensión ".AMOS" se podrán cargar. Una vez abierto un directorio, podrás asignarlo como directorio por defecto con SETDIR. Así, la próxima vez que accedas al selec- tor de ficheros o solicites un directorio con el comando DIR, el directorio elegido (SETDIR) será el que se cargue automáticamente. De forma parecida, puedes recobrar el directorio previo pulsando sobre PARENT. SELECCION DE LA FORMA DE BUSQUEDA (SEARCH PATH) Normalmente, AMOS buscará todos aquellos ficheros con la exten- sión ".AMOS". Pero si deseas cargar un fichero con otra extensión como ".BAK", necesitarás editar un modelo de búsqueda. Esto se consigue de la siguiente forma: 18 Mueve el cursor de texto hacia la ventana PATH pulsando la te- cla h. Ahora introduce el nuevo Path o forma de búsqueda y pulsa RETURN. Una completa descripción de la sintaxis requerida la en- contrarás en la sección del comando DIR. Atención: AMOS usa su propia forma de búsqueda que es muy distin- ta a la standard del Amiga Dos System. Si no estás se- guro, borra toda la línea con el nombre del actual Volume y Drive y pulsa RETURN. Esto hará que aparezca una lista con todos los ficheros presentes en el disco. USANDO EL SELECTOR DE FICHEROS. También es interesante la posibilidad de acceder al selector de fichero directamente desde tus programas. Por ejemplo, introduce- te en Modo Directo y teclea la siguiente línea: Print Fsel$(*.*) Después de que hayas elegido un fichero, su nombre aparecerá en pantalla. Mira en la sección de comandos para más información so- bre FSEL$. TUTORIAL DE EDICION. A continuación veremos técnicas más sofisticadas de edición. Comenzaremos cargando un programa de ejemplo. Inserta el disco de trabajo de AMOS. Scrolling a través de un listado. Al lado de la ventana del editor existen dos barras de scroll, que te permitirán paginar tus listados. Para ello mueve el punte- ro del ratón sobre la barra vertical y pulsa el botóN izquierdo. Ahora arrastra la barra hacia abajo. La ventana de edición des- plazará el listado suavemente hacia abajo. También puedes reali- zar el listado usando los iconos de flechas en la parte superior e inferior de esta barra. En la parte más inferior de la ventana de edición, existe una barra para el scroll horizontal, que puede ser usada de derecha a izquierda de la misma forma. Si prefieres el teclado, existen varias formas equivalentes: CTRL + h = página anterior. CTRL + i = página siguiente. Todas las opciones desde el teclado obedecen a los mismos prin- cipios, de forma que una vez que te familiarices con un comando, el resto es muy facil. Encontrarás un listado completo con todos los comandos final de este capítulo. 19 Ahora echemos un vistazo al programa. Es hora de cambiar algo. Lista el programa hasta encontrar la siguiente línea: ALERT¡50,"Alert box","","Ok","Cancel",1,2¿ Esta línea llama a una rutina de Basic que ejecuta un aviso en la pantalla. El formato de esta rutina es: ALERT¡Y coord,Title 1$,Title 2$,Button 1$,Button 2$,Paper,Ink¿ Mueve el cursor a la linea anterior y cámbiala a: ALERT¡50,"Exterminate¡","Securitate","Yep¡","Yep¡",1,3¿ Ejecuta el programa pulsando F1 o seleccionando RUN desde el Menú Principal. En la práctica, puedes cambiar el título y los botones cada vez que lo desees. Con el objeto de permitirte más y más poder de programacion he- mos incluido un monton de características en el editor AMOS: Label/Procedure Searches. Si tu programa es muy largo, puede ser muy difícil encontrar el punto de arranque de las diversas rutinas. Pon el cursor al comienzo del listado y pulsa ALT y i. Inmedia- tamente el cursor se desplazará al inicio de la primera definición de una rutina de tu actual programa (ALERT). Este sistema también puede trabajar de igual forma con etique- tas o líneas numéricas, de forma que si no utilizas rutinas, no te será difícil encontrar alguna utilidad para esta característica. Resumen de un Procedimiento. Si realizas un gran programa necesitarás un listado de los pro- cedimientos más utilizados. Afortunadamente HELP esta a mano. Con una simple llamada al comando FOLD evitaras algunos de los procedi- mientos de definicion de tus listados. Esas rutinas pueden ser normal- mente usadas en tus programas pero sus definiciones seran reemplazadas por una linea de procedimiento. Ejemplo: Coloca el cursor en algun lugar de la definicion de ALERT y pulsa la opcion FOLD/UNFOLD en la ventana del menu. Pluff¡ el contenido de tu rutina se ha desvanecido en el aire. Pese a esto, puedes ejecutar el programa sin anomalias. Lo unico que ha variado es el listado de la ventana del editor. Ahora, pulsa de nuevo FOLD/UNFOLD y tu rutina o procedimiento volvera a tomar su forma anterior. Tambien es posible hacer un FOLD de todas las rutinas y procedimientos de tus programas al mismo tiempo. Para ello usa una opcion del menu SEARCH denominada CLOSE ALL. Para acceder al menu Search pulsa el boton sobre el mismo nombre o presiona F5 en el teclado. Ahora selecciona el boton de CLOSE ALL y elimina los procedimientos del programa actual 20 El efecto sobre algunos de los ejemplos es dramatico. En cier tos casos desaparece el programa completo que se puede represen- tar en una sola pantalla. De esta forma cada procedimiento puede editarse de forma individualizada expandiendolo con el comando UNFOLD, o bien podras expandir todo el programa se usas la opcion OPEN ALL desde el menu SEARCH. Search/Replace. A estos comandos contenidos en el editor de Basic AMOS se puede acceder a traves del menu especial SEARCH que bien puede ser llamado desde la ventana del menu o pulsando F4. Encontrando un item. Continuaremos nuestro repaso a las instruc- ciones contenidas en Search/Replace. Comenzaremos con el comando FIND. Este comando puede ser ejecutado directamente desde el menu SEARCH o usando las teclas CTRL+F. Cuando lo ejecutes se te deman dara la introduccion de la cadena a buscar. Por ejemplo, pulsa CTRL+F y teclea Rem en el prompt. AMOS aho- ra buscara por la siguiente linea Rem de tu programa, comenzando en la posicion del cursor. Una vez la localice, el cursor se ubi- cara en la linea en cuestion. La busqueda puede volver a repetir se en este momento mediante la opcion FIND NEXT (CTRL+N). Replace. Supongamos que queramos cambiar todas las lineas Rem de un determinado programa con el caracter equivalente ",". Esto se podra conseguir con el comando REPLACE. Para usar esta opcion, es necesario definir la cadena que va a reemplazar. La primera vez que uses REPLACE, se te demandara por parte de AMOS el contenido de la nueva cadena a sustituir que introduciras desde el teclado. Pulsa CTRL+R, pulsa ' (apostrofo) en el prompt y pulsa RETURN. Ahora define la cadena con la opcion FIND como sigue: * Pulsa CTRL+F para seleccionar la opcion FIND * Teclea "Rem" en la linea de informacion * El cursor se posicionara en la proxima linea Rem de tu programa actual Para cambiar esta linea por la cadena ya definida y saltar a la siguiente, selecciona REPLACE (CTRL+R) una vez mas. De forma alternativa, si el comando REM se encuentra en medio de la linea, tendras que saltar con el cursor, puesto que AMOS solo te permite sustituir una palabra sita al principio de linea. Cut & paste. Los comandos de AMOS te permiten recortar parte de tus programas y grabarla para un uso posterior. Una vez que hayas creado un BLOCK o bloque, lo podras grabar o copiar en cualquier parte del listado actual. He aqui un ejemplo de esta caracteristica. Toma el programa ALERT previo, y recorta una definicion simple. Coloca el puntero del raton sobre primera linea del procedimiento inverso (INVERT), y suelta el boton derecho. Ahora podemos introducir este procedi- miento en un bloque usando el raton. Conforme mueves el raton, el area seleccionada se sobreimpresionara. Ahora podemos grabar esta area en memoria con el comando CUT. Cuando presionas CTRL+C desde el teclado, el procedimiento sera sacado desde el listado y almacenado en memoria. Tambien es posi- ble incluir (PASTE) este procedimiento en otras parte del listado del programa actual. Para ello, mueve el cursor hacia la parte fi nal del listado y llama la opcion PASTE mediante CTRL+P. Asi el procedimiento INVERT sera copiado en la actual posicion del cur- sor.