Ich gehe wohl fehl in der Annahme, dass du im umgang mit klassen geübt bist, oder? Egal, schau mal hier. Die nimmt dir die ganze ewig wiederkehrende schreibarbeit ab.
PHP-Code:
class LocalObject {
public var location:String;
/***
* constructor : LocalObject
*
* use start
var cookie:LocalObject = new LocalObject();
cookie.dir = 'foo/';
cookie.write('shorty', {a:[0, 1, 9, 3, 'Hello World!']});
trace(cookie.read('shorty').a[4]);
trace(cookie.size('shorty'));
trace(cookie.del('shorty'));
trace(cookie.read('shorty'));
* use end
*/
function LocalObject () {
}
/***
* setter : dir
* return -> string, of localobject "global" dir
*/
public function get dir () : String {
return location;
}
/***
* setter : dir
* description : set's the "global" localobject dir
*/
public function set dir (dir:String) : Void {
location = dir;
}
/***
* public method : read
* parameter's : name:String
*
* name -> the name of localobject to read
*
* return -> object, with content of localobject
*
* description : read's the content of a existing localobject
*/
public function read (name:String) : Object {
var lo:SharedObject = SharedObject.getLocal(location + name, '/');
return lo.data.o;
}
/***
* public method : write
* parameter's : name:String, content:Object
*
* name -> the name of localobject to write
* content -> content of localobject
*
* description : write a localobject
*/
public function write (name:String, content:Object) : Void {
var lo:SharedObject = SharedObject.getLocal(location + name, '/');
lo.data.o = content;
lo.flush(999);
}
/***
* public method : size
* parameter's : name:String
*
* name -> the name of localobject to get size
*
* return -> number, of size from localobject
*/
public function size (name:String) : Number {
var lo:SharedObject = SharedObject.getLocal(location + name, '/');
return lo.getSize();
}
/***
* public method : del
* parameter's : name:String
*
* name -> the name of localobject to delete
*
* return -> boolean, if localobject is deleted (true) or not (false)
*
* description : delete / clear a localobject
*/
public function del (name:String) : Boolean {
var lo:SharedObject = SharedObject.getLocal(location + name, '/');
lo.clear();
if (size(name) == 0 || read(name) == undefined) {
return true;
} else {
return false;
}
}
}
mach dir zu testzwecken einfach ma ne sonst leere flashdatei auf, und schreib folgendes ins erste SB.
Ich denke nach 2 - 3 mal testen hast du den dreh raus
PHP-Code:
var cookie:LocalObject = new LocalObject();
cookie.dir = 'foo/';
cookie.write('shorty', {a:[0, 1, 9, 3, 'Hello World!']});
trace(cookie.read('shorty').a[4]);
trace(cookie.size('shorty'));
trace(cookie.del('shorty'));
trace(cookie.read('shorty'));
geht auch übersichtlicher & bezug nehmend auf deine vorlage
PHP-Code:
var cookie:LocalObject = new LocalObject();
cookie.dir = 'cookieFolder/';
cookie.write('nameOfCookie', {jahr:'2005',txt:'hello world!'});
var result:Object = cookie.read('nameOfCookie');
trace(result.txt);
Speichere die ganz oben gezeigte klasse als
LocalObject.as im gleichen Ordner wie die eben erstellte leere *.fla.
*ja, ja, i know (lo.flush(999)... Bokel würde sagen: "Es muss immer noch was zum optimieren übrig bleiben"
gruß,
shorty
geht jetz pennen & weis nicht ob das jetzt wirklich weniger schreibarbeit ist ^^ .