Bei der Programmierung von dynamische Anwendungen ist es immer sinnvoll, änderbare Texte und Variablen in externen Dateien auszulagern. Auf diese Weise kann man dynamische Anwendungen erstellen, ohne die ActionScript-Dateien zu bearbeiten oder neu kompilieren zu müssen. Weiter geht es nach dem Break…
Die Properties-Datei kann eine ganz normale Text-Datei („*.txt“) sein oder wie in Java, eine Datei mit der Endung „*.properties“ sein. ACHTUNG! Eine Java Properties-Datei ist syntaktisch nicht kompatibel mit einer ActionScript 3 Properties-Datei.
Man sollte Sonderzeichen, reservierte Wörter und LEERZEICHEN nicht verwenden! Die erste Variable beginnt ohne dem Trennzeichen „&“.
derName=DesireHD
&hersteller=HTC
&datum=2010
&webseite=www.htc.de
&versionen=Cupcake,Donut,Eclair,Froyo,Gingerbread,IceCream
Wie genau ein Loader funktioniert, habe ich bereits hier beschrieben.
var myRequest:URLRequest = new URLRequest('data.properties');
myRequest.method = URLRequestMethod.POST;
var myVariables:URLLoader = new URLLoader();
myVariables.dataFormat = URLLoaderDataFormat.VARIABLES;
myVariables.addEventListener(Event.COMPLETE, fertig);
try
{
myVariables.load(myRequest);
}catch (error:Error)
{
trace('Die Datei konnte nicht geladen werden: ' + error);
}
var loader:URLLoader = URLLoader(event.target);
this.a_txt.text = loader.data.derName;
this.b_txt.text = loader.data.hersteller;
this.c_txt.text = loader.data.datum;
this.d_txt.text = loader.data.webseite;
var versionArray:Array = loader.data.versionen.split(',');
this.e_txt.text = versionArray[3];
package
{
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.events.Event;
import flash.display.Sprite;
public class properties extends Sprite
{
public function properties()
{
var myRequest:URLRequest = new URLRequest('data.properties');
myRequest.method = URLRequestMethod.POST;
var myVariables:URLLoader = new URLLoader();
myVariables.dataFormat = URLLoaderDataFormat.VARIABLES;
myVariables.addEventListener(Event.COMPLETE, fertig);
try
{
myVariables.load(myRequest);
}
catch (error:Error)
{
trace('Die Datei konnte nicht geladen werden: ' + error);
}
}
private function fertig(event:Event):void
{
var loader:URLLoader = URLLoader(event.target);
this.a_txt.text = loader.data.derName;
this.b_txt.text = loader.data.hersteller;
this.c_txt.text = loader.data.datum;
this.d_txt.text = loader.data.webseite;
var versionArray:Array = loader.data.versionen.split(',');
this.e_txt.text = versionArray[3];
}
}
}
Kommentar verfassen