Vor einigen Tagen hatt ich bereits über die Suche nach Postleitzahl mittels Flash AS3 geschrieben. Heute kommt noch ein Beispiel mit der Suche einer Bankleitzahl. Auch hier wurde wieder ActionScript3 und XML eingesetzt. Die Ergebnisse werden auch wieder in einen DataGrid mittels DataProvider dargestellt. Im Anschluss ein Online-Beispiel mit AS3-Quellcode.
Als erstes das Beispiel:
stage.showDefaultContextMenu = false;
// extern definierte Klassen und Pakete laden
import flash.net.URLRequest;
import fl.controls.DataGrid;
import fl.data.DataProvider;
var loader:URLLoader = new URLLoader();
var url:String = "http://www.domain.de/get.php";
// nur erlaubte Zeichen
input_blz.restrict = "0-9";
input_ort.restrict = "a-zöäüß";
// Spalten hinzufügen
grid.addColumn("BLZ");
grid.addColumn("Bank");
grid.addColumn("PLZ");
grid.addColumn("Ort");
lader.visible = false;
function get_ort( val ) {
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorListener);
var url_string:String = url + '?ort=' + escape(val) + '&noCache=' + Math.random();
loader.load( new URLRequest(url_string) );
lader.visible = true;
}
function get_blz( val ) {
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorListener);
var url_string:String = url + '?blz=' + escape(val) + '&noCache=' + Math.random();
loader.load( new URLRequest(url_string) );
lader.visible = true;
}
function completeHandler(event:Event):void {
var xmlData:XML = new XML(loader.data);
var xmlList:XMLList = xmlData.item.children();
var dp:DataProvider = new DataProvider();
var myText:String = "";
if ( xmlList.length() > 0 ) {
for (var i:Number = 0; i < xmlList.length(); i++) {
if ( xmlData.item.blz[i] ) {
dp.addItem({
BLZ:xmlData.item.blz[i],
Bank:xmlData.item.bez[i],
PLZ:xmlData.item.plz[i],
Ort:xmlData.item.ort[i]
});
}
}
lader.visible = false;
myText += String(dp.length) + ' Einträge gefunden';
} else {
myText += "<p><b> kein Eintrag gefunden ... </b></p>";
}
grid.dataProvider = dp;
output.htmlText = myText;
}
function errorListener(event:Event):void {
var fehler:String = String(loader.data);
trace(fehler);
}
btn_blz.addEventListener(MouseEvent.CLICK,click_blz);
function click_blz(event:MouseEvent) {
if ( input_blz.text.length >= 3 ) {
input.text = 'Suche nach BLZ ' + input_blz.text;
get_blz( input_blz.text );
}
}
btn_ort.addEventListener(MouseEvent.CLICK,click_ort);
function click_ort(event:MouseEvent) {
if ( input_ort.text.length >= 3 ) {
input.text = 'Suche nach Ort ' + input_ort.text;
get_ort( input_ort.text );
}
}