Elaborar Scripts de JAWS

Embed Size (px)

Citation preview

Una de las grandes ventajas de JAWS for Windows es laposibilidad de personalizarlo para trabajar con las distintas aplicacionesde MicrosoftWindows. Aunque JAWS trabaja con una serie de opciones por defecto,estas opciones pueden modificarse de forma que JAWS trabaje de una formadeterminadaen una aplicacin determinada. Por lo general, JAWS trabajacorrectamente con los parmetros y opciones por defecto; pero en algunos casos,las aplicacionesnecesitan una configuracin especial en este sentido. Es decir,modificando las opciones de JAWS con los distintos Asistentes y creandonuevos scripts,es posible conseguir que JAWS funcione de forma ptima con unaaplicacin determinada.JAWS dispone de seis herramientas o Asistentes que le permitirnmodificar la configuracin de todas sus opciones. Estos Asistentes son elEtiquetador deGrficos y los Asistentes de Diccionario, Configuracin, Teclado,Marcos y Scripts. Cada uno de ellos desempea una funcin distinta a la horade personalizarJAWS.Concretamente el Asistente de Scripts se utiliza cuando elresto de los Asistentes no permite hacer las modificaciones necesariaso cuando senecesita una configuracin ms complicada. El Asistente de scripts esun editor completo y posee muchas opciones diseadas para ayudar a lapersona quedesee crear scripts. Este Asistente permite crear scripts nuevos omodificar los existentes.2. Qu son los Scripts?1. Qu son los Scripts?Un scripts es como un pequeo programa de ordenador que puedeactivarse rpida y fcilmente y que rene en una sola operacin una serie depasos o combinacionesde teclas. Ms concretamente, los scripts son secuencias de pasosindividuales que se utilizan para activar y controlar distintos procesos delordenador,desde tareas sencillas como la introduccin repetida de una mismacadena de datos hasta la realizacin de muchas de las rutinas estndar quelleva a caboel ordenador mientras trabaja. Por ejemplo, en un editor de texto, paraescribir la direccin del remitente en la parte superior de las cartas(una tareaque puede resultar tediosa si es necesario realizarla con frecuencia),podra crearse un script que tecleara dicha direccin simplementepulsando una combinacinde teclas. ste es, entre otras, el tipo de cosas que puede hacer unscript. Los scripts se crean con un editor de textos, utilizando unaserie de cdigos,formatos y reglas de programacin. Una vez creado, el script se compilapara que le ordenador pueda entenderlo y para que pueda llamrselodesde el programapara el que se ha creado.La funcin de los scripts de JAWS es la de facilitar el manejo delas aplicaciones Windows. As, existen scripts que hacen que JAWSverbalice una palabracuando sta aparece resaltada en pantalla, o que lea un prrafo lnea alnea, entre otros ejemplos.La mayora de las funciones de JAWS estn controladas por un script.Los scripts son inteligentes, es decir, analizan lo que est ocurriendoen la aplicacinen cada momento y deciden cmo leer cada pantalla.Muchos de los scripts nos pasan desapercibidos, ya que estnintegrados en la programacin interna de las aplicaciones. Son los scripts pordefecto,que forman parte del propio JAWS. Pero existen tambin scripts para unaaplicacin concreta, que se cargan cuando se ejecuta la aplicacin encuestin.Aunque el trmino script es el que se utiliza de forma general,existen en realidad dos tipos de scripts diferentes: los que se activanmediante unacombinacin de teclas y las funciones.2. Para qu Sirven los Scripts?Los scripts ya creados e incluidos en el programa de JAWS ofrecenuna lectura de la pantalla bastante completa y que permite trabajar sinproblemas enla mayora de las circunstancias. Sin embargo, algunas aplicacionesnecesitan scripts especficos. Si bien JAWS dispone de una serie deherramientas oAsistentes que permiten configurar el programa, en algunos casos, losscripts constituyen la mejor y a veces la nica forma de realizar loscambios quese desean. JAWS ofrece un lenguaje de scripts bastante completo quepermite crear o editar funciones definidas por el usuario. La nicadiferencia entrelas funciones definidas por el usuario y las funciones internas de JAWSradica en que las primeras pueden modificarse, mientras que lassegundas no, puesforman parte del cdigo interno de JAWS. Es posible que usted necesitecrear una serie de scripts que, con tan slo una combinacin de teclas,realicenmultitud de pasos que normalmente habra que dar manualmente. O si esusted programador, tal vez se vea en la necesidad de crear scriptsespeciales paraaplicaciones Windows con las que trabajan ciertos usuarios.En cualquier caso, una vez que aprenda los conceptos bsicos de cmose crean los scripts, ver que la cuestin no es tan difcil como puedeparecera primera vista. El Asistente de Scripts ofrece una serie deherramientas que le ahorrarn mucho trabajo y que resultan muy fciles demanejar. Si pruebaa crear algunos de los scripts que proponemos como ejemplo, ver quepersonalizar JAWS para trabajar con las aplicaciones de forma ptima, noslo resultatil sino incluso entretenido.Para que JAWS resulte lo ms flexible posible, los diseadores delprograma han decidido permitir al usuario crear sus propios scripts, ascomo modificarlos ya existentes. Todo ello puede hacerse con las herramientas queproporciona el Asistente de Scripts. Los scripts se agrupan en archivos descriptsque presentan el nombre de la aplicacin para la que se han creado yuna extensin concreta en funcin del tipo de archivo del que se trate.3. Los Archivos de Scripts por Defecto y por AplicacinEl archivo de script por defecto que se carga cuando arranca JAWScontiene cientos de scripts que proporcionan a JAWS toda la informacinque necesitapara ofrecer respuesta de voz en la mayora de las situaciones. Peroexisten circunstancias en los que se necesita leer la pantalla de unaforma especial,en cuyo caso ser necesario crear un archivo de scripts para laaplicacin en la que esto ocurra. Estos son los archivos de script poraplicacin. Si existeo se ha creado un archivo de scripts para una aplicacin (estosarchivos se encuentran en el subdirectorio de JAWS que contiene todos losarchivos de configuracin),ste se cargar cada vez que se ejecute dicha aplicacin.El archivo de script por aplicacin es el primero en el que miraJAWS cuando se pulsa una combinacin de teclas o cuando se produce unasituacin enla que se llama a una funcin de evento. Si el archivo por aplicacinno contiene ningn script que pueda utilizarse en dicha situacin, JAWSmirar despusen el archivo de scripts por defecto. De todos modos, siempre queencuentra un script, lo ejecuta inmediatamente, sin que sea necesariorealizar ningnotro proceso. Sin embargo, si JAWS no encuentra ningn script enninguno de estos dos archivos, JAWS dejar el control a la aplicacin, y lacombinacinde teclas que se haya pulsado realizar la funcin que dicha aplicacinle asigne, como si no estuviera cargado JAWS.Es importante conocer el orden de actuacin de JAWS, ya que, si unscript del archivo por defecto no resulta adecuado para una aplicacindeterminada siemprese puede crear una versin distinta de ese mismo script en el archivode scripts de la aplicacin, y, cuando la aplicacin est cargada, JAWSutilizardicho script en lugar del que contiene el archivo de scripts pordefecto.NOTA: En otras palabras, si en el archivo por defecto y en el archivopor aplicacin existen dos scripts asignados a la misma tecla, JAWSejecutar el scriptdel archivo de la aplicacin. As, si en el archivo de scripts de unaaplicacin concreta existe un script asignado a la combinacin de teclasCTRL+G,y en el archivo de scripts por defecto existe otro script asignado aesta misma combinacin de teclas, cuando se pulse CTRL+G JAWS ejecutarel scriptdel archivo de la aplicacin, aunque los scripts tengan distintonombre. Es decir, es la combinacin de teclas la que determina el script quese va a ejecutar.4. Qu son los Archivos de Scripts?Los archivos de scripts de JAWS son un conjunto de scripts que secargan automticamente cada vez que se utiliza JAWS con una aplicacinWindows determinada.Existen dos tipos de archivos de scripts: Por Defecto y poraplicacin. El archivo de scripts por defecto (DEFAULT.JSS) se carga cuandoarranca JAWSy est siempre activo, independientemente de la aplicacin con la quese est trabajando.Los archivos de scripts por aplicacin se cargan y superponen alarchivo por defecto cuando se ejecuta la aplicacin para la que se hancreado. JAWSsabe qu archivo tiene que cargar porque el nombre del mismo (no laextensin) es el mismo que el de la aplicacin en cuestin. As, elarchivo de scriptde una aplicacin que se llamara SPREADSHEET.EXE se llamaraSPREADSHEET.JSS. Cuando se cierra la aplicacin, el archivo de scriptcorrespondiente se descarga,pero el archivo de scripts por defecto permanece activo hasta que seejecute otra aplicacin.5. Los Scripts y las FuncionesLos scripts de JAWS se clasifican en dos categoras: scripts yfunciones. Los que se activan mediante una combinacin de teclas sedenominan scripts,y los que no, funciones.Los Scripts Asociados a una Combinacin de TeclasEstos scripts se ejecutan cuando se pulsa una combinacin de teclasdeterminada. Por ejemplo, si en un editor de texto se pulsa FLECHAABAJO, JAWS leeruna nueva lnea de texto. Es decir, siempre que se est ejecutando unprocesador de texto, el script por defecto SayNextLine (Verbalizar LneaSiguiente)est asociado a la tecla FLECHA ABAJO. Este script es bastantecomplicado, porque tiene que analizar dnde estamos y qu estamos haciendocuando pulsamosla tecla FLECHA ABAJO. Cuando se pulsa FLECHA ARRIBA, se ejecuta unscript similar, en este caso el script SayPriorLine (Verbalizar LneaAnterior). Asu vez, ambos scripts utilizan un tercero que se denomina SayLine(Verbalizar Lnea Actual). As, existen muchos ms scripts que se ejecutancuando sepulsan distintas teclas o combinaciones de teclas del teclado.En cualquier caso, cuando se activan, los scripts analizan la situaciny tratan de actuar de forma adecuada en funcin de la misma. Si setrata de unasituacin que, por su carcter especial, no ha sido prevista por losprogramadores de JAWS, puede resultar interesante introducir lasmodificaciones necesariaspara que el script acte correctamente.Las FuncionesA los scripts que no se activan mediante una combinacin de teclasse los denomina funciones. Las funciones se diferencian tambin de losscripts enque devuelven informacin una vez que terminan de ejecutarse, mientrasque los scripts no devuelven nada. Por tanto, una funcin es un scriptque no estasociado a ninguna tecla y que devuelve informacin una vez terminadasu ejecucin.Algunas funciones entran en juego automticamente cuando se produceun evento determinado. Por otra parte, existen scripts (y sentenciasdentro de losmismos) que pueden ser aplicables a muchas situaciones y, por tanto,pueden utilizarse en repetidas ocasiones. Pero, en lugar de escribirtodas las sentenciascada vez que se desee aplicarlas a un script, pueden agruparse talessentencias en una funcin que ms tarde podr utilizarse e incorporarse aotro scriptcada vez que se necesite.Las funciones pueden ser de dos clases distintas: aqullas que seejecutan automticamente cuando ocurre un evento determinado y aqullas alas que las"llama" o las activa otro script.A las primeras se las denomina funciones de evento; por ejemplo, ala funcin NewTextEvent se la llama cada vez que en la pantalla aparecetexto nuevo,y a la funcin BottomEdgeEvent, cuando el cursor llega al final de unaventana. Si no existiera la funcin NewTextEvent, JAWS no leeraabsolutamente nadaautomticamente cuando apareciera informacin en pantalla. Mientrasque, si no existiera la funcin BottomEdgeEvent, el ordenador no emitiraningn sonidoy JAWS no verbalizara ningn mensaje cuando el cursor llegara al finalde una ventana.A la segunda clase de funciones no se le da ningn nombre especial;se las denomina simplemente funciones. Estas slo entran enfuncionamiento cuandose las llama desde otro script o funcin. Lo que se consigueescribiendo su nombre en el cdigo del script o funcin desde el que se deseellamarla. As,cuando el script llega a la lnea que contiene el nombre de la funcinen cuestin, sta se ejecuta. Esto es lo que queremos decir cuandohablamos de "llamar"a una funcin.Las funciones se dividen, a su vez, en otros dos tipos: funcionesinternas y funciones definidas por el usuario. Existen ms de doscientasfuncionesque pueden utilizarse para crear o modificar scripts de JAWS.El segundo tipo de funciones son las que se encuentran escritas enlos archivos de scripts, ya hayan sido creadas por Henter-Joyce o por unusuario deJAWS. Estas funciones, creadas para una situacin especfica, spueden modificarse.6. Los Archivos de Scripts EspecialesSi existe un archivo de script especfico para una aplicacin, stese carga automticamente cuando se ejecuta la aplicacin. JAWS sabe quarchivo cargarporque el nombre del mismo es el mismo que le del ejecutable de laaplicacin. Pero JAWS ofrece tambin la posibilidad de cargar el archivo descriptsque se desee en cualquier momento. Este archivo de scripts no tiene porqu tener el nombre de la aplicacin, puede ser cualquiera de losarchivos de scriptsdisponibles.Lo que ocurre es que este archivo especial sustituye al archivo descripts de la aplicacin. Del mismo modo, este archivo de scriptespecial es sustituidopor otro cuando se conmuta a otra aplicacin. Ello permite cargar unarchivo de scripts especial creado para abordar situaciones pocohabituales dentrode una aplicacin y en las que las necesidades no son las mismas que enlas situaciones normales dentro de esa misma aplicacin. As, estosarchivos descripts especiales pueden cargarse al pulsar una combinacin de teclaso automticamente cuando aparecen en pantalla ciertas ventanas uobjetos. La funcinque permite cargar archivos de scripts especiales se llamaSwitchToScriptFile.NOTA: Los scripts por defecto estn activos en todas las aplicaciones,a no ser que, como ya hemos explicado, se superponga a ellos otroscript del archivode la aplicacin. Por tanto, si se crea un script que se desea utilizaren ms de una aplicacin, lo ms prctico es colocarlo en el archivo descriptspor defecto, en lugar de en el de una aplicacin concreta.3. El Asistente de Scripts1. Qu es el Asistente de Scripts?El Asistente de Scripts ofrece todas las herramientas necesariaspara crear, modificar y utilizar los scripts. El Asistente de Scripts esun editor completoque, adems de las funciones habituales de los editores de texto, poseelas opciones necesarias para crear scripts. Este editor permite, ensuma, insertarfunciones en los scripts nuevos, consultar informacin de referenciaacerca de los scripts y funciones ya existentes, detectar los errores queinfringenlas normas de la escritura de scripts y guardar y compilar los archivosde scripts.El Asistente de Scripts ofrece, asimismo, una serie de teclasrpidas que permiten navegar por los archivos de scripts con mayor facilidad.As, y dadoque, por lo general, los archivos de scripts contienen ms de unscript, para saltar de un script a otro hacia delante y hacia atrs se hancreado lasteclas F2 y SHIFT+F2 respectivamente. Asimismo, la combinacin deteclas CTRL+SHIFT+L abre un cuadro de dilogo que presenta una lista, pororden alfabtico,de todos los scripts que contiene el archivo.Cuando se guarda un archivo de scripts con el Asistente de Scripts,ste realiza otra tarea que no llevan a cabo los editores de textonormales. Se tratade la compilacin del archivo de scripts. La compilacin convierte eltexto del archivo en informacin legible para el ordenador. El archivode texto originalse guarda con la extensin JSS (JAWS Script Source), mientras que elarchivo compilado o binario se guarda con la extensin JSB (JAWS ScriptsBinary).sta es la razn por la que es fundamental crear y guardar los archivosde scripts utilizando el Asistente. Por esta misma razn, si crea omodifica scriptstrabajando con cualquier otro editor, por ejemplo con el Bloc de Notas,el archivo no se compilar cuando usted lo guarde, por lo que loscambios efectuadosen l le pasarn desapercibidos a JAWS.2. Cmo Ejecutar el Asistente de ScriptsEl Asistente de Scripts puede ejecutarse de diversas formas,dependiendo de si se desea abrirlo desde una aplicacin que se est ejecutandoo simplementese est ejecutando JAWS.Para abrir el asistente desde una aplicacin1. Pulse INSERT+0 para abrir directamente el Asistente de Scripts, oINSERT+F2 para abrir el dilogo Ejecutar Asistente, sitese sobre elelemento de listaAsistente de Scripts y pulse ENTER.2. En ambos casos, se abrir directamente el archivo de scripts de laaplicacin desde la que hemos abierto el Asistente. Si no existiera unarchivo descripts para esa aplicacin, JAWS lo crea automticamente.Cuando slo se est ejecutando JAWSUtilice uno de los mtodos siguientes:1. Desde el men Herramientas de JAWS, elija la opcin Asistente deScripts.En este caso, no se abre ningn archivo en concreto. Para abrir elarchivo de scripts que desee modificar, deber utilizar el men Archivo delAsistente.2. Pulse INSERT+0.Si la nica aplicacin que se est ejecutando es JAWS, se abrir elarchivo fuente de JAWS, es decir, el archivo JFW.JSS.1. Qu Significa CompilarCuando se guarda un archivo de script con el Asistente de Scripts,el Asistente lo guarda y lo compila, es decir, lo convierte en materialque el ordenadorpuede interpretar. Los Scripts que se crean con el Asistente seescriben en texto puro. Sin embargo, JAWS no puede interpretarlos en esteformato. Porello, al guardar el archivo, el Asistente de Script crea un segundoarchivo en un formato que JAWS s puede interpretar y utilizar, un archivoen formatobinario.El archivo de texto original se guarda con la extensin JSS (JAWSScript Source), mientras que el archivo compilado o binario se guarda conla extensinJSB (JAWS Scripts Binary). El compilador analiza la sintaxis (elcdigo) del script para verificar que cumple las normas del lenguaje descripts. Si existealgn error, el compilador informa de ello y de dnde se encuentra steaproximadamente. sta es la razn por la que es fundamental crear yguardar losarchivos de scripts utilizando el Asistente. Por esta misma razn, sicrea o modifica scripts trabajando con cualquier otro editor, el archivono se compilarcuando usted lo guarde, por lo que los cambios efectuados en l lepasarn desapercibidos a JAWS.3. Tipos de Archivos del Asistente de ScriptsEl Archivo de Scripts crea distintos tipos de archivos. Acontinuacin se ofrece una lista de sus distintas extensiones, seguidas de unabreve descripcinde los mismos:. JSS: se trata el archivo fuente de los scripts que se crea cuando secrea un archivo de scripts para una aplicacin concreta. Este archivodebe compilarsepara que JAWS pueda utilizarlo.. JSB: se trata del archivo de scripts binario que crea el Asistentecuando se guarda y compila un archivo. Este archivo no es editable y locrea el propioJAWS.. JSM: se trata del archivo de mensajes, que contiene todos losmensajes utilizados por las funciones SayString y que verbaliza JAWS. Cada unode los mensajesva precedido de un nmero, por lo que, cuando en el archivo fuente seutiliza una funcin SayString, tan slo es necesario hacer referenciaal nmerodel mensaje. La numeracin facilita, a su vez, la traduccin de losmensajes a otros idiomas.. JSH: se trata del archivo de cabecera de los scripts, que contieneinformacin relativa al correspondiente archivo JSS, generalmentedefiniciones de constantesy variables globales.. JSD: se trata del archivo de documentacin, que contiene informacinque describe cada uno de los scripts, y que el Asistente de Scripts lepedir cuandocree un script desde el cuadro de dilogo Nuevo Script. Este archivo spuede editarse.. JKM: se trata del archivo de asignacin de teclas, que contiene lascombinaciones de teclas asignadas a los distintos scripts.1. La Inclusin de ArchivosEl compilador de scripts de JAWS permite incorporar otros archivosen el archivo de scripts en el momento de la compilacin. Ello significaque, unavez realizada la compilacin, todo lo que contiene en los archivos quese han incluido o incorporado al archivo de scripts entra a formarparte del archivocompilado en cuestin, y estar operativo siempre que este activo dichoarchivo de scripts. Existen dos tipos de archivos que se incluyen:. Los archivos de cabecera (JSH), que contienen variables o constantes,. y los archivos de mensajes (JSM), que contienen mensajes precedidosde un nmero.Las sentencias include deben agruparse en las primeras lneas delarchivo de scripts.Agrupar todas las constantes y variables globales en un archivo decabecera, y los mensajes en un archivo de mensajes es una buena forma deorganizarel trabajo. JAWS dispone de dos archivos que contienen todas lasvariables globales y las constantes estndar. Se trata de los archivosHJGLOBAL.JSH yHJCONST.JSH, que se han creado para que la persona que desee crearscripts pueda utilizar dichas variables y constantes simplemente incluyendoestos archivosen sus archivos de scripts. Tambin los archivos de mensajes seincluyen en el archivo fuente. El archivo de mensajes estndar es DEFAULT.JSM.si bienno es necesario crear un archivo de mensajes separado, Henter-Joyce haagrupado los mensajes estndar en un archivo para facilitar sutraduccin. De igualmodo, si se van a crear archivos de script para una posteriordistribucin, se aconseja atenerse a esta convencin. El archivo de mensajesdebera tenerel mismo nombre que el archivo fuente, para facilitar suidentificacin.4. El Uso del Asistente de ScriptsCuando se abre el Asistente de Scripts desde el men Asistentes dela ventana de JAWS, se abre una ventana con el ttulo Asistente deScripts de JAWS,cuya barra de men consta de tres mens: Archivo, Ver y Ayuda. A estaventana pueden aadrsele una barra de herramientas y una barra deestado, que puedenactivarse desde el men Ver. Para hacerlo, pulse ALT+V y despus H o Srespectivamente.Esta ventana sera el punto de partida si se desea actualizar o verarchivos de scripts ya existentes. De esta forma puede abrirse tambinel archivopor defecto de JAWS.Por otra parte, si se est ejecutando una aplicacin y despus seabre el Asistente de Scripts, ste arrancar con el archivo fuente dedicha aplicacinen una ventana de edicin. Si no existe ningn archivo de scripts paraesa aplicacin, JAWS lo crear automticamente. En cualquier caso,tanto si se vaa aadir un script a un archivo ya existente, como si se va a crear elprimer script de un archivo nuevo, el Asistente se utiliza de la mismamanera.1. La Ventana del Asistente de ScriptsA continuacin se describen los mens de que dispone la ventana delAsistente de Scripts. Sin embargo, slo se tratarn aquellos elementosque realizanfunciones especficas del Asistente de Scripts, mientras que lasopciones de men estndar Windows se describirn como "funcin estndar". Lascombinacionesde teclas asociadas a las opciones se presentarn entre parntesis.El Men Archivo. Nuevo (CTRL+N) Funcin Estndar.. Abrir: (CTRL+A) Funcin Estndar.. Abrir Archivo Por defecto: (ctrl+shift+d) Esta opcin abre el archivode scripts por defecto, DEFAULT.JSS.. Cerrar: Funcin estndar.. Guardar: (CTRL+G) Esta opcin guarda el archivo, pero tambin guarday compila un archivo binario JSB si se est guardando un archivo JSS.. Guardar Como: Funcin estndar.. Guardar Sin Compilar: (CTRL+U) Esta opcin guarda cualquier archivo,pero no compila los archivos JSS.. Importar Archivo de Macros: Esta opcin abre el dilogo importarArchivo de Macros, desde el que se puede recuperar o importar un archivo demacros delos que se utilizaban en versiones anteriores de JAWS.. Sincronizar Documentacin: Esta opcin permite eliminarincoherencias entre el archivo de scripts y el de documentacin. Asimismo, cuandose pegan scriptsde otro archivo JSS, esta funcin copia la documentacin en el archivoJSD correspondiente.. Imprimir: (CTRL+P) Funcin Estndar.. Presentacin Preliminar: Funcin Estndar.. Configuracin de Impresin: Funcin Estndar.. Listado de los ltimos Archivos Abiertos: Los siguientes elementosdel men constituyen la lista cronolgica de los cuatro ltimos archivosa los quese ha accedido.. Salir: Funcin Estndar.El Men EdicinLa mayora de las opciones de este men son estndar, excepto lasque se describen a continuacin:. Seleccionar Script: (CTRL+S) Esta opcin permite seleccionar todo elscript en el que est situado el cursor.. Buscar: (CTRL+B) Esta opcin abre el cuadro de dilogo Buscar, elcual permite buscar una cadena de texto.. Buscar Siguiente: Esta opcin se utiliza con las funciones debsqueda y bsqueda incremental. Utilice esta opcin o pulse F3 para buscaren el archivola siguiente cadena de texto introducida en el dilogo Buscar.. Buscar Anterior: Esta opcin se utiliza con las funciones de bsqueday bsqueda incremental. Utilcela o pulse SHIFT+F3 para localizar lacadena de textoanterior, con arreglo a la cadena introducida en el dilogo Buscar.. Reemplazar: (CTRL+L) Se trata de una funcin complementaria aldilogo Buscar. Cuando se la selecciona, se abre el cuadro de dilogoReemplazar. La opcinpermite buscar y reemplazar una cadena de texto en el archivo descripts abierto.. Bsqueda Incremental: (CTRL+ALT+I) Esta opcin permite buscarrpidamente una cadena de texto especfica en un script. Esta funcin permiteactualizarla cadena de bsqueda aadiendo letras a la misma.El Men Script. Nuevo: (CTRL+SHIFT+E) Esta opcin abre el cuadro de dilogo NuevoScript, que permite crear un script nuevo.. Eliminar Script: (CTRL+SUPR) Esta opcin borra el script en el queest situado el cursor.. Insertar Funcin: (CTRL+F) Utilice esta opcin cuando desee insertaruna funcin en un script.. Insertar Script: (CTRL+SHIFT+C) Esa opcin abre el cuadro de dilogoInsertar Script, que permite llamar a un script dentro de otro. Elproceso es semejanteal de llamar a una funcin, slo que en este caso se llama a un scriptasignado a una tecla.. Siguiente Script: Esta opcin desplaza el cursor al principio delsiguiente script dentro del archivo abierto. Esta opcin se activatambin pulsandoF2.. Script Anterior: Esta opcin sita el cursor al principio del scriptactual o del anterior, dependiendo de cual sea la posicin del cursoren ese momento.Esta opcin se activa tambin pulsando SHIFT+F2.. Ir A: (CTRL+I) Esta opcin abre el cuadro de dilogo Ir A, quepermite saltar a una lnea concreta. El cursor se desplazar a la lneacuyo nmero seintroduzca en el cuadro de edicin. Los nmeros de lnea aparecen en laBarra de Estado del Asistente de Scripts.. Lista de Scripts: (CTRL+SHIFT+L) Esta opcin abre un dilogo quecontiene una lista, por orden alfabtico, de todos los scripts quecontiene el archivo.Al pulsar ENTER sobre el nombre de un script, el cursor se sita en l.El Men Ver. Documentacin: (CTRL+D) Esta opcin abre el cuadro de dilogoInformacin de Script, que contiene toda la documentacin acerca del scriptactual.. Barra de Herramientas: Funcin Estndar.. Barra de Estado: Funcin Estndar.. Mostrar Path Completo: Si se verifica esta opcin, la Barra deTtulo del Asistente de Scripts mostrar el path completo del archivo descripts abierto.Si se abre un archivo nuevo, la Barra de Ttulo mostrar "Sin Ttulo".. Zoom: Esta opcin permite seleccionar la cantidad de informacin quese desea que se muestre en pantalla. Por ejemplo, si se selecciona200%, la informacinen pantalla se ampla a dos veces su tamao.. Tamao Tabulacin: Esta opcin abre un submen que contiene unalista de valores en pulgadas entre los que se puede seleccionar el tamaode la indentacincuando se pulsa TAB.El Men VentanaTodos los elementos de este men realizan funciones estndar.El Men Ayuda. ndice y Contenido: Funcin Estndar.. Ayuda de Palabras Reservadas: Esta opcin, que tambin se activapulsando SHIFT+F1, ofrece ayuda acerca de la funcin o script en el queest el cursor.. Acerca De: Funcin Estndar.La Bsqueda IncrementalLa Bsqueda Incremental es una funcin el Asistente de Script quepermite buscar una cadena de texto concreta en un script. Para activar labsquedaincremental, sitese sobre un script, elija la opcin BsquedaIncremental del men Edicin o pulse CTRL+ALT+I y vaya escribiendo las letrasde la cadenade texto que desea buscar. El Asistente realizar una bsquedaincremental de las letras que se vayan tecleando.La cadena de bsqueda incremental aparece en la Barra de Estado y seactualiza a medida que se aaden letras a la misma.Para desactivar la bsqueda, pulse ESCAPE. Ello devuelve el cursor ala posicin en la que se encontraba antes de que se activara labsqueda incremental.Tambin es posible desactivar la bsqueda incremental pero continuar enel lugar de la ltima cadena seleccionada pulsando las flechas derechao izquierda.NOTA: La diferenciacin entre maysculas y minsculas a la hora debuscar actuar en funcin de lo que se halla elegido en la opcinMaysculas y Minsculasdel cuadro de dilogo Buscar. Para verificar o desactivar laverificacin de esta opcin, deber realizar una bsqueda desde este dilogo y, apartir deese momento, la bsqueda incremental se realizar con arreglo a laopcin elegida en el cuadro de dilogo Buscar.Siempre que se realice una bsqueda, ya se trate de una bsquedaincremental o no, pueden utilizarse las teclas F3 (Buscar Siguiente) ySHIFT+F3 (BuscarAnterior) para buscar sucesivamente la cadena de texto dentro delarchivo. Las opciones Buscar Anterior y Buscar Siguiente se encuentran en elmen Edicin.Al pulsar tanto F3 como SHIFT+F3, se respetar la opcin Maysculas yMinsculas. Cuando se llega al principio o al final del archivo descripts, JAWSinformar de ello. Si, en estos casos, vuelve a pulsarse una de estasteclas, se seleccionar de nuevo el elemento anterior o siguiente,volviendo al principioo al final del archivo.Tamaos de TabulacinEsta funcin permite fijar la distancia de tabulacin en losscripts. Para ver o modificar la distancia de tabulacin, abra el men Ver delAsistentede Scripts pulsando ALT+V y a continuacin pulse A. Aparecer entoncesuna lista de distancias de tabulacin, cada una de las cuales es unoctavo de pulgadamayor que la anterior. La opcin correspondiente al tamao detabulacin utilizado actualmente aparece verificada.Seleccione con las flechas el tamao de tabulacin que desee aplicaral script y pulse ENTER. El tamao de tabulacin habr quedado guardadohasta quevuelva a modificarse.El Dilogo Ayuda de Palabras ReservadasLa Ayuda de Palabras Reservadas describe las palabras clave que seutilizan en los scripts y funciones. Se trata de los nombres de dichosscripts y funciones,por ejemplo, el script JAWSWindow() o la funcin SetActiveCursor(IntnCursor). Para poder utilizar esta opcin, es necesario que el cursorest situadoen un script o funcin, concretamente en una de las palabrasreservadas. A continuacin se explica cmo consultar, con esta opcin, ladescripcin de lafuncin GetVerbosity(), que se utiliza en el archivo DEFAULT.JSS:1. Abra el archivo DEFAULT.JSS desde el Asistente de Scripts.2. Con la opcin Buscar, localice la palabra reservada GetVerbosity().3. Pulse SHIFT+F1 para abrir el dilogo Ayuda de Palabras Reservadas,que presenta dos ventanas: Descripcin y Mostrar. La ventana deDescripcin presentael Nombre de la palabra reservada en el formato correcto, el Tipo deValor Devuelto (si existe) y, en su caso, su descripcin y, finalmente,la descripcinde la palabra reservada.4. Pulse TAB Para ver la ventana de Mostrar que presenta un rbolsimilar al del Explorador de Windows o al de los Temas de ayuda.5. Esta ventana contiene Ejemplos, Temas de Ayuda y un Histrico detodas las palabras reservadas consultadas. La seccin contenido de laayuda muestrauna lista de todas las palabras reservadas.2. Los Dilogos Nuevo Script e Informacin de ScriptLa opcin Nuevo se encuentra en el men Script del Asistente deScripts, mientras que la de Documentacin se encuentra en el men Ver. Lasteclas rpidasque abren dichos cuadros son CTRL+SHIFT+E y CTRL+D respectivamente.Ambos dilogos son iguales; la diferencia radica en que el primero(Nuevo Script) aparece cuando se va a crear un script, y el segundo(Informacin deScript), cuando se desea consultar la documentacin de un script yaexistente. Aqu nos referiremos al cuadro de dilogo Nuevo Script; sinembargo, lainformacin es la misma en los dos dilogos.El dilogo nuevo Script contiene dos pginas: General y Parmetros,que se describen a continuacin. Para pasar de una pgina a otra, pulseCTRL+TAB.La Pgina GeneralEsta pgina contiene los siguientes campos:. Nombre de Script, donde se introduce le nombre del script o funcin.Se recomienda asignar un nombre que describa lo que realizar elscript, utilizandovarias palabras concatenadas. Por ejemplo, ScriptPrueba. Escriba enmaysculas la primera letra de cada palabra, y no separe las palabras conespacios.. Se Puede Asignar a Tecla: Pulse la BARRA ESPACIADORA para verificaresta opcin cuando desee asignar una tecla al script. Si no la verifica,lo que secrear ser una funcin. Recuerde que a los scripts puede asignrselesuna combinacin de teclas, pero no a las funciones.. Sinopsis: resuma en este campo el propsito del script. Lainformacin de este campo se utiliza cuando se accede a la Ayuda de Teclado(INSERT+1) o ala Ayuda de Palabras Reservadas (SHIFT+F1). la Ayuda de Teclado seactiva pulsando la combinacin INSERT+1 del teclado extendido (JAWS dir"Ayuda de TecladoActivada") y pulsando la combinacin de teclas asociada al script. Estaayuda debe ofrecer la informacin escrita en el campo Sinopsis. Paradesactivarla Ayuda de Teclado, vuelva a pulsar INSERT+1.. Descripcin: escriba aqu una descripcin ms completa de lo quellevar a cabo el script. Tambin esta informacin se utilizar en la Ayudade Teclado(INSERT+1) y en la Ayuda de Palabras Reservadas (SHIFT+F1). Lainformacin de la descripcin se ofrece cuando, una vez activada la Ayuda deTeclado, sepulsa dos veces rpidamente la combinacin de teclas asignada alscript.. Categora: puede escribirse aqu una categora o elegirse una de lasque contiene el cuadro combinado.. Asignar A: este campo slo estar disponible si se ha verificado lacasilla se Puede Asignar A Tecla. Pulse aqu la combinacin de teclasque desee asignaral script. Si la combinacin pulsada ya est asignada a otro script,JAWS le advertir de ello y podr usted aceptar la combinacin elegida oasignar otra.. Devuelve: este campo slo estar disponible si no se ha verificado lacasilla "Se Puede Asignar A Tecla". Escriba aqu un valor o elija unode los quecontiene el cuadro combinado. Las opciones son: Int, Object, String, oVoid; seleccione el tipo de valor que devolver la funcin al scriptdesde el quese la llame. Seleccione Void si no necesita utilizar el valor quedevuelva la funcin. El tipo de valor que se seleccione aparecer en laprimera lneade la funcin, precediendo a su nombre.. Descripcin del Valor Devuelto: este campo slo estar disponible sino se ha verificado la casilla "Se Puede Asignar A Tecla". Describaaqu la informacinque devolver la funcin y cmo se va a utilizar.Si el script no requiere ningn parmetro, pulse ENTER para empezara crearlo. Si desea aadir parmetros al script, pulse CTRL+TAB paradesplazarsea la pgina Parmetros.La Pgina ParmetrosSi lo que se est creando es una funcin, es posible que stanecesite algn parmetro. Esta pgina contiene informacin acerca de losparmetros queutilizar la funcin. Un parmetro es un dato que necesita la funcinpara realizar su labor. Al igual que con las variables, este dato puedeser un entero,una cadena, un identificador global o un objeto. Esta pgina no seutiliza si lo que se est creando es un script en lugar de una funcin, ytampoco sila funcin en cuestin no necesita ningn parmetro.La pgina parmetros contiene los siguientes campos.. Parmetros Existentes: si ya existen parmetros para esta funcin,stos aparecern en este cuadro de lista, que mostrar igualmente los quese vayanaadiendo. Si desea borrar o modificar un parmetro ya existente,primero seleccinelo con las flechas. Ms abajo se describen las opcionesEliminar yAadir.. Parmetro: si desea aadir algn parmetro a la funcin, escriba aqusu nombre. Siga el formato que se emplea para asignar nombres a losscripts: escribaen maysculas la primera letra de cada palabra y no utilice espacios.. Por Referencia: Verifique esta casilla si quiere que a travs de esteparmetro sea posible un intercambio de informacin entre la funcin yel scriptque la llama. Por lo general, esta transferencia de datos se produce enuna nica direccin, este comportamiento es la opcin por defecto y seconoce comopasar el parmetro "por valor". Es decir, cuando se llama a la funcindesde el script, se copia y se enva a la funcin el valor actual delparmetro.En este caso, lo que ocurre es que una vez que se ha producido elintercambio de parmetros, si cambia el valor de los mismos, el cambio lepasara desapercibidoal script.. Sin embargo, si se verifica la casilla Por Referencia, se produce unintercambio de informacin en las dos direcciones, lo que significa quelo que sepasa realmente es la direccin de memoria y no el valor del parmetro.As, si cambia el valor del parmetro, el script s lo detectar, yaque utilizael dato de la misma direccin de memoria. Esto permite cambiar el valorde un parmetro de una funcin y que el script utilice el nuevo valoruna vez finalicela ejecucin de la funcin.. Descripcin: este campo debe presentar una descripcin breve delparmetro.. Tipo: elija Handle, Int, String u Object en funcin del tipo deinformacin que vaya a pasar el parmetro. Por ejemplo, Handle hacereferencia al identificadorglobal de una ventana.. Aadir: Este botn estar disponible cuando se hallan rellenado loscampos anteriores. Para agregar el nuevo parmetro a la lista deParmetros Existentes,pulse ENTER o la BARRA ESPACIADORA.. Eliminar: Este botn estar disponible si se ha seleccionado algnelemento de la lista de Parmetros Existentes. Para eliminar dichoparmetro, pulseENTER o la BARRA ESPACIADORA.3. El Dilogo Insertar FuncinEl men Script ofrece dos posibilidades de insercin: InsertarFuncin e Insertar Script. Estas opciones permiten insertar llamadas afuncin desde otroscript. A continuacin pasaremos a describir la opcin InsertarFuncin. Para insertar una llamada a funcin en un script, proceda del modosiguiente:Sitese en el lugar en el que desea insertar la funcin y, desdeel men Script, elija la opcin Insertar Funcin, o pulse CTRL+F.1. Se abrir entonces el cuadro de dilogo Insertar Funcin, quemuestra la lista de las funciones (ms de 200) que pueden utilizarse paracrear scripts.Cuando se abre el cuadro de dilogo, JAWS verbalizar el ttulo"Insertar funcin 1", lo que significa que estamos en el primer nivel delcuadro de dilogo.El primer campo es un cuadro de edicin.Pulse TAB para situarse en la lista alfabtica de todas las funcionesdisponibles.2. Si conoce el nombre de la funcin que desea insertar, puede empezara escribirlo en el cuadro de edicin. Entonces, en la lista, el foco sedesplazarautomticamente a la funcin cuyo nombre comience con las letrastecleadas.NOTA: Cada vez que se teclea una letra, JAWS verbaliza la descripcincorrespondiente a la funcin en la que se sita el foco. Pero tambinpuede tabularhasta llegar a los campos descripcin y devuelve para volver aconsultar informacin acerca de la funcin seleccionada.3. Cuando haya tecleado las letras suficientes para que, en la lista defunciones, el foco se desplace a la funcin que desea insertar, pulseENTER paraseleccionarla.4. Si no recuerda exactamente el nombre de la funcin que deseainsertar, vaya tecleando las letras por las que cree que empieza el nombrehasta que JAWSverbalice el nombre correcto. Tambin puede pulsar TAB para situarse enla lista de funciones y buscar la que desea con las flechas.NOTA: Tambin pueden teclearse letras para buscar una funcin aunqueestemos situados en la lista, y el Asistente de Script ir localizando lafuncin correspondientea lo tecleado. Tambin de esta forma JAWS ir verbalizando ladescripcin de las funciones sobre las que va situndose el foco.5. Para insertar la funcin, elija el botn Siguiente o pulse ALT+S. Enese momento, pueden ocurrir dos cosas:6. Si la funcin seleccionada no requiere parmetros, volveremos a laventana de edicin del Asistente de Scripts, y la funcin aparecerescrita en elscript.7. Si la funcin requiere uno o ms parmetros, se abrir el cuadro dedilogo "Insertar Funcin 1" y JAWS describir el tipo de parmetro quela funcinnecesita. Por ejemplo, si se ha seleccionado la funcin Say, habr queintroducir el texto o mensaje que se desea que JAWS verbalice,especificar el nombrede una variable o insertar una funcin.8. Si desea insertar otra funcin como parmetro de la primera, sitesesobre el botn Insertar Funcin (pulsando TAB o ALT+I) y actvelo conENTER o laBARRA ESPACIADORA. Se abrir entonces el dilogo "Insertar Funcin 2".La nica diferencia entre la lista de funciones que aparece ahora y lalista principales que en sta aparecen tan slo aquellas funciones que el Asistente deScripts considera adecuadas como parmetro.9. En este momento podr elegir una funcin de la lista o escribir unnombre de funcin en el cuadro de edicin en el que se sita el fococuando se abreel cuadro de dilogo. Cuando haya terminado, pulse ENTER.Repita este proceso hasta introducir todos los parmetros que lafuncin necesita. A veces es necesario llegar a un tercer y un cuarto nivel.NOTA: Al uso de funciones como parmetros de otras funciones se ledenomina "anidar funciones".10. Una vez introducidos los parmetros necesarios, el asistente deScripts volver a situarnos en la ventana de edicin, y la funcin (contodos sus parmetros)aparecer el script es insertada en el script.NOTA: Cabe sealar que la lista de funciones del dilogo InsertarFuncin contiene, adems de las funciones internas de JAWS, todas lascreadas por losusuarios en el archivo de scripts actual. Por tanto, si usted defineuna funcin nueva en un archivo de scripts, sta aparecer en la lista defuncionesuna vez que lo compile.4. El Dilogo Insertar ScriptEn el men Script, existen dos posibilidades de insercin: lasopciones Insertar Funcin e Insertar Script. Estas opciones permiteninsertar funcioneso llamar a un script desde otro script. En este apartado describiremosla opcin Insertar Script.La opcin Insertar Script permite aadir al archivo de scripts unalnea que llama a otro script. Para hacer esto, proceda del modosiguiente:1. Sitese en el lugar en el que desee insertar el script y pulseCTRL+SHIFT+C, o, desde el men Script, elija la opcin Insertar Script. Seabrir entoncesel cuadro de dilogo Insertar Script, y el foco aparecer en una listaque contiene los scripts a los que se puede llamar desde el script queestamos creando.2. Para seleccionar uno de ellos, puede:3. Utilizar las flechas para navegar por la lista hasta encontrar elque desea.4. Empezar a teclear el nombre del script hasta que JAWS lo localice.5. Una vez seleccionado el script, pulse ENTER. As, si se seleccionael script SayName, en el archivo aparecer la lnea siguiente:PerformScript SayName ()Esta lnea har que, cuando se ejecute el script en el que la hemosinsertado, se ejecute tambin el script sayName, (DecirNombre) como sise hubierapulsado la combinacin de teclas asociada a l. Esto permite utilizarun script dentro de otro sin tener que escribir todo el cdigo.5. Los Dilogos Buscar y ReemplazarLa opcin Buscar permite localizar rpidamente una cadena de textoen un archivo de scripts. Por otra parte, si se desea localizar unamisma cadena todaslas veces que aparece en el texto para cambiarla por otra, ello puedehacerse utilizando la opcin Reemplazar.El Dilogo Buscar. Cuando se est editando un archivo de scripts, es posible buscar unacadena de texto en todo el archivo (por ejemplo, el nombre de unafuncin) mediantela opcin Buscar (CTRL+B) del men Edicin del Asistente de Scripts.. Cuando se abre el dilogo, el cursor aparece en el cuadro de edicinBuscar. Teclee en l la cadena de texto que desea buscar. Para buscarsucesivamentela cadena de texto en el archivo, pulse TAB hasta situarse en el botnBuscar Siguiente o pulse ALT+B. Para especificar ms la bsqueda,utilice las siguientesopciones:Slo Palabra CompletaSi desea restringir la bsqueda a palabras completas que constituyan lacadena de texto especificada, pulse TAB para situarse en la casilla deverificacinSlo Palabra Completa y verifquela con la BARRA ESPACIADORA.Maysculas y MinsculasSi desea que, al buscar, JAWS tenga en cuenta si la cadena se escribien maysculas y minsculas y busque la cadena tal y como se ha escrito,vuelva apulsar TAB para situarse en la opcin Maysculas y Minsculas yverifquela con la BARRA ESPACIADORA.. La funcin de bsqueda continuar buscando la misma cadena de textocada vez que se pulse ALT+B o se active el botn Buscar Siguiente hastaque se modifiquela cadena de texto.. Para cerrar el dilogo, sitese en el botn Cancelar y pulse ENTER.El Dilogo ReemplazarEsta opcin funciona igual que la de bsqueda, slo que permitelocalizar y cambiar una cadena de texto. Abra un archivo de scripts y pulseCTRL+L oseleccione la opcin Reemplazar del men Edicin.. Cuando se abre el dilogo Reemplazar, el cursor aparece en el cuadrode edicin Buscar. Teclee en l la cadena de texto que desea buscar.Tambin el dilogoReemplazar permite concretar la bsqueda con las opciones Slo PalabraCompleta y Maysculas y Minsculas. Ahora, pulse TAB para situarse enel cuadrode edicin Reemplazar Por.. El dilogo Reemplazar ofrece dos posibilidades a la hora de localizary reemplazar texto: Se puede ir buscando la cadena y decidir en cadacaso si sedesea reemplazar o no, o reemplazarla automticamente en todos loscasos.Buscar y ReemplazarEste mtodo permite leer la cadena en su contexto antes dereemplazarla. para utilizar este mtodo, pulse TAB hasta situarse en el botnBuscar Siguienteo pulse ALT+B para buscar sucesivamente la cadena de texto en elarchivo. Si desea reemplazar la cadena, sitese en el botn Reemplazar (opulse ALT+R)y pulse ENTER. Si, por el contrario, no desea reemplazar la cadena enese lugar, vuelva a pulsar ALT+B para seguir buscndola.Puede repetir el proceso cuantas veces quiera, hasta que ya no seencuentre la cadena.Reemplazar AutomticamenteEste mtodo permite reemplazar automticamente la cadena de textoescrita en el campo Buscar todas las veces que aparece en el archivo. Parautilizar estemtodo, pulse TAB hasta situarse en el botn Reemplazar Todo y pulseENTER. Puede tambin pulsar ALT+Z.NOTA: Aunque este mtodo es ms rpido que el anterior, es tambin msarriesgado.Para cerrar el dilogo Reemplazar, sitese en el botn Cancelar y pulseENTER.4. La Estructura de los Scripts1. La Estructura de los ScriptsLos scripts y funciones constan de tres secciones principales: Lapalabra clave de inicio, el cuerpo del script o funcin, y la palabraclave de final.La primera lnea comienza con la palabra Script o Function, que es lapalabra clave de inicio. En funcin del tipo de script de que setrate, aparecerla palabra Script o Function, seguida de un espacio.An en esta primera lnea, tras la palabra Script o Function,aparece el nombre del script o de la funcin. El nombre puede ser cualquiera,pero lo mstil es asignar un nombre significativo, que describa en cierto modo elscript o funcin. Por lo general, el nombre consta de varias palabrasconcatenadas,sin espacios entre ellas. He aqu algunos nombres de scripts:SayPriorCharacter, SayNextLine, SayWindowTitle, y NextDocumentWindow. Estosnombres describen(en ingls) el objetivo de los scripts.NOTA: La primera letra de las palabras est escrita en maysculas paraque JAWS lea el nombre correctamente. Si JAWS no pronunciacorrectamente estas palabras,verifique la casilla Maysculas y Minsculas Mezcladas que se encuentraen el dilogo Procesamiento de Texto, en el men Opciones del Asistentede configuracin.Esta casilla debera estar verificada.La primera lnea, tanto de los scripts como de las funciones,termina con los signos de abrir y cerrar parntesis, que en algunos casoscontienen informacin,concretamente, cuando una funcin requiere parmetros. Un parmetro esun dato que se enva a la funcin para que lo utilice en el momento dela ejecucin.Esto se hace as (en lugar de incluir el parmetro en el cdigo) porquela informacin puede ser distinta cada vez que se ejecuta la funcin.Con esto termina la sentencia inicial del script. He aqu dosejemplos de sentencias iniciales:Script ScriptName ()Function FunctionName ()En algunos casos, existe una palabra ms antes de la palabraFunction, concretamente, cuando la funcin devuelve informacin, es decir,cuando la funcinenva informacin al script o funcin desde el que se la llama. El tipode informacin que devuelve la funcin se declara antes del nombre dela misma.Las palabras que aparecen precediendo a la palabra Function, en funcindel tipo de informacin que sta devuelve, son string, Int, Object,Handle, o Void.A continuacin empieza el cuerpo del script, que contiene todas lasinstrucciones que se van aadiendo a medida que se crea el script:variables, sentenciasde flujo de control, funciones, sentencias que ejecutan otro script, yoperaciones aritmticas. Tambin pueden aparecer comentarios,sentencias include,etc.En la ltima lnea del script aparece la palabra clave de final,EndScript. El Asistente de Scripts escribe automticamente esta ltimalnea cuandose crea el script. He aqu dos ejemplos de la ltima lnea de un scripty de una funcin:EndScriptEndFunctionNOTA: Cuando se crea un script utilizando el dilogo Nuevo Script, elAsistente crea un script en blanco, pero en el que aparecen la primera yltima lnea,y varias lneas en blanco entre ellas. Para crear un script, basta concolocar las sentencias en dichas lneas en blanco.2. Un Ejemplo de ScriptLos archivos que contienen los scripts que se crean, editan oconsultan se llaman archivos fuente. Los scripts no tienen que presentar unformato muyestricto, es decir, pueden introducirse espacios o lneas en blancodonde se quiera, y puede escribirse en minsculas o maysculasindistintamente. Elcompilador ignora las maysculas excepto en algunas funciones quecomparan cadenas tales como la funcin StringContains (). Sin embargo, sexisten algunasnormas que hay que seguir a la hora de crear scripts.El script que se muestra a continuacin hace que JAWS verbalice sunombre (sustituya XXX por su nombre) al pulsar un comando.Script SayName()SayString ("My name is XXX")EndScript5. Crear Scripts1. Cmo Crear ScriptsAhora que ya conoce la estructura bsica de los scripts y lasherramientas que puede utilizar para crearlos, editarlos y compilarlos, yapuede empezara crear scripts. La mejor forma de aprender algo es hacindolo. Paraque se familiarice con la escritura de los scripts, hemos copiado aqualgunos ejemplos,desde scripts sencillos a algunas de las funciones ms complejas. Si seest usted iniciando en este tema, le recomendamos que analice primerolos ejemplosms sencillos, y pase despus a los ms complicados. Por el contrario,si tiene algo de experiencia, los ejemplos podrn servirle paradetectar algunosde los problemas con los que se haya encontrado al crear scripts.2. Cmo Crear un Nuevo ScriptJAWS le permite crear scripts en el archivo por defecto, en unarchivo de scripts de una aplicacin o en un archivo nuevo. Los scriptsnuevos deben colocarseal final del archivo.3. Editar Un Script ya ExistenteLos pasos a seguir para modificar un archivo de scripts ya existenteno se diferencian mucho de los que se muestra en apartado Ejemplo deScript 1, conalgunas excepciones.En primer lugar, es necesario abrir el archivo que se deseamodificar. Por ejemplo, para agregar un script o funcin al archivo de scriptspor defectode JAWS, habra que abrir el archivo DEFAULT.JSS, crear el nuevo scripty compilar el archivo. A continuacin se muestra un ejemplo en el quese va a modificarel archivo de scripts por defecto:La mayora de las ventanas pueden estar en estos tres estados:minimizada, restaurada o maximizada. Dichos estados estn representados portres botonesque se encuentran en la esquina superior derecha de la ventana. Elprimer botn es el de Minimizar, y el ltimo el de Cerrar, mientras que eldel mediopuede ser Restaurar o Maximizar, en funcin de cul sea el estadoactual de la ventana.Normalmente, para saber cul es el estado actual e la ventana,habra que hacer lo siguiente:1. Para este ejercicio, leeremos los botones de la ventana el Asistentede Scripts. Ejecute JAWS y abra el Asistente de Script pulsandoINSERT+0 o eligiendola opcin en el men Asistentes de la ventana de JAWS.2. Pulse INSERT+FIN. JAWS leer el contenido de la barra de titulo dela ventana, incluidos los tres botones. Si JAWS lee "Restaurar,Smbolo", significaque la ventana est maximizada. Sin embargo, si lee "maximizar,smbolo", es que la ventana est restaurada. Si quisiramos leer nicamente elbotn delcentro, sera ms complicado.A continuacin se explica cmo aadir al archivo de scriptsDEFAULT.JSS un script que lee este botn central y, por tanto, permite conocerinmediatamentele estado de la ventana. Puesto que la ventana del Asistente de Scriptscuenta con los tres botones mencionados, el nuevo script podr probarseen dichaventana.Proceda del modo siguiente:1. Ejecute JAWS for Windows si es que no lo ha hecho ya.Para abrir el archivo de scripts de una aplicacin, no es necesarioabrir dicha aplicacin, de igual modo, para editar el archivo de scriptspor defecto,no es necesario abrir ninguna aplicacin aparte de JAWS.Simplemente elija la opcin Asistente de Scripts del men Asistente opulse INSERT+0. Si se abre el Asistente de Scripts cuando nicamente seest ejecutandoJAWS, el archivo que se abre es JFW.JSS.2. Pero, puesto que el archivo que queremos editar es DEFAULT.JSS,habremos de elegir la opcin Abrir Archivo por Defecto del men Archivo delAsistentede Scripts. Entonces aparecer en pantalla el archivo DEFAULT.JSS.3. Pulse CTRL+FIN para situarse al final del fichero, donde debercolocar el nuevo script.4. Abra el dilogo Nuevo Script pulsando CTRL+SHIFT+E o eligiendo laopcin nuevo del men Script.5. Escriba DecirEstadoVentana en el campo Nombre de Script. Escriba enmaysculas la primera letra de cada palabra y no las separe conespacios.6. Puesto que vamos a utilizar una combinacin de teclas para llamar alscript, verifique la casilla Se Puede Asignar a Tecla, para indicar alscript quese va a tratar de un script al que se va a asignar una tecla.7. En el campo Asignar A, pulse CTRL+ALT+E. sta ser la combinacin deteclas que utilizaremos para llamar al script, es decir, para que JAWSverbaliceel estado de la ventana.8. Escriba la informacin necesaria en el resto de los campos. PulseENTER para cerrar el dilogo Nuevo Script.9. Ver cmo, al final del archivo DEFAULT.JSS ha aparecido un scripten blanco con el nombre DecirEstadoVentana, y cuya primera lnea es"Script DecirEstadoVentana()" y la ltima, "EndScript". El cursor estar situado en la lneaanterior a la ltima de las dos lneas.10. El script leer el estado de la ventana con el cursor de JAWS, porlo que deber insertar la funcin JAWSCursor en la segunda lnea delscript.11. A continuacin, inserte la funcin SaveCursor. Esta funcin"recuerda" cul es el cursor activo y su posicin. Despus nos aseguraremos deque el cursorde JAWS vuelve a su posicin original utilizando la funcinRestoreCursor antes de que finalice el script. Suponemos que el cursor activocuando se iniciael script es el cursor del PC, con lo que ste ser tambin el activocuando ste termine.12. Aada la funcin RouteJAWSToPC para activar el cursor de JAWS.13. Inserte ahora las funciones JAWSPageUp and JAWSEnd para situar elcursor en la parte superior de la ventana, al final de la lnea.14. A continuacin, inserte la funcin PriorWord. Cuando se utilizaesta funcin con el cursor del PC activo, JAWS deja que sea la aplicacinla que desplaceel cursor. Cuando est activo otro cursor, JAWS trata de desplazarlo ala palabra o grfico que se encuentra a la izquierda del cursor. Paraque JAWSverbalice la palabra en la que se encuentra le cursor, inserte, en lalnea siguiente, la funcin SayWord.15. Despus nos aseguraremos de que el cursor de JAWS vuelve a suposicin original utilizando la funcin RestoreCursor antes de que finaliceel script.NOTA: Puesto que el cursor activo cuando se ejecut la funcinSaveCursor era el cursor de JAWS, ser ste el que vuelva a su posicinoriginal cuando conla funcin RestoreCursor.16. En la penltima lnea, introduzca la funcin PCCursor, para activarel cursor del PC y desactivar el de JAWS. Esta funcin es necesariaporque el scriptactiv el cursor de JAWS al ejecutarse.El script debera estar escrito exactamente as:Script SpeakWindowState ()JAWSCursor ()SaveCursor ()RouteJAWSToPC ()JAWSPageUp ()JAWSEnd ()PriorWord ()SayWord ()RestoreCursor ()PCCursor ()EndScript17. Ahora, para guardar y compilar el archivo DEFAULT.JSS, pulseCTRL+G. JAWS deber verbalizar: "Compilacin Terminada". Si JAWS no emite talmensaje,vuelva a realizar los pasos anteriores y compile de nuevo el archivo.18. Pruebe el script pulsando CTRL+ALT+E con el Asistente de Scriptsabierto.Otra alternativa, en lugar de leer el smbolo de Maximizar oRestaurar, sera la de utilizar las sentencias y funciones If-Then, ElIf, Else,GetWord,y SayString para determinar cul es el estado de la ventana y hacer queJAWS verbalice el mensaje adecuado en cada caso.La Asignacin de Nombres y TeclasA la hora de asignar un nombre y una combinacin de teclas a unscript, hay que tener en cuenta una serie de factores. Si un script delarchivo por defectoest asignado a una tecla que usted quiere utilizar para otro script,puede asignar al nuevo script un nombre diferente al del archivo pordefecto sinque esto tenga consecuencias negativas.Si a un script de un archivo por aplicacin le asigna el mismonombre que presenta un script del archivo por defecto, JAWS ignorar elscript del archivopor defecto. La forma jerrquica en que JAWS gestiona los scriptssignifica que siempre se ejecutar primero la versin de un script de unarchivo poraplicacin que la del archivo por defecto. Cuando se pulsa una tecla,JAWS mira siempre en el archivo de asignacin de teclas por defecto(DEFAULT.JKM)y en el de la aplicacin (XXX.JKM), para ver si la tecla est asignadaa algn script. (JKM es la extensin de los archivos de asignacin deteclas.Si JAWS encuentra dos scripts con el mismo nombre en el archivo pordefecto y en el de una aplicacin, ejecutar siempre el script delarchivo de laaplicacin, aun cuando la asignacin de teclas propiamente se hayahecho en el archivo por defecto.Las funciones, por su parte, no estn asignadas a teclas, por lo quepara diferenciar una funcin de un archivo de aplicacin de una delarchivo pordefecto, se utiliza un mecanismo diferente. Si en el archivo de scriptpor defecto y en el de una aplicacin existen dos funciones con elmismo nombre,si estamos trabajando con dicha aplicacin, JAWS ejecutar la funcindel archivo de la aplicacin. Es decir, en el caso de las funciones, esel nombreel que decide, no la tecla.NOTA: Un caso especial se produce cuando en el archivo de scripts pordefecto y en un archivo de scripts por aplicacin existen dos scriptscon el mismonombre pero ninguno de ellos est asignado a una tecla. En este caso,JAWS utiliza el nombre del script para decidir cul est activo; pero elscript delarchivo de la aplicacin tendr preferencia sobre el script del archivopor defecto. Por ejemplo, cuando se ejecuta un script utilizando lasentencia PerformScript,el script que se ejecuta es el del archivo de script por aplicacin, yno el del archivo por defecto. Las sentencias PerformScript son unaforma alternativade ejecutar scripts.4. Cmo Crear Scripts para Leer la PantallaHe aqu una serie de reglas importantes a la hora de crear scriptpara leer texto de las ventanas:. Si desea que el cursor actual vuelva a su posicin original alterminar un script, salve la posicin del mismo al comenzar el script(SaveCursor). Hechoesto, podr activar el cursor que quiera, el de JAWS o el Invisible.. Si, al principio del script, utiliz la funcin SaveCursor, restaureel cursor. Si desea guardar y restaurar la posicin del cursor activo antes deque se ejecutara el script, pero desea hacer lo mismo con otro cursordurante la ejecucindel script, tendr que utilizar las funciones SaveCursor yRestoreCursor una vez para cada cursor.5. Cmo Crear Scripts Con ObjetosMuchos de los scripts de JAWS para las aplicaciones de Microsoft(los de Word o Excel) presentan cdigo absolutamente distinto de los quehemos vistohasta ahora. Se trata de trminos tales como Selection, Range, Text oCollapse, separados por puntos. A menos que conozca lenguajes deprogramacin orientadosa objetos (visual Basic o C ++), este cdigo le resultar algo confusoal principio. Sin embargo, con la informacin que vamos a darle, leresultar igualde sencillo crear scripts para estas aplicaciones.En este apartado se introducirn tres conceptos nuevos: los objetos,los mtodos y las propiedades.ObjetosUn objeto es un bloque independiente que presenta una serie decaractersticas o atributos a los que se denomina propiedades del objeto. Elobjeto contienetambin una serie de mtodos que le permiten comportarse de ciertaforma o realizar ciertas acciones.PropiedadesLas propiedades pueden utilizarse para devolver informacin acercadel objeto, as como para modificar las cualidades o atributos delobjeto. Esta informacinpuede utilizarse para pasarla a otro mtodo o propiedad, que seguirprocesando, o devolverse al lenguaje de scripts de JAWS para utilizarlaen los scripts.Ciertas propiedades son de lectura y escritura, es decir, puedenanalizarse y cambiarse. Otras son de slo lectura, lo que significa que sepueden verpero no cambiar. Otras son de slo escritura, lo que significa quepueden cambiarse pero no verse.MtodosLos mtodos de un objeto son exclusivos de ese objeto y slo seusan dentro del mismo. Esto es lo que queremos decir cuando hablamos de unobjeto independiente.El objeto posee todos los mtodos que necesita para cambiar y devolverinformacin acerca de s mismo a otros programas o scripts.JAWS lee lo que aparece en la pantalla. Pero, para que esto ocurra,JAWS debe poder identificar el texto y otros objetos para que elsintetizador puedainterpretarlos y procesarlos. Cuanto ms sepa JAWS acerca de lo queest presente en pantalla, ms fcil resultar navegar a cualquier puntode la mismay leer lo que all se muestra y, en algunos casos, lo que an no haaparecido en la pantalla. JAWS puede identificar los objetos de unaaplicacin Windowsporque stos contienen todos los mtodos y propiedades que JAWSnecesita reconocer para hacerlo.Adems de ser un lector de pantalla, cuando accede a lasaplicaciones Windows, JAWS se convierte en un lector de objetos. Sin embargo,resulta ms difcilacceder a las aplicaciones que no utilizan un modelo de objetos.1. Un Script de JAWS que Utiliza los Objetos de WindowsEl siguiente script de JAWS utiliza los objetos de las aplicacionesWindows para realizar su trabajo. En JAWS 3.2, cuando se pulsabaCTRL+MS del tecladonumrico en Word 8, JAWS lea el prrafo actual. He aqu el script quelo haca posible:Script SayParagraph ()SaveCursor ()PCCursor ()if (GetLine () == "") thenSayString (msge18) ; "Blank"elseSayString (GetParagraphContent ())EndIfEndScriptste parece un script perfectamente normal que llama a la funcindefinida por el usuario GetParagraphContent (). La funcin es lasiguiente:String Function GetParagraphContent ()varobject olet o = oWord.Selection.Paragraphs(1).Range ;return (o.Text);EndFunctionNOTA: Observe que al final de algunas de estas lneas aparece un puntoy coma. Aqu el punto y coma significa lo mismo que siempre: lo que lesigue es uncomentario. Sin embargo, algunos programadores los aaden simplementeporque ah termina el cdigo de esa lnea, aun cuando no escriban ningncomentario.La primera lnea de la funcin devuelve una cadena (string) y nonecesita ningn parmetro. En la segunda lnea empieza la declaracinde variableslocales, y en la tercera se declara una variable objeto a la que sedenomina o. La cuarta lnea presenta cdigo que no hemos visto hastaahora:let o = oWord.Selection.Paragraphs(1).Range ;El signo igual significa que el programador est asignando un valora la bvariable o. OWords es un variable global que est declarada en elarchivo decabecera WINWORD.JSH. Se trata de una variable object que contiene elobjeto Aplicacin (en este caso, Microsoft Word). OWord est definida enla funcinAutoStartEvent, al principio del archivo de scripts de Word. Recuerdeque esta funcin se ejecuta automticamente cada vez que se carga Word oque el focose sita en Word. El cdigo de AutoStartEvent almacena un puntero aWord de modo que JAWS sepa donde buscar los objetos de la aplicacin. Sino hubieraen la lnea nada ms que Let o = oWord, la funcin estara asignando ala variable o el valor de la variable global oWord, el objetoAplicacin Word. Sinembargo, puesto que un usuario puede querer leer nicamente el prrafoactual, el programador tena que buscar una forma de extraer lainformacin textualde dicho prrafo del objeto Aplicacin Word.Lo siguiente es un punto, que se utiliza para separar variables,mtodos y propiedades. A continuacin tenemos la palabra Selection. Setrata de la propiedadSelection, que devuelve el objeto Selection, que, a su vez, contieneinformacin acerca de lo que est seleccionado actualmente en eldocumento. Si seha seleccionado un fragmento de texto del documento, el objetoSelection devuelve dicho texto. Si no hay nada seleccionado, el objetoSelection se reduceal punto de insercin.La siguiente palabra, Paragraph, devuelve un objeto de prrafo quecontiene informacin acerca del prrafo que indica el nmero entreparntesis quecontiene el objeto Selection devuelto por la propiedad Selection, ms ala izquierda. Una vez que la propiedad Paragraph ha devuelto suinformacin, sehabr devuelto un objeto que contiene el prrafo en el que se encuentrael punto de insercin (si no hay texto seleccionado) o el primerprrafo del bloquede texto seleccionado (en el primer caso slo hay un prrafo, y, en elsegundo, el nmero (1) del objeto Paragraph devuelve el primer prrafoseleccionado).A continuacin aparece la palabra Range. La propiedad Range devuelveun objeto Range que representa el fragmento de texto contenido en elobjeto especificado.En este caso, el objeto especificado es el objeto Paragraph devueltopor la propiedad Paragraph. El Range (rango) se asemeja a un par desealadores enun libro que representan el principio y el final del rango. El objetoRange devuelto por la propiedad Range (utilizando la informacin delobjeto Paragraph)contendr los puntos inicial y final del prrafo especificado comorango.Este ltimo objeto nos permite ya recuperar la informacin quenecesitamos para que se verbalice el prrafo actual. La funcinGetParagraphContent puedeya devolver la informacin al script que la llama, con esta ltimalnea:return (o.Text);O es el objeto Range que fue devuelto al final de la lnea anterior,y Text es la propiedad Text que devuelve el texto en s a partir delobjeto Range.En este caso, la propiedad Text devuelve texto real, no un objeto. Taly como se utiliza aqu, la propiedad Text devuelve el texto sin formatodel rango.La informacin resultante es el texto devuelto por la propiedad Range-en este caso, el texto del prrafo actual. La sentencia Return de estalnea decdigo devuelve, a su vez, el texto al script que llama a la funcin.Puesto que la propiedad Text devuelve una cadena, lo que se devuelve alscript estambin una cadena, como se especifica en la primera lnea de lafuncin: String Function GetParagraphContent () Entonces el script puede yacontinuarsu actividad y leer el texto que se le ha devuelto.La clave para entender el lenguaje de script con objetos est ensaber que los objetos slo pueden utilizar ciertas propiedades y mtodos,y nunca losde otros objetos. Es necesario utilizar la propiedad o mtodo correctosdel objeto actual para obtener la informacin deseada del mismo. Talmtodo o propiedaddebe utilizarse de forma que devuelva un nuevo objeto que permitaobtener la informacin deseada en el siguiente nivel de la jerarqua. Sihace esto deforma correcta, terminar llegando a la informacin que necesita.6. Consultar la Sinopsis y Descripcin de los ScriptsLa combinacin INSERT+1 del teclado extendido activa la Ayuda deTeclado, un modo de ayuda que permite explorar el teclado sin activar lasfuncionesque realizan las teclas. Para desactivar la Ayuda de Teclado, vuelva apulsar INSERT+1.Siempre que se crea un script para una aplicacin y se le asigna unatecla, podr consultar la Sinopsis y la descripcin el mismo con laAyuda de Teclado.Active la Ayuda de Teclado y pulse la tecla asignada al script. Enlugar de ejecutar el script, JAWS informar de lo que ste hace. Sipulsa la combinacinde teclas dos veces rpidamente, JAWS ofrecer informacin msdetallada a este respecto. Esta informacin corresponde a lo que se introdujoen los camposSinopsis y Descripcin cuando se cre el script. Por eso es importanterellenar estos campos cuando se crea un script.7. Cmo Crear Scripts ComplejosNo hay mucha diferencia entre crear un script sencillo y uno mscomplejo. Los scripts ms complejos contienen instrucciones mscomplicadas que puedenplantear problemas y no realizar la accin para la que se cre elscript. Como ver cuando lea algunos ejemplos de scripts ms complejos yaprenda a crearlosusted mismo, para crear scripts ms complejos necesitar conocer ms afondo el lenguaje de scripts de JAWS y la estructura de lasaplicaciones de microsoftWindows.6. La Estructura de las Aplicaciones Windows1. La Estructura de las Aplicaciones WindowsPara poder escribir scripts que funcionen en Windows, es importanteconocer ciertos conceptos y la estructura de las aplicaciones Windows,por ejemplo,qu significan los trminos clase e identificador global (handle) deuna ventana. Por ello, a continuacin se explica en qu consiste laestructura delas aplicaciones Windows.Qu es una Ventana?Los programas de Windows se ejecutan en el interior de una ventana.Incluso JAWS tiene su propia ventana. A veces a las ventanas se lasllama pantallas,dilogos, controles o marcos. Sin embargo, cada uno de estos trminostiene un significado algo diferente.Para aprender a crear scripts, es necesario saber que una ventanapuede ser tambin un campo de entrada, un botn o un control de otrotipo. Es decir,ventana es un trmino genrico que hace referencia a los objetos de losprogramas de Windows. Los programadores pueden identificar estasventanas parahacer referencia a ellas dentro de los programas de Windows. De igualmodo, a la hora de crear scripts, usted podr identificar estos objetospara conseguirque los programas sean accesibles con JAWS.Lamentablemente, en algunos casos los programadores crean controles(por ejemplo, campos de entrada) que en realidad no son ventanas. stasson las aplicacionesque resultan ms inaccesibles para JAWS, ya que estos controlesresultan difciles de identificar y verbalizar.Cuando se enfrente a una aplicacin de este tipo, tendr que crearscripts en el archivo de la aplicacin para que JAWS reconozca estasventanas.A continuacin se explica la estructura, conceptos y trminosutilizados en Windows.2. La Jerarqua de WindowsAunque generalmente el trmino ventana se asocia al rectngulo queaparece en la pantalla cuando se abre una aplicacin, los cuadros dedilogo, mens,botones, cuadros de edicin, cuadros de lista, etc. son tambinventanas. Todos estos objetos son ventanas individuales que poseen una o msetiquetasde identificacin propias que, cuando se crea un script, puedenutilizarse para conseguir que JAWS identifique o reconozca la ventana encuestin.En la pantalla pueden aparecer mltiples tipos de ventanas al mismotiempo. Pero no estn ah aleatoriamente, sino que presentan unajerarqua especficaque permite al propio sistema operativo y al programador mantenercontroladas las ventanas.La jerarqua de las ventanas es similar a la relacin padre hijo queexiste en una familia.Las Ventanas Padre y las Ventanas HijasEl Escritorio del ordenador es la ventana padre de las ventanas deaplicacin. La ventana de su navegador de Internet es una ventana hijadel Escritorio,es decir, est un nivel por debajo del Escritorio. Todas las ventanasaplicacin se encuentran al mismo nivel operativo; por eso se dice queson ventanashermanas. As, los trminos PriorWindow y NextWindow (ventana anteriory ventana siguiente) hacen referencia a un desplazamiento entreventanas hermanas,entre ventanas que estn al mismo nivel.Por ejemplo, un procesador de texto como Microsoft Word contienevarias ventanas hijas: el rea de edicin, la barra de men, la barra deherramientasy la barra de estado, que se encuentran, a su vez, al mismo nivellgico. Cundo se va a abrir un archivo en un procesador de texto, apareceuna ventanahija que muestra una lista de todos los archivos disponibles. Se tratadel dilogo Abrir, pero en la jerarqua de Windows se trata de unaventana hijade la ventana del procesador de texto, que es, a su vez, la ventanapadre.De igual modo, si consideramos el dilogo Abrir como ventana padre,observaremos que el campo Nombre de Archivo y el resto de los camposque dicho dilogocontiene, son, a su vez, ventanas hijas del mismo. Todos estos campos ycontroles estn al mismo nivel lgico.Es decir, cada una de estas ventanas es una ventana hija de laventana que se encuentra un nivel por encima de ella y que la ha generado.Es decir, cadauna de estas ventanas es una ventana hija de la ventana que seencuentra un nivel por encima de ella y que la ha generado.3. Cmo Identificar las VentanasCuando se crea un aplicacin, el programador asigna a cada ventanauna serie de "etiquetas de identificacin". Ello permite al programahacer referenciaexplcita a cada una de las ventanas. Cada ventana tiene asignada unaClase, un Tipo, un Cdigo de Tipo, un Cdigo de Subtipo y un Control ID.La Clasey el Cdigo de Tipo informan del tipo de ventana, es decir, si laventana es un cuadro de edicin, un botn u otro tipo. El Cdigo de Subtipoofrece informacinms especifica acerca de la ventana, por ejemplo si se trata de unbotn normal o de un botn de opcin. La Clase, Tipo, Cdigo de Tipo yCdigo de Subtipopermiten, por tanto, clasificar las ventanas.NOTA: Otra herramienta que de gran utilidad a la hora de crear scriptsson las teclas que permiten acceder a toda esta informacin acerca delas ventanas.Para obtener informacin sobre la ventana activa, pulse CTRL+INSERT+F1.JAWS informar del Control ID, la Clase y el Handle de la ventana.Sitese en otrasventanas y en otras aplicaciones y practique con este comando parafamiliarizarse con este tipo de informacin.Tal informacin es importante para los usuarios de JAWS porque JAWSse comporta de modo diferente en funcin de la identidad de la ventanaque tieneel foco (que est activa). Por ejemplo, si la ventana activa es uncuadro de edicin, JAWS sigue al caret o cursor de insercin, lo quesignifica que,si se pulsa FLECHA ABAJO, JAWS leer la lnea de texto sobre la que sesita el cursor. Por otra parte, si estamos en una lista o un men,JAWS seguiral elemento que va apareciendo resaltado a medida que se pulsan lasflechas para desplazarse por la lista. JAWS acta de este modo porque aslo contemplanlos scripts asociados a las teclas FLECHA ARRIBA y FLECHA ABAJO en elarchivo de scripts por defecto. Estos scripts contienen cdigo quedeciden qu haceren funcin de la identidad de la ventana que tiene el foco.Si analiza los scripts SayPriorLine y SayNextLine del archivoDEFAULT.JSS, ver que Lo que se verbaliza se basa en el Cdigo de Tipo yCdigo de Subtipode la ventana que tiene el foco cuando se ejecuta el script.1. Clases de VentanasLa Clase de la ventana proporciona informacin acerca de lo que stahace. As, algunas Clases de ventana son cuadro de edicin, cuadro delista o botn.Esta informacin es importante porque cada clase de ventana (una listadesplegable, un cuadro de lista o un cuadro de edicin) tiene unascaractersticasespecficas. La clase de la ventana se obtiene mediante la funcinGetWindowClass.Pero a veces la Clase de la ventana no es informacin suficiente ala hora de crear un script. Por ejemplo, si se consulta la Clase de unaventana, lainformacin que se obtiene es la misma para un botn, un botn deopcin y una casilla de verificacin. La Clase de estos tres objetos es"botn".Adems, los programadores utilizan tambin clases no estndar, quetienen nombres extraos e irreconocibles.Sin embargo, las ventanas que tienen clases no estndar odesconocidas pueden reclasificarse.2. Tipos de VentanasAl igual que la Clase de Ventana, el Tipo devuelve una cadena o unnombre que la describe. El Tipo de la ventana se obtiene mediante lafuncin GetWindowType.A veces, esta categora ofrece informacin ms concreta acerca de laventana, siempre que el programador la haya incluido. Por ejemplo, laclase de unbotn, un botn de opcin y una casilla de verificacin es la misma,pero puede que el programador haya aadido el Tipo de estas tresventanas. Si estoes as, sabremos si la ventana es un botn, un botn de opcin o unacasilla de verificacin. Esta informacin adicional permite indicar aJAWS lo quedeber hacer en cada una de estas tres ventanas.Sin embargo, si el programador crea una ventana cuya clase no esestndar, el Tipo de la misma ser "Desconocido. Sin embargo, cuando estoocurre, JAWSpermite asignar una clase conocida a una ventana no estndar. Entonces,si se consulta el tipo de la ventana, se obtendr el nombre y ladescripcin dela ventana reasignada.3. El Cdigo de Tipo de la VentanaEl Cdigo de Tipo de la Ventana devuelve un nmero en lugar de unacadena. El Cdigo de Tipo de la ventana se obtiene mediante la funcinGetWindowTypeCode.Dicho nmero se convierte o traduce a una cadena reconocible a travsde la definicin de una serie de constantes que se encuentran en elarchivo HJCONST.JSH,que contiene entradas tales como WT_Button =1, WT_Edit = 3, WT_ListBox= 4, o WT_ScrollBar = 5. El prefijo WT indica que se trata de unaconstante relativaa un Tipo de Ventana. Si bien el Cdigo de Tipo de la ventana no ofrecems informacin que el Tipo de ventana, su ventaja est en que es igualpara todoslos idiomas. Dado que el nmero que devuelve el Cdigo de Tipo essiempre el mismo, ste puede asociarse al Tipo de la ventana en cualquieridioma.4. El Cdigo de Subtipo de las VentanasAl igual que el Cdigo de Tipo, el Cdigo de Subtipo devuelve unentero. El Cdigo de Subtipo de la ventana se obtiene mediante la funcinGetWindowSubtypeCode.El Cdigo de Subtipo se convierte en una cadena mediante las mismasconstantes que los Cdigos de Tipo. La nica diferencia es que el Cdigode Subtipoofrece una informacin ms completa, cuando la hay. Cuando no es as,ambas funciones devuelven la misma informacin.Por ejemplo, un botn de opcin devuelve un Cdigo de Tipo de 1(WT_Button), pero devuelve un Cdigo de Subtipo de 19 (WT_RadioButton). Porel contrario,el botn de Inicio que est situado en la Barra de Tareas devuelve unCdigo de Tipo de 1(WT_Button) y un Cdigo de Subtipo de 32(WT_StartButton). Deigual modo, para la Barra de Tareas, la funcin GetWindowTypeCodedevuelve WT_TABCONTROL, y la funcin GetwindowSubtypeCode devuelveWT_TASKBAR.Cuando no necesite la informacin especfica que devuelve la funcinGetWindowSubtypeCode, utilice la funcin TextWindowtypeCode.5. Control Ids y HandlesControl IDsEl control ID es un nmero arbitrario que el programador asigna acada una de las ventanas en su programa. El Control ID no cambia enningn momentomientras se ejecuta el programa. Para saber cul es el Control ID deuna ventana, utilice la funcin GetControlID. A diferencia de la Clase dela ventana,el Control ID no tiene ningn significado especial, simplemente puedeutilizarse para referirse a una ventana especfica. Si el programador haasignadoun Control ID distinto para cada ventana, esta informacin podrutilizarse para indicar a JAWS que realice una tarea especfica cuando elfoco se siteen una ventana concreta. Lamentablemente, los programadores no siempreasignan Control IDs distintos a cada ventana.Un caso en el que el control ID resulta especialmente til es cuandolos botones de las aplicaciones son mapas de bits en lugar de etiquetasde texto.Normalmente, cuando los botones tienen una etiqueta de texto, JAWSverbaliza dicha etiqueta de texto cuando se tabula a l. Sin embargo, si laetiquetaes un dibujo, JAWS no puede verbalizar ningn nombre. Sin embargo, siel botn tiene un Control ID, puede crearse un script que verbalice unnombre cuandoJAWS identifique el botn a travs de su Control ID.El Handle de las VentanasEl handle de la ventana es un identificador especfico de la ventanaque le asigna el propio sistema. El Handle de la ventana es una buenaalternativade identificacin en los casos en los que el Control ID no es exclusivode una ventana, adems, puede darse el caso de que dos ventanas de dosprogramasdistintos tengan el mismo Control ID. El handle de la ventana se asignacuando se accede a ella durante una determinada sesin de trabajo.El handle es un nmero que puede cambiar de valor cada vez que laventana pierde el foco. Mientras el handle asignado a una determinadaventana estactivo, puede utilizarse para referirse a l para identificar dichaventana. Cuando una ventana deja de estar activa, libera el handle; y,cuando vuelvaa activarse, probablemente tendr un handle distinto. Es decir, dadoque el sistema asigna el handle a las ventanas a medida que las utiliza,el handleasignado a una ventana en una sesin de trabajo no tiene por qu ser elmismo en la sesin siguiente.Sin embargo, aunque el handle cambie durante la ejecucin delprograma, esta informacin puede utilizarse para identificar la ventanacuando est activa.Ello puede hacerse mediante las funciones GetCurrentwindow y GetFocus.Por ejemplo, puede utilizarse la funcin GetCurrentWindow comoparmetro de Sayinteger.A esto se le llama funciones anidadas. As, la lnea SayInteger(GetCurrentwindow()) hara que JAWS verbalizara el handle de la ventana activa(la ventanaen la que est el cursor).7. El Lenguaje de Scripts1. Tipos de Sentencias de los ScriptsCuando se crea un script, se parte de una serie de elementos que sonlos que conforman el lenguaje de scripts de JAWS. Vamos, pues, aanalizarlos antesde abordar la creacin de scripts ms complejos.Los scripts se construyen siempre de la misma forma: empiezan conuna palabra reservada, continan con la seccin principal del script yterminan conotra palabra reservada. Sin embargo, esta estructura la crea elAsistente de Scripts, que dispone de una serie de herramientas que facilitanla creacinde scripts.Una vez creada la estructura, lo siguiente ser insertar lassentencias que harn posible que el script realice la tarea para la que se lecrea. Estainformacin es lo que denominamos la seccin principal o el cuerpo delscript.Tipos de Sentencias.Cada tipo de sentencia realiza una tarea distinta y debe seguirciertas normas de uso y formato. A continuacin se muestra una lista de lassentenciasque utiliza el lenguaje de scripts de JAWS.1. ComentariosLos comentarios son lneas de texto que estn presentes en unarchivo de scripts pero no son sentencias que se ejecutan. Estas lneassirven para informara la persona que lea el archivo fuente de qu es lo que hacen lassentencias. Los comentarios pueden colocarse en una lnea aparte o al finalde una lnea.Todos los comentarios deben ir precedidos de un punto y coma, queindica que todo lo que est escrito en dicha lnea es un comentario. Si,para escribirun comentario, se necesitan varias lneas, cada una debe empezar con unpunto y coma. A continuacin se muestran unas cuantas lneas de unscript:SayLine() ; Verbaliza la lnea actual de la ventanaRestoreCursor() ; Restablece el cursor activo y su posicin previamenteguardadaEndScript ; Final del script.Para ver un script con comentarios, consulte el Ejemplo de Script62. Inclusin de ArchivosLas sentencias include sirven para indicar al compilador puede quela informacin que contiene el archivo de la sentencia include seincorporar a dichoarchivo fuente. He aqu un ejemplo de este tipo de sentencia:Include "default.jsm" ; archivo de mensajesEsta sentencia indica que el archivo DEFAULT.JSM formar parte delarchivo de scripts actual.NOTA: El nombre del archivo que se incluye, ms su extensin, debe irentre comillas. Todo lo que est escrito despus del punto y coma es uncomentarioy est ah simplemente para informar al lector, los comentarios sonopcionales. Por otra parte, el archivo que se incluye debe estar en elsubdirectoriode JAWS correspondiente a su idioma, dentro de la carpeta SETTINGS.Cuando se guarda y compila el archivo fuente, la informacin de losarchivos include se incorpora al archivo compilado.El motivo por el que esta informacin no se inserta directamente enel archivo fuente es porque estos archivos contienen elementos quemuchas veces esnecesario utilizar en archivos de scripts diferentes y, adems, porrazones de claridad y organizacin del trabajo. En general existen dostipos de archivosque se incluyen en los archivos fuente:. Los archivos JSH o de cabecera, que contienen variables o constantes,y. Los archivos JSM o de mensajes, que contienen mensajes con suscorrespondientes nmeros.NOTA: En versiones muy anteriores de JAWS, en ocasiones era necesariodividir los archivos de macro, porque excedan el tamao permitido. Sinembargo, estono ocurre con los archivos de scripts actuales, que no tienen lmite detamao.A continuacin se muestra la lista de los archivos include quepresenta el archivo DEFAULT.JSS:. HJGLOBAL.JSH - Contiene las variables globales que JAWS utiliza pordefecto para su funcionamiento.. HJCONST.JSH - Contiene las constantes por defecto de JAWS.. DEFAULT.JSM - Contiene los mensajes estndar que utilizan los scriptsde DEFAULT.JSS.Los Archivos de MensajesEstos archivos contienen mensajes asignados a nmeros. Su extensines JSM. Estos archivos permiten al programador utilizar el nmeroasignado al mensajeen lugar del mensaje en s, y dejar que JAWS busque el texto en elarchivo de mensajes. Todos los archivos de scripts de JAWS poseen su propioarchivode mensajes independiente. Cuando se crea un archivo de mensajes, esconveniente que ste tenga el mismo nombre que al archivo fuente, seguidode la extensinJSM. Despus podr incluirlo en el archivo fuente.Constantes y VariablesDos de los elementos ms importantes de los scripts son lasvariables y las constantes. Una variable es una palabra, formada por una o msletras, quepuede utilizarse para almacenar un valor que se determina durante laejecucin de un script o scripts. Este valor no se conoce de antemano ypuede cambiaruna o ms veces en el transcurso de dicha ejecucin. Las constantes,sin embargo, no cambian de valor. Una vez que se les asigna un valor, loconservan.Las VariablesEl valor que se asigna a una variable durante la ejecucin de unscript se mantiene hasta que lo modifique otro script. El script utilizadicho valorpara tomar decisionesPor ejemplo, para asignar manualmente un valor a una variable, seutiliza la sentencia Let X = 1. X es la variable a la que se asigna elvalor. As,puede haber sentencias que, cuando se ejecuta un script, hagan una cosasi X es igual a 1, y otra si X es igual a un valor diferente. As, elvalor quetenga X puede representar el tipo de objeto activo (un cuadro deedicin, un botn o un cuadro de lista). Cuando cambia el objeto activo,cambia el valor,y el script realiza una tarea u otra en funcin del mismo.Las variables pueden ser de varios tipos. El contenido de lasvariables queda almacenado en la memoria de JAWS y puede utilizarse cada vezque el scriptlo necesite. Para poder utilizar una variable, es necesario"declararla" o definirla previamente, asignndole un tipo y un nombre. El nombreha de serexclusivo, de forma que pueda distinguirse del resto de las funciones ynombres que se utilizan en el cdigo. Tenga cuidado de no utilizar unnombre queya est asignado a una funcin o a una variable global o constante, yaque esto causara problemas de compilacin y ejecucin.Tipos de VariablesA continuacin se describen los distintos tipos de variables quepueden utilizarse en el lenguaje de scripts de JAWS:Integer (enteros)Una variable entera (integer) contiene un valor entero (Un enteroes un nmero sin decimales). La variable se declara as:Int MiVariableEnteraNOTA: Observe que el tipo de variable (Int) precede al nombre que se leasigna (MiVariableEntera).Una variable entera contiene un nmero entero, y la razn por la quese la utiliza es que, cuando sta cambie de valor a medida que seejecuta el script,podamos referirnos al valor por medio del nombre de la variable.Al utilizar una variable entera, deben seguirse las siguientesreglas:. Antes de utilizar una variable entera, es necesario declararla.. El valor por defecto de las variables enteras, es decir, el quetienen antes de que se les asigne ninguno, es siempre 0.StringUna variable del tipo string es una variable que contiene una cadenade caracteres. Una cadena es un grupo de caracteres (letras, nmeros,signos depuntuacin o espacios). Estas variables se declaran del modo siguiente:String MiCadenaEs conveniente utilizar variables en representacin de una cadena,porque dicha cadena puede cambiar como consecuencia de acciones que seproducen mientrasest activo el archivo de scripts, y de esta forma podemos referirnos ala cadena actual por medio del nombre de la variable.Para utilizar una variable string, es necesario seguir lassiguientes reglas:. Antes de utilizar una variable string, es necesario declararla.. El valor por defecto de una variable string es siempre "null" (ningncarcter).Cuando se asigna un valor a una variable string, ste debeescribirse entre comillas. La sintaxis correcta sera sta: Let StringVariable ="Hello".NOTA: En anteriores muy versiones de JAWS, era necesario insertar unespacio entre las comillas para asignar un valor "null". Pero esto ya noes as. Nullse indica ahora mediante dos comillas sin espacios entre ellas.HandleUna variable handle contiene el handle (identificador global) de unaventana. Un handle es un valor exclusivo que el sistema asigna a cadaventana delos programas que se estn ejecutando en ese momento. Estas variablesse declaran del modo siguiente:Handle MiVariableHandleEl handle lo asigna el sistema y es exclusivo de una ventanaconcreta. Aunque un handle es un nmero entero y puede, por tanto, manipularsecomo cualquiernmero entero, el uso de las variables handle se reserva nicamentepara la identificacin del handle de una ventana. La mayora de las vecesse las utilizapara identificar una ventana en la que se desea obtener informacin.Para utilizar una variable handle, es necesario