&CODIGOS
&AUTOR François Lionet
&TITULO Manual Amos. Paginas 13 a 20
&PALETA $050,$FFF,$FB3,$0BF,$F00,$900,$CDA,$80E,$0F0,$F50,$080,$3FE,$08F,$96F,$44F,$00A

&FIN
T03   L083. EDICION                           
T06
      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.

T03   LA VENTANA DEL MENU.
T06
      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.

T03   LA LINEA DE INFORMACION.
T06
      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.


T06   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.

T03   LA VENTANA DE EDICION.
T06
      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:


T06         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

T09                                                                   15
T06
   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.



T03   UNA INTRODUCCION AL MODO DIRECTO.
T06
      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.

T09                                                                   16
T03   CARGANDO UN PROGRAMA.
T06
      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.

T03   EL SELECTOR DE FICHEROS AMOS.
T06
      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.
T09                                                                   17


T03   GRABANDO UN PROGRAMA BASIC.
T06
      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.

T03   SCROLLING A TRAVES DE TUS FICHEROS.
T06
      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.

T03   CAMBIO DEL DRIVE ACTUAL.
T06
      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.

T03   CAMBIO DEL DIRECTORIO.
T06
      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.

T03   SELECCION DE LA FORMA DE BUSQUEDA (SEARCH PATH)
T06
      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:

T09                                                                   18
T06
      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.

T03   USANDO EL SELECTOR DE FICHEROS.
T06
      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$.

T03   TUTORIAL DE EDICION.
T06
       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.

T09                                                                   19
T06      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
T09                                                                  20
T06
      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.
