| MetaCard y Revolution: Herramientas de autor multiplataforma para multimedia | ||
|---|---|---|
| Anterior | Capítulo 6. Interfaz: controles complejos y procesos externos | Siguiente |
Es posible lanzar aplicaciones externas desde dentro de MetaCard con las órdenes shell, launch y open process, ya lo hemos visto en la sección de nombre Aplicaciones externas en Capítulo 5. Veamos ahora cómo se puede interactuar con estas aplicaciones.
Es posible además de lanzar (ejecutar) aplicaciones externas, comunicarse con ellas. Esto es, recoger su salida estándar o proporcionarle datos en su entrada estándar en cualquier sistema operativo. Sólo es necesario que la aplicación escogida esté preparada para ello.
Y, además, puede utilizar librerías de funciones desarrolladas en otros lenguajes de programación.
A modo de ejemplo, vamos a realizar un pequeño interfaz visual para las funciones de la librería NetPBM. Esta és un conjunto de funciones de procesado de imágenes construída sobre
| Aviso |
Falta ficar un esquema de la aplicació en els noms dels objectes ... |
pgmAccio
local nomProcess = "sh ", ordreAExecutar = "pgmcrater > /tmp/algo.pgm"
on menuPick novaOpcio anteriorOpcio
-- put anteriorOpcio && ">" && novaOpcio
# set the label of me to novaOpcio
-- No fa falta si esta activa l'opcio de "mostar el nom" (Show Name)
set cursor to busy
-- put "(" && nomProcess && ")" && ordreAExecutar
set the contingut of field "eixida" to empty
open process nomProcess
write ordreAExecutar & return & "exit" & return \
to process nomProcess
read from process nomProcess until eof -- handshake in 5 seconds
set the contingut of field "eixida" to it
close process nomProcess
set the fitxerAMostrar of image "resultat" to "/tmp/algo.pgm"
end menuPick
oritge
on mouseUp
send "mouseUp" to button "Examinar ..."
end mouseUp
fitxerOritge
on returnInField
send "mouseUp" to button "Examinar ..."
end returnInField
resultat
setprop fitxerAMostrar x
set the fileName of me to empty
set the fileName of me to x
-- put the fileName of me
end fitxerAMostrar
Examina
on mouseUp
answer file "Tria una imatge ..."
if the result is not "Cancel"
then
put it into field "fitxerOritge"
set the filename of image "oritge" to it
end if
end mouseUp
Procesos largos (en duración temporal) que deben ofrecer la oportunidad de ser interrumpidos.
Figura 6-11. Detalle de la aplicación donde se muestran los controles que implementan la secuencia de pasos y el de parada del proceso.


Puede ser interesante que las tareas se realizen pero que se obtenga una realimentación visual del punto en que está el proceso global.
Esta es una segunda aproximación a la barra de menús de la que se habló en el apartado de "scrolls".