Aprendiendo Script en InDesign CS4 - Learning Script in ID CS4

bueno,, por motivos mas complejos e internos,, deje de postear hace mucho tiempo,, pero no he dejado de ver los post,, ya que me gusta ir aprendiendo cosas nuevas,, aki les traigo un pequeño manual que encontre en la red, con ejemplos muy practicos, para algunos puede ser muy fácil pero puede que vean puntos más claros o comprendan aun más algo que ya sabían.

Todo es en base a JavaScript,, pero pueden manejar apple o visualscript,, depende de cada uno,, lo cual se le haga más fácil,, de uno a otro no hay mucha diferencia de sintaxis XDXD asi que comenzamos:

manejando el ejemplo más auditable y común entre los newbies es un "Hola Mundo" jeje,, muchos van a decir,, "ahh ese es fácil con java o cualquier otro" pues sí, es fácil,, pero lo pongo :@ :P

var myWindow = new Window ("dialog"); ---> creamos una nueva ventana de tipo dialogo
var myMessage = myWindow.add ("statictext"); ---> la cual agregamos un elemento "myMessage" el cual tiene texto
myMessage = "Hola, Mundo"; ---> texto
myWindow.show (); ---> mostrando la ventana

no es necesario hacer una explicación,, ya que esto es fácil de comprender para cada uno de los que lee este post, prosigamos (en las lineas principales coloco un comentario hacer de "que hace" ,,,

Puedo imaginar que saben que existen los tipos de ventana, los cuales son "dialog" y "palette"

para crear el ejemplo anterior en una ventana de tipo palette agregamos el siguiente codigo:

#targetengine "session";

var myWindow = new Window ("palette");
var myMessage = myWindow.add ("statictext");
myMessage = "Hola, Mundo";
myWindow.show ();


eeee,,, "no me vengas con tonterías, es muy fácil", jaja pues si, really easily

ok,, continuemos,, ahora iremos complementando el pequeño app, agregando controles XDXD:
pues ya lo hemos echo,, jeje,, en la linea var myMessage = myWindow.add ("statictext") esto es el control --> statictext

complementando lo anterior al código, sería algo como esto:

var myWindow = new Window ("dialog", "Form");
myWindow.add ("statictext", undefined, "Name:");
var myText = myWindow.add ("edittext");
myWindow.show ();


si se dan cuenta,, despues de "dialog" agrege "Form", esto hace que le de un nombre visible.
Además,, si ponen atención,, la orientación de los elementos es en columna,, extraño no,, pues no,, por default esta de esta manera en columna, pero podemos cambiarla a fila,, digamos que son un poco mas quisquillosos en este sentido, pues sería algo así:

var myWindow = new Window ("dialog", "Form");
myWindow.orientation = "row";
myWindow.add ("statictext", undefined, "Name:");
var myText = myWindow.add ("edittext");
myWindow.show ();


agregamos el control orientation XDXDXD, ahora digamos que debe tener un texto cuando corra la aplicación pero que sea editable, con una longitud limitada, seguimos con el código de esta manera:

var myWindow = new Window ("dialog", "Form");
myWindow.orientation = "row";
myWindow.add ("statictext", undefined, "Name:");
var myText = myWindow.add ("edittext", undefined, "Hector F.");
myText.characters = 30;
myWindow.show ();


pueden editar la longitud a su gusto manejando los controles de characters, ahora digamos, que queremos que cuando ejecutemos la aplicación quede activa la parte del texto,, es decir,, cuando este visible el cursor este en la parte del campo de texto, jojo,, :

var myWindow = new Window ("dialog", "Form");
myWindow.orientation = "row";
myWindow.add ("statictext", undefined, "Name:");
var myText = myWindow.add ("edittext", undefined, "Hector F.");
myText.characters = 30;
myText.active = true;
myWindow.show ();


mmm, divertido,, interesante y motivador,, agregemos unos botones de acción (asi me gusta nombrarlos XDXD):

var myWindow = new Window ("dialog", "Form");
myWindow.orientation = "row";
myWindow.add ("statictext", undefined, "Name:");
var myText = myWindow.add ("edittext", undefined, "Hector F.");
myText.characters = 30;
myText.active = true;
myWindow.add ("button", undefined, "OK");
myWindow.add ("button", undefined, "Cancel");
myWindow.show ();


ejecuten la aplicación, al parecer todos los elementos estan orientados en fila, esto es porque la ventana esta orientada a esa posición, para cambiar la orientación, usaremos unos items,, group y panel, estos dos hacen lo mismo, agrupar los controles, pero difieren de la siguiente manera, group tiene bordos, el panel no, para no afectar a todo lo que concierne a esa ventana en la orientación, agregaremos esto XDXD:

var myWindow = new Window ("dialog", "Form");
var myInputGroup = myWindow.add ("group");
myInputGroup.add ("statictext", undefined, "Name:");
var myText = myInputGroup.add ("edittext", undefined, "John");
myText.characters = 20;
myText.active = true;
var myButtonGroup = myWindow.add ("group");
myButtonGroup.alignment = "right";
myButtonGroup.add ("button", undefined, "OK");
myButtonGroup.add ("button", undefined, "Cancel");
myWindow.show ();


he agregado dos grupos, myInputGroup y MyButtonGroup, fijense que he eliminado la linea que setea la orientacion, esto es por que ya no es necesario, por que lo he divido en dos grupos,, digamo que juan es programador,, y botanas es analista, cada quien esta orientado a una funcion diferente aunque esten en la misma empresa, otro punto agregado es ".aligment = right", fácil de deducir :P XDXD, claro esta que si te gusta experimentar más a fondo puedes hacer lo siguiente,, no explicare porque es muy deducible:

var myWindow = new Window ("dialog", "Form");
myWindow.orientation = "row";
var myInputGroup = myWindow.add ("group");
myInputGroup.add ("statictext", undefined, "Name:");
var myText = myInputGroup.add ("edittext", undefined, "John");
myText.characters = 20;
myText.active = true;
var myButtonGroup = myWindow.add ("group");
myButtonGroup.orientation = "column";
myButtonGroup.add ("button", undefined, "OK");
myButtonGroup.add ("button", undefined, "Cancel");
myWindow.show ();


un poco de lucides al app, pondremos la ventana hacia arriba, podemos agregar el siguiente código antes o después de la segunda linea,, no importa:

var myWindow = new Window ("dialog", "Form");
myWindow.orientation = "row";
myWindow.alignChildren = "top";
var myInputGroup = myWindow.add ("group");
myInputGroup.add ("statictext", undefined, "Name:");
var myText = myInputGroup.add ("edittext", undefined, "John");
myText.characters = 20;
myText.active = true;
var myButtonGroup = myWindow.add ("group");
myButtonGroup.orientation = "column";
myButtonGroup.add ("button", undefined, "OK");
myButtonGroup.add ("button", undefined, "Cancel");
myWindow.show ();


hasta aqui es bueno, pero los botones ok y cancel no hacen nada, pues utilizariamos funciones como if else, si se presiona ok que vuelva a mostrar el app, en caso contrario que salga, algo por el estilo sería asi:

if (myWindow.show () == 1)
var myName = myText.text;
else
exit ();


bueno,, seguire en otra ocasión, esto salio por un rato de ocio en la oficina, pero como ya tengo trabajo que hacer, pues hasta aqui le dejo,, ahi cualquier cosa comenten,, no he agregado algo hacia indesign,, pero el punto principal era que tomaran en cuenta que hacer script es dirigido para cualquier cosa que quieras hacer, bla bla,, jaja, k cosas, después pondre scripts dedicados al soft de indesign,, pero son algos complejos,, algo como agregar grids, o posicionar una imagen, hacer un resize de imagens, recolocar texto, cortar texto, y demás, se oye interesante, pero aun no hago algo concreto, he practicado pero necesito mas tiempo para postear un ejemplo práctico funcionable, jeje, suerte nenas, besos.

3 comentarios:

  1. jajaja tu y tus mamadas para yevar no mames ya ponte a trabajr no agas mamadas jaja

    ResponderEliminar
  2. omg!!! wow!! bueno , el ocio es ocio, asi que posteare algo más complejo DXDXD pero dentro de muchas lunas

    ResponderEliminar
  3. Just wondering if you took any writing or editorial classes? You write so well! Maybe you should consider some payed writing pieces. Just a thought! - Kim

    ResponderEliminar