Sunteți pe pagina 1din 4

Los objetos de FileMaker

Las aplicaciones estn diseadas para manejar algunos objetos mejor que otros. El Finder, por ejemplo, lo hace con archivos, carpetas,
y aplicaciones. Documentos, prrafos, frases, palabras, y caracteres son el terreno preferido de los procesadores de texto. En el caso de
FileMaker, se tiene un conjunto de objetos que es familiar a los usuarios de bases de datos: campos, registros, bases de datos, y
presentaciones. La jerarqua contenida en cada aplicacin describe las relaciones entre objeto,s mostrando qu objetos estn contenidos
por otros. Aunque no se ha indicado antes, pero es igualmente importante, son los mens, opciones de men, y guiones de FileMaker.
Los objetos se clasifican en un orden jerrquico llamado "object containment hierarchy." Los objetos ms grandes contienen otros ms
pequeos. La jerarqua de contenido define qu objetos estn contenidos por otros objetos. En los procesadores de texto, un
documento contiene prrafos; los prrafos contienen frases; las frases contienen palabras, las cuales contienen letras. Es como una
mueca Matriuska rusa (que literalmente significa "pequea madre"). Abres la mueca grande y contiene una ms pequea, que contiene
otra ms pequea, y as. Al principio de la jerarqua de contenido de objetos de FileMaker est la aplicacin FileMaker en s. Dentro de la
aplicacin, se tienen documentos, ventanas, y mens. Las ventanas contienen bases de datos, que contienen presentaciones que, a su
vez, contienen registros y campos.
Todos los objetos tienen propiedades o caractersticas que pertenecen a su posicin en su "ley del ms fuerte" de la aplicacin. La
mayora de objetos, como presentaciones, ventanas, bases de datos, guiones y mens, tienen una denominacin de propiedad. El
objeto "campo" puede tener propiedades adicionales que describen el nmero de repeticiones definidas para ese campo ("campo
repetitivo"), o el clculo introducido en un campo de clculo ("Clculo"). La mayora de las propiedades son de tipo "slo lectura" (read-
only), esto significa que se pueden encontrar qu propiedades estn definidas pero no se pueden cambiar. Las propiedades de un objeto
lo hacen apropiado nicamente para ciertas tareas. Esto se puede ver en la descripcin de ventanas, documentos, y bases de datos de
abajo.
TRUCO: Cuando se hace una referencia a objetos por sus nombres, hay que estar seguro de cerrarlo entre comillas ("") al principio y al final del nombre del
objeto.
A continuacin se enumeran los objetos FileMaker que se pueden controlar a travs de scripts. Para obtener ms informacin acerca de
objetos y sus propiedades, vea el diccionario de FileMaker Pro.
Application (Aplicacin)
El objeto application permite especificar qu programa se desea controlar, que en este caso es FileMaker Pro. Una vez que se especifique
la aplicacin, se tiene acceso a todos los objetos y comandos nicos que la pertenecen. Casi todos los Scrits que se escriban
comenzarn con la descripcin de la aplicacin que se desea controlar.
Window, document, y database (Ventana, documento y base de datos)
Estos objetos se refieren a los archivos FileMaker. Sus propiedades, de cualquier forma, los hacen tiles en diferentes circunstancias. Por
ejemplo, mientras que el objeto "database" se refiere a un conjunto completo de registros de una base de datos, el objeto "document"
pertenece slo al conjunto encontrado actual. El objeto window tiene propiedades nicas, como el tamao, que permite cambiar las
propiedades de una ventana en la pantalla.
Layout (Presentacin)
El objeto layout se puede usar para moverse entre presentaciones, generar informes, ordenar registros, o referirse a campos incluidos
en una presentacin en concreto. Este objeto es "read-only" y se puede acceder por nombre o nmero. Las presentaciones se
enumeran de acuerdo al orden definido en la opcin del men "Opciones de Presentacin".
Record (Registro)
Los registros son uno de los pocos objetos a los cuales ha de referirse slo por nmero. Use este objeto cuando est interesado en un
registro en particular o un grupo de registros. Este podra ser el primer registro de una bsqueda, el quinto de la base de datos, o el
registro actualmente seleccionado.
Field/Cell (Campo/Celda)
Use el objeto field cuando est interesado en valores introducidos en ms de un registro. El objeto field se usa tambin para buscar las
opciones definidas para un campo, como el nmero de repeticiones, opciones de verificacin, y clculos. El objeto cell, por el otro lado,
es ms como una hoja de clculo. Se utiliza para referirse al valor especfico de un campo de un registro en particular.
Menu/Menu Item
Los mens en FileMaker son accesibles por nombre (Apple, Archivo, Edicin, Seleccionar, Presentacin, Organizar, Formato, Guin, y
Ventana) o por nmero (1-9). Las opciones, o items, de men como Nuevo Registro, Refind, y Alinear son tambin accesibles por
nombre o nmero. Algunas de las opciones de men, incluyendo los Privilegios de Acceso, Borrar Registro, Borrar Todos, y los mens de
ortografa no son accesibles a travs de los eventos Apple. En los casos donde se produce un error, por ejemplo, donde existe un
submenu con objetos no scriptables, se producir el error: FileMaker Pro got an error: Object not found.
Guiones FileMaker
Este objeto se refiere a los guiones individuales que se definen ScriptMaker y son accesibles por nombre o por nmero.
Comprensin de los eventos
Los eventos son los comandos de la aplicacin que se pueden programar con Scripts. Si los objetos son los nombres de la frase creada
en un script, y los los eventos son los verbos, tiene sentido que necesitemos dar al evento un objeto contra el cual actuar. En trminos
de Apple event, el objeto de un evento es llamado parmetro. Los eventos pueden tener tambin parmetros opcionales que son como
las opciones o preferencias. Cuando se construyen pasos de script, se coloca primero el evento y luego el objeto o parmetro.
A continuacin se enumeran algunos de los eventos ms tiles as como algunos ejemplos y trucos.
Tell
El evento tell se usa por AppleScript para especificar el objeto que se quiere controlar. Todos los pasos incluidos tras tell se dirigirn
hacia ese objeto hasta que se incluya un paso con end tell. tell se utiliza ms comnmente con el objeto application. La primera vez
que se use un paso con tell application, AppleScript puede preguntar dnde est la aplicacin indicada utilizando un dilogo estndar de
apertura de ficheros. Una vez que se ha guardado la ruta de esta aplicacin en memoria, el dilogo no volver a aparecer. A continuacin
se incluye un guin en AppleScript utilizando tell:
tell application "FileMaker Pro"
show layout 1
create new record
end tell
Este sencillo guin dice a FileMaker Pro que se vaya a la primera presentacin de la base de datos actual y aada un nuevo registro. Note
que si no se especifica ningn objeto de tipo base de datos, documento, o presentacin, FileMaker usa el objeto actual como objeto por
AppleScript A Lo Loco - para FileMaker http://homepage.mac.com/julifos/assartik/articulos/asapp/asfm3.html
1 de 4 02/05/2012 20:02
defecto. Sin embargo, si no se especifica el registro, el primer registro del documento, no el actual, es el que se toma por defecto. Para
enviar rdenes al registro actual, se deber utilizar la propiedad de bases de datos "current record". El siguiente guin de AppleScript
muestra cmo hacer esto copiando el resultado de la propiedad "current record" a una variable definida por el usuario, que llamamos
"MiRegistro", y luego pega la fecha en un campo del registro actual.
tell application "FileMaker Pro"
set MiRegistro to current record of database 1
set cell "Fecha Revisin" of MiRegistro to "2/12/94"
end tell
A lo largo de este documento se vern dos tipos de ejemplos: pasos de guin de AppleScript y guiones completos. Se podrn identificar
fcilmente los guiones completos porque tienen al menos tres lneas de longitud, comienzan con "tell application" y finalizan con "end
tell." Los pasos de guin de AppleScript suelen ser de una sola lnea y no se podrn compilar por s solos. Para ejecutar un paso de guin
se necesitar insertar ste dentro del paso de guin de FileMaker "Ejecutar AppleScript" o colocarlo entre un "tell" y "end tell", como se
muestra a continuacin.
tell application "FileMaker Pro"
-- (insertar los guiones aqu)
end tell
Asimismo, se deber tener una base de datos abierta cuando se utilicen los ejemplos.
Open
Este evento se utiliza para abrir objetos a nivel del Finder, como bases de datos de FileMaker. Para utilizar el evento Open, se deber
especificar una ruta hacia el archivo en cuestin. Comience con el nombre del volumen (el disco duro o particin del Mac). Aada el
nombre de cada carpeta a abrir hasta llegar al documento. Finalmente, aada el nombre del archivo. Todo esto tiene que estar separado
por dos puntos (:), conteniendo el archivo, carpeta, y volumen, y tiene que estar encerrado entre parntesis. A continuacin se incluye
un guin para abrir la base de datos llamada "Compact Discs":
open file "Macintosh HD:Carpeta FileMaker Pro:Compact Discs"
TRUCO: Use el smbolo de continuacin "" (tecleando alt-Return) para poder continuar escribiendo el guin en la lnea siguiente.
Count
El evento count se puede utilizar para buscar el nmero de elementos incluidos en un objeto. Se puede usar count para contar el
nmero de registros de una base de datos, el nmero de registros encontrados, o el nmero de campos que hay en una presentacin.
Se aplica a los siguientes objetos: ventanas, documentos, bases de datos, guiones, registros, campos, celdas, y presentaciones.
Este evento es ms til cuando se definen "loops" que operan con un conjunto de objetos, como los registros de una presentacin en
concreto. Por ejemplo, para repetir una operacin en cada registro de un conjunto, se definir un "loop" del tipo, "repeat with i from 1 to
x", donde "i" es la variable que se incrementa en 1 y "x" es el nmero de registros encontrados. El siguiente guin utiliza el evento show
para buscar todos los registros con "Khachaturian" en el campo "Artista". Luego un "loop" comienza con el primer registro encontrado y
copia "Favorito" en el campo "Preferencias", un registro tras otro, hasta que se haya alcanzado el ltimo registro. En tanto que el objeto
"document" se refiere slo al conjunto de registros encontrados, se puede saber cuntos registros se han encontrado diciendo "count
records of document 1".
tell application "FileMaker Pro"
show (every record whose cell "Artista" = "Khachaturian")
repeat with i from 1 to (count records of document 1)
set cell "Preferencias" of record i to "Favorito"
end repeat
end tell
El siguiente conjunto de guiones muestra cmo contar el nmero total de registros de la base de datos, el nmero de presentaciones,
nmero de campos, y nmero de guiones:
count record of database "Compact Discs"
count layout
count field
count FileMaker script
Create
Create se utiliza para aadir nuevos registros, como si se seleccionara "Nuevo Registro" en el men Edicin. Si se usa el parmetro
opcional "with data", se crear un registro con datos predefinidos. Aqu hay algunos ejemplos:
create new record
create new record with data "Sergei Rachmaninoff"
Usando la capacidad de repeticin de AppleScript, se pueden crear fcilmente cientos o miles de registros con slo unos pasos de guin.
Pruebe esto:
tell application "FileMaker Pro"
repeat 200 times
create new record
end repeat
end tell
Delete
Use el evento delete para borrar registros de una base de datos de forma selectiva. Por ejemplo, el primer paso del siguiente guin
borrar los diez primeros registros del conjunto actual. El segundo ejemplo utiliza la clusula "whose" para buscar y borrar en el mismo
momento.
delete record 1 through 10
AppleScript A Lo Loco - para FileMaker http://homepage.mac.com/julifos/assartik/articulos/asapp/asfm3.html
2 de 4 02/05/2012 20:02
delete every record whose cell "Canciones" = "Love
is like Oxygen"
Do Script
Use el evento do script para lanzar un guin ScriptMaker del men de guiones de FileMaker Pro. Los guiones de FileMaker siempre son
buenos para guardar bsquedas complejas o recordar ajustes de pgina y opciones de impresin, o imprimir sin dilogos. Estas
caractersticas no estn soportadas con los eventos de Apple. Para ejecutar un guin de FileMaker, pruebe alguno de los siguientes
ejemplos:
do script FileMaker script 1
do script FileMaker script "Imprimir Lista CD Favoritos"
do script last FileMaker script
El evento do script es la clave de la programacin condicional. Es un ejemplo de cmo el soporte de eventos Apple en FileMaker Pro nos
permite realizar tareas que no se pensara que fueran posibles. A continuacin hay un ejemplo de un guin condicional que realiza
diferentes guiones de FileMaker dependiendo del valor introducido en el primer registro del conjunto de registros hallados:
tell application "FileMaker Pro"
if cell "Preferencias" = "Mediocre" then
do script FileMaker script "Archiva"
else
do script FileMaker script "Mantn e Imprime"
end if
end tell
Show
Use el evento show para mostrar una presentacin o grupo de registros. show literalmente dice a FileMaker que traiga al frente una
pantalla, documento, base de datos, registro o presentacin que se especifique. Cuando se trabaja con registros en conjuncin con la
clusula "whose", show es ms parecido a una peticin de bsqueda de FileMaker. El objeto especificado en un evento show debe estar
abierto o disponible; por lo que sera necesario abrir una ventana, documento o base de datos antes de mostrar un objeto de ste.
Realizar show puede tardar ms que si se realiza una bsqueda con FileMaker, debido al hecho que show no hace uso de los ndices de FileMaker.
A continuacin hay unos ejemplos que utilizan show:
show window 2
Esto traer la segunda base de datos listada en el men Ventana al frente.
show layout "Lista Compositores"
Este guin muestra cmo cambiar a otra presentacin especificada por nombre.
show (every record whose cell "Artista" = "Mussorgsky")
Una de las aplicaciones ms interesantes del evento show es la realizacin de lo que equivale a una bsqueda en FileMaker.
Do Menu
Este evento ofrece el control sobre casi todos las opciones de men de FileMaker Pro, incluyendo algunas que no son accesibles a travs
de los guiones de FileMaker. Por ejemplo, usando do menu se puede cambiar el estilo del texto de un campo de "Times 10 puntos" a
"Helvtica 12 puntos". Para usar un evento do menu, se tiene que especificar el men y la opcin del men que nos interesa.
Al construir un guin con do menu, se comienza diciendo "do menu" y luego se especifica la opcin del men y el men al cual
pertenece. Aunque pueda parecer extrao, usar la palabra menu dos veces consecutivas en nuestro guin, esto es necesario, porque el
evento (do menu) y el objeto (menu item) utilizan la palabra "menu". Aqu hay un ejemplo que selecciona "Definir Partes..." del men
de FileMaker Presentacin (anteriormente, tiene que estar en modo Presentacin antes de ejecutar este guin):
do menu menu item "Definir Partes" of menu "Presentacin"
TRUCO: note los puntos suspensivos en este guin. Est seguro de crearlos como tal (pulsando alt-punto), en vez de tres puntos consecutivos, cuando se
utilicen nombres de selecciones de men.
Otra gran ventaja ofrecida por el soporte de eventos Apple en FileMaker es la posibilidad de acceder a submens. Las opciones de men
de FileMaker, como son Fuente y Estilo, son ejemplos de submens. Cuando se selecciona Estilo del men Formato, aparece una nueva
lista de opciones: Texto Normal, Negrita, Cursiva, etc. Para poder seleccionar Negrita como estilo, se selecciona una opcin del men
Estilo del men Formato, como se ve en el siguiente ejemplo:
do menu menu item "Negrita" of menu "Estilo" of menu "Formato"
TRUCO: cuando nos referimos a opciones de men, recurdese que los mens son parte de la aplicacin. Por tanto, hay que incluir un "tell application"
antes de incluir un do menu, para indicar que ese evento se aplica slo al programa FileMaker.
Get Data/Set Data
Considrese estos eventos como los "caballos de batalla", porque casi todos los guiones podrn contenerlos. En muchos casos, estos
eventos son como copiar y pegar. Se utilizan cuando se necesita acceder, manipular o editar datos. La flexibilidad de estos eventos viene
dada por lo generales que son. Por ejemplo, para obtener la propiedad de un objeto, se puede usar tanto set data como get data. Si
se necesita saber cuntas repeticiones se han definido para un campo repetitivo llamado "Ttulos", se podr usar get data para obtener
esta informacin. Este caso se tendr que construir como:
get repeat size of field "Ttulos"
TRUCO: al usar los eventos get data y set data, se puede omitir la palabra "data" en los guiones.
Muchas veces, es ms til guardar la informacin obtenida por get data en una variable y as se puede referir a sta ms tarde. Use el
AppleScript A Lo Loco - para FileMaker http://homepage.mac.com/julifos/assartik/articulos/asapp/asfm3.html
3 de 4 02/05/2012 20:02
evento set data para guardar valores en una variable que se defina. A continuacin se muestra un guin de cmo se hara:
set numerodeRepeticiones to repeat size of field "Ttulos"
En el caso anterior, el evento set data se utiliza para guardar el nmero de repeticiones en una variable que se puede llamar
"numerodeRepeticiones". Ahora que se ha guardado este valor en una variable, no hay necesidad de escribir otro guin conteniendo get
data la prxima vez que se necesite el nmero de repeticiones en ese guin. Por esta razn, muchos programadores en AppleScript
utilizan set data antes que get data.
set data se utiliza frecuentemente tambin para introducir los valores de los campos de FileMaker. Para hacer esto, se selecciona un
campo y se construye un set igual a una variable. Aqu hay algunos ejemplos:
set cell "Duracin" to "52 minutos"
set cell "Nmero de Repeticiones" to numerodeRepeticiones
El siguiente ejemplo copia un valor en un campo llamado "Preferencias" al principio del conjunto de registros encontrados:
set field "Preferencias" to "Buena"
Sort
El evento sort ofrece un gran control sobre cmo se ordenan los registros. Para usarlo, se puede especificar una presentacin, el campo
o campos por los que se quiere que se ordene, y la direccin (ascendente, descendente, numrica, o personalizada). Si no se especifica
ninguna presentacin, se utilizar la actual. Si no se especifica ningn campo, FileMaker desordenar la base de datos (volviendo al orden
de creacin de los registros). A continuacin se incluyen algunos ejemplos:
sort layout 1 by field "Preferencias" in order ascending
sort layout "Lista CD" by {field "Duracin", field
"Preferencias"} in order {descending, ascending}
TRUCO: no usar comillas al indicar la direccin.
Save
Finalmente, est el evento save, que se puede utilizar para indicar a FileMaker que guarde en disco todos los cambios recientes que se
hayan hecho. Es una buena prctica al programar indicar a FileMaker que guarde los cambios al principio de todos los guiones que usen
get data o set data. Si, durante la ejecucin de un guin, el cursor se queda activo dentro de un campo, los ltimos cambios
introducidos no se obtendrn por get data ni set data. Slo se podrn obtener los datos guardados. save se puede utilizar en bases de
datos, ventanas, o documentos con el mismo efecto. La sintaxis se muestra en los siguientes ejemplos:
save window 1
save window "Compact Discs"
save database 1
save database "Msicos"
AppleScript A Lo Loco - para FileMaker http://homepage.mac.com/julifos/assartik/articulos/asapp/asfm3.html
4 de 4 02/05/2012 20:02

S-ar putea să vă placă și