Calaix de coses útils  
 
 
     
  Objectius pràctica 3  
     
 
  • Creació d'scrolls de text
 
 
  • Creació d'enllaços a documents doc, pdf, swf o rtf. JavaScript i Flash
 
 
  • Creació d'enllaços a URL externes
 
 
  • Impresió d'un quadre de text dinàmic fent servir la Classe PrintJob
 
 
  • Impresió d'una pàgina fent servir la Classe PrintJob
 
 
  • Impresió de varias pàgines fent servir la Classe PrintJob
 
     
  Creació d'scrolls de text  
     
L'scroll en un camp de text permet tenir accés a arxius voluminosos en un mateix document.
 
   
Seguint la mateixa idea de que el web ha de ser molt lleuger per poder-lo penjar de internet, fàcil d'actualitzar el seu contingut i fàcil de canviar la seva aparença, agafareu un arxiu de text extern i un full d'estils CSS.
 
     
 
Tota la programació la posareu a la línia de temps principal de la pel.lícula i tant els quadres de text com els botons tindran nom de instáncia en l'escenari.

Poseu a l'escenari dos quadres de text dinàmics i dos botons. A la figura següent mireu el nom que podeu donar a les instàncies del quatre símbols. Observeu que el camps de text tenen marcades les opcions Seleccionable i Generar text com HTML. Aquesta última elecció és deguda a que l'arxiu de text extern pot contenir etiquetes HTML.
 
     
 
 
     
 
Tota la programació estarà al primer fotograma de la línia de temps. A continuació la teniu sensera.
 
     
 
 
     
System.useCodepage = true;
///////////////////////////////////////////////////////////////
/* creem una instància de l'objecte TextField.StyleSheet() per carregar el full d'estils
extern */
carrega_estils = new TextField.StyleSheet();
/*carreguem el full d'estils a la instància creada. Aquest full d'estils està dins la carpeta estils_css
*/
carrega_estils.load("estils_css/full_estils.css");
//creem una instància de l'objecte LoadVars() per carregar les variables de text
carrega_textos= new LoadVars();
//carreguem l'arxiu practica_scroll.txt que conté les variables de text
carrega_textos.load("text/practica_scroll.txt");
//creem una funció aplicarà el full d'estils al text i donarà format al cuadre de text
carrega_textos.onLoad = function() {
//associem el full d'estils al camp de text dinàmic scroll_txt
scroll_txt.styleSheet = carrega_estils;
//apliquem un contorn de color gris al quadre de text i un fons també de color gris
scroll_txt.border = true;
scroll_txt.borderColor = "0xcccccc";
scroll_txt.background = true;
scroll_txt.backgroundColor = "0xcccccc";
//posem el text al quadre de text dinàmic aplicant-li el full d'estils
scroll_txt.htmlText = "<estil_web>"+carrega_textos.text_pagina_scroll+"</estil_web>";
//fem el mateix amb el camp de text dinàmic titol_txt
titol_txt.styleSheet = carrega_estils;
titol_txt.htmlText = "<estil_web>"+carrega_textos.titol_exercici+"</estil_web>";
///////////////////////////////
};
//programacio als botons d'scroll
dalt_btn.onPress = function() {
scroll_txt.scroll = scroll_txt.scroll+1;
};
baix_btn.onPress = function() {
scroll_txt.scroll = scroll_txt.scroll-1;
};
 
     
  Aquí teniu el que us quedarà al primer fotograma de la línea de temps:  
     
 
 
     
  Resultat que heu d'obtenir  
 
 

 

 
Creació d'enllaços a documents doc, pdf, swf o rtf. JavaScript i Flash
   
Enllaços des de quadres de text estàtics  
   
Podeu fer enllaços seleccionant text d'un quadre de text estàtic i posant al pannell de propietats el nom de l'arxiu que voleu obrir i el destí. Mireu la imatge següent:
 
     
 
 
  Recordeu que si poseu _blank s'obrirà una nova finestra en clicar l'enllaç.  
 
Seleccionant text d'un quadre de text estàtic també podeu fer que es pugui enviar un correu al nomUsuari que vulgueu. Fixeu-vos que a la imatge també apareix una trucada a una funció predefinida de javascript. En aquest cas s'obrirà una finestra d'alerta.

Podeu provar qualsevol funció predefinida de javascript o qualsevol funció que definiu vosaltres mateixos. Podeu lligar el javascript del curs D108.
 
     
   
  javascript: alert('Hola Cherry')
mailto:nomUsuari@xtec.net
obre una finestra d'alerta
envia correu a nomUsuari
 
     
  És important remarcar que per que funcioni, heu de tenir el swf dins d'una pàgina html. Per aconseguir-lo teniu dues possibilitats:  
 
  • Insertar el swf en una pàgina html. Per exemple, en Dreamweaver Insertar|Media|Flash.
  • Publicar la pel.lícula en format HTML, Archivo|Configuración de la publicación...
 
     
  Qué és JavaScript?

JavaScript és un llenguatge de
script desenvolupat per incrementar les funcionalitats del llenguatge HTML.Sus característiques més importants son:
  • JavaScript és un llenguatge que no requereix compilació. El propi navegador de l'usuari o usuària és el que s'encarrega de interpretar les sentències de JavaScript que posem en la pàgina HTML i de executar-les adequadament.
  • JavaScript és un llenguatge basat en objectes. El model d'objectes de JavaScript, encara que no és molt ampli, inclou els elements necessaris per poder accedir a la informació de la pàgina HTML i actuar damunt la interface del navegador.
  • JavaScript és un llenguatge orientat a eventos. Permet desenvolupar sript que executen accions en resposta a un evento, per exemple, a un clip del ratolí o a un clic damunt una imatge.
 
     
     
  Mostra de l'aplicació  
     
 
     
  Enllaços desde botons.  
     
  Cada botò tindrà un nom de instancia. Proveu posant la següent programació. Veureu que el resultat és el mateix però l'obtindreu clicant a un botò.  
     
document_doc_btn.onRelease = function() {
getURL("document.doc", _blank);
};
document_pdf_btn.onRelease = function() {
getURL("document.pdf", _blank);
};
document_swf_btn.onRelease = function() {
getURL("scroll.swf", _blank);
};
document_rtf_btn.onRelease = function() {
getURL("document.rtf", _blank);
};
finestra_alert_btn.onRelease = function() {
getURL("javascript: alert('Hola Cherry');");
};
mail_btn.onRelease = function() {
getURL("mailto:nomUsuari@xtec.net");
};

 
     
  Enllaços des de clips de pel.lícula
 
     
  Cada clip tindrà un nom de instancia. Proveu posant la següent programació. Veureu que el resultat és el mateix però l'obtindreu clicant a un botò.  
     
document_doc_mcl.onRelease = function() {
getURL("document.doc", _blank);
};
document_pdf_mcl.onRelease = function() {
getURL("document.pdf", _blank);
};
document_swf_mcl.onRelease = function() {
getURL("scroll.swf", _blank);
};
document_rtf_mcl.onRelease = function() {
getURL("document.rtf", _blank);
};
finestra_alert_mcl.onRelease = function() {
getURL("javascript: alert('Hola Cherry');");
};
mail_btn.mcl = function() {
getURL("mailto:nomUsuari@xtec.net?subject=Mail enviat des del curs D105 ");
};
 
     
  El resultat sería el mateix si posesiu cometes a "_blank". Per exemple:
 
     
  document_pdf_mcl.onRelease = function() {
getURL("document.pdf","_blank");
};
 
     
  Mostra per veure alguns exemples  
 
     
  Creació d'enllaços a URL externes  
     
  Per enllaçar amb una URL externa podeu fer el següent:  
     
url_btn.onRelease = function() {
getURL("http://www.xtec.net", "_blank");
};
 
   
  Fixeu-vos que tenim un botò amb nom de instancia url_btn  
     
  Mostra de l'aplicació  
 
     
  Impresió d'un quadre de text dinàmic fent servir la Classe PrintJob  
     
  En aquesta pràctica repassaren conceptes apressos en altres exercicis i descobrireu una nova opció del Flash MX 2004 per imprimir.  
 
  Teniu un quadre de text dinàmic anomenat exemple_print_txt.  
 
     
  Amb el bloc de notes i amb l'opció formato|ajuste de línea activat, podeu crear un arxiu de text amb la variable impressio= <b>La vall........ Guardeu aquest fitxer dins la carpeta text que és on heu anat posant totes les variables de text que surten al mòdul 6. Fixeu-vos que heu de posar etiquetes HTML.  
     
 
 
     
  Al primer fotograma clau posseu la següent programació:  
     

System.useCodepage = true;
///////////////////////////////////////////////////////////////
carrega_estils = new TextField.StyleSheet();
carrega_estils.load("estils_css/full_estils.css");
carrega_textos = new LoadVars();
carrega_textos.load("text/practica_impressio.txt");
carrega_textos.onLoad = function() {
exemple_print_txt.styleSheet = carrega_estils;
exemple_print_txt.border = true;
exemple_print_txt.borderColor = "0xcccccc";
exemple_print_txt.background = true;
exemple_print_txt.backgroundColor = "0xcccccc";
exemple_print_txt.htmlText = "<estil_web>"+carrega_textos.impressio+"</estil_web>";
};
///////////////////////////////////////////////
/*print_btn es el nom de la instància del botò que clicarem per imprimir el quqdre de text dinàmic */
print_btn.onRelease = function() {
//creem una instància de l'objecte PrintJob
my_pj = new PrintJob();
//el quadre de text dinàmic està al primer fotograma
var currentFrame = 1;
//es mostrarà el quadre de diàleg de impressió
myResult = my_pj.start();
/* pàgina que enviem a la impressora. Aquesta pàgina contindrà el quadre de text "exemple_print_txt"
Si voleu imprimir una instància (en aquest cas tenim la instància d'un quadre de text), posareu el seu nom entre cometes. Si voleu imprimir la pel.lícula (_root) haureu de posar un 0 sense cometes.
{xMin:0, xMax:1000, yMin:0, yMax:1000} és opcional i especifica el àrea que s'ha de imprimir.
null el posareu si voleu especificar el nombre d'un fotograma.
*/

myResult = my_pj.addPage("exemple_print_txt", {xMin:0, xMax:1000, yMin:0, yMax:1000}, null, currentFrame);
//s'envia la pàgina a la cua de impressió
my_pj.send();
//s'esborra la cua de impressió
delete my_pj;
};

 
     
  En negreta teniu la part nova de programació que correspon a la programació per que funcioni el botó imprimir (print_btn).  
     
  La classe PrintJob és molt útil per imprimir el contingut dinàmic extern que apareix a un quadre de text dinàmic. Si mireu a l'ajuda del Flash li descobrireu moltes més utilitats. Aquí heu treballat una de les seves múltiples possibilitats.

Els mètodes de la classe PrintJob s'han de fer servir seguin el següent ordre:
 
 
  • PrintJob.start(). Mostrarà els quadres de diàleg de impressió del sistema operatiu e iniciarà la cua de impressió.
 
 
  • PrintJob.addPage(). Afexirà una pàgina a la cua de impressió.
 
 
  • PrintJob.send(). Enviarà les pàgines a la cua de la impressora.
 
     
  Amb PrintJob podreu imprimir en vectorial o mapa de bits.  
     
  Impresió d'una pàgina fent servir la Classe PrintJob  
     
  Si voleu imprimir tot el contingut d'un fotograma poseu el següent codi al botó print_btn  
     
print_btn.onRelease = function() {
my_pj = new PrintJob();
//fotograma on està el contingut de la pàgina
var currentFrame = 1;
//es mostrarà el quadre de diàleg de impressió
myResult = my_pj.start();
myResult = my_pj.addPage(0, {xMin:0, xMax:1000, yMin:0, yMax:1000}, null, currentFrame);
//s'envia la pàgina a la cua de impressió
my_pj.send();
//s'esborra la cua de impressió
delete my_pj;
};
 
     
  Impresió de varias pàgines fent servir la Classe PrintJob  
     
  Per enviar cinc pàgines a la vegada, poseu el següent codic al botó print_btn  
     
print_btn.onRelease = function(){
my_pj = new PrintJob();
var myResult;
var currentFrame;
var totalFrames = 5;
myResult = my_pj.start();
//
for(currentFrame=1;currentFrame<=totalFrames;currentFrame++){
myResult=my_pj.addPage(0,{xMin:0,xMax:1000,yMin:0,yMax:1000},null,currentFrame);
}
my_pj.send();
delete my_pj;
}