Mostrando las entradas con la etiqueta actionscript. Mostrar todas las entradas
Mostrando las entradas con la etiqueta actionscript. Mostrar todas las entradas

23 de noviembre de 2010

Los saltos de línea en textos

Nunca es tarde para seguir aprendiendo, y menos Flex. Por cosas tan sencillas como estas aún no he querido presentar la certificación, hoy les quiero comentar sobre los saltos de línea, por lo general nuestras aplicaciones tienen un monton de texto; cada vez que tenía que agregar un texto que incluyera más de un parrafo usaba el htmlText y meter el \n para que agarrara el salto de línea, el \n sigue funcionando pero no sabía el uso del caracter XML "&/#13;" el cual podemos usar en el MXML tranquilamente,


Entonces, en resumen texto AS usamos \n, y texto en MXML usamos " ".

9 de octubre de 2009

Adobe Poster: ActionScript y Flex Framework

Muchos de ustedes en el grupo de usuarios de facebook han solicitado el Poster de Adobe, bueno, aquí está. Contiene todas las clases de AS3 y Flex.

Many of you have requested on facebook user group the Adobe Poster, well here is it. Contains all AS3 classes and Flex ones.


29 de junio de 2009

Flex Decompiler

Esto es de mi otro blog que no actulizo pero lo voy a poner aquí que va mejor con Flex

HP lanzó una aplicación llamada SWFScan, ésta aplicación permite encontrar vulnerabilidades en los archivos .swf creados con Flash, Flex o cualquier otro programa cuya salida corra en la plataforma de Adobe Flash Player.

HP SWFScan is a free Windows-based security tool to help developers
find and fix security vulnerabilities in applications developed with the Adobe
Flash Platform. The tool is the first of its kind to decompile applications
developed with the Flash platform and perform static analysis to understand
their behaviors. This helps developers without security backgrounds identify
vulnerabilities hidden within the application which cannot be detected with
dynamic analysis methods.


(I've tested this app, and it's really good.. it gets all your code and checks if there are errors, or possible vulnerabilities )

Most of the time it gets you trace statements you left in your code.. here's a sample code from my preloader code...

private function onRSLDownloadProgress(findBundle:flash.events::ProgressEvent)
{
// debugfile: \TrunkWorkspace\DashboardRefactored\src;com\thinkglish\preloader;SWFPreloader.as
this.isRslDownloading = true;
this.rslBytesTotal = findBundle.bytesTotal;
this.rslBytesLoaded = findBundle.bytesLoaded;
this.rslPercent = Math.round(this.rslBytesLoaded / this.rslBytesTotal * 100);
trace("onRSLDownloadProgress: rslBytesLoaded " + this.rslBytesLoaded);
trace("onRSLDownloadProgress: rslBytesTotal " + this.rslBytesTotal);
trace("onRSLDownloadProgress: " + this.rslPercent + "%");

return;

}



and here's what SWFScan tells me what to do

Summary
An indication that the trace() function is being utilized was detected due to the presence of debug messaging.This can represent a serious security concern as path names and other information can be revealed. Recommendations include removing all debugging messaging from the application code before it is placed on production servers.

Fix

Set 'Omit Trace Actions' to 'true'. The Omit Trace Actions flag in Flash development environments tells the compiler to remove any trace commands when creating the compiled SWF file. This will make the published SWF smaller and it will remove any excess information or actions from the SWF.
References

Adobe:
Creating more secure SWF web applications

OWASP:
OWASP Flash Security Project




For more information...
http://www.communities.hp.com/securitysoftware/blogs/spilabs/archive/2009/03/20/exposing-flash-application-vulnerabilities-with-swfscan.aspx

22 de mayo de 2009

Utilizando el IViewCursor en Flex

Estuve haciendo una aplicación tipo buzón de correo. Tenía que encontrar el id de un usuario en la lista de contactos dado. Para encontrarlo dentro del ArrayCollection sin tener que hacer un for, utilizé un cursor, todo fino cuando encuentra lo que quiero, pero cómo obtener el index de lo que se encontró?... Bueh.. hice lo siguiente, el ArrayCollection tiene un método que se llama getItemIndex que recibe como paramétro un Objeto.. así que bueno.. esto fue lo que resolví.

1. Primero ordenamos la lista
private function sortCollection():void{
var col:ICollectionView = nuestroArrayCollection;
var sort:Sort = new Sort();
       
       //Los ordeno por id, 
       sort.fields = [new SortField("id",true,false,true)];
      
      //Asignamos la instancia de sort al CollectionView
      col.sort = sort;

      //Refrescamos la lista
      col.refresh();
}

2. Buscamos el id dentro de la colección de la siguiente manera:


//Creamos un cursor con la interfaz IViewCursor
private var myCursor          :IViewCursor;

//Asignamos a myCursor lo siguiente
myCursor = nuestroArrayCollection.createCursor()

//Usamos el método findAny un Object de lo que queremos buscar, en este caso mi arrayCollection tiene un atributo id, lo que hacemos es crear el objeto con esa información {id:studentId}
myCursor.findAny({id:studentId});

//Y finalmente, para obtener el indice o el objeto encontrado por el Cursor, usamos los métodos que ya trae el ArrayCollection (getItemAt, o getItemIndex)
indexContactList    = nuestroArrayCollection.getItemIndex(myCursor.current);


Y ya, es todo, leyendo un poco sobre el IViewCursor en langref explica que si tenemos una colección con ids únicos, el método findAny, es más efectivo que findFirst, o findLast.

Para más información: http://www.adobe.com/livedocs/flex/3/langref/mx/collections/IViewCursor.html