Zum Inhalt springen
Der Guide für ein smartes Leben.
Flash ist überall

Teil 3: Workshop: Flash universell einsetzen

Autoren: Redaktion pcmagazin und Frank Puscher • 8.6.2009 • ca. 0:50 Min

Der Pfad zeigt auf das Programmverzeichnis, das sich die Air-Anwendung bei der Installation erzeugt....

Der Pfad zeigt auf das Programmverzeichnis, das sich die Air-Anwendung bei der Installation erzeugt.

if(!datei.exists){
var fileStream:FileStream =
new FileStream();
fileStream.open(datei, FileMode.
WRITE);
ileStream.writeMultiByte("00.00",
"iso-8859-1");
fileStream.close();
} else {
dateiLesen();
}

Wenn noch keine Datei existiert, wird eine leere mit dem Zeitwert 00.00 erzeugt. Hierzu nutzt die Air-Anwendung das Filestream-Object, das sozusagen einen offenen Datenstrom in Richtung Festplatte erzeugt. Damit die Anwendung nicht unnötig verlangsamt wird, muss er geschlossen werden.

Ist bereits eine Datei mit Namen Geburtstag.file vorhanden, wird sie nur ausgelesen. Hierzu erzeugen wir ebenfalls einen Datenstrom, jedoch mit der Methode READ.

function dateiLesen():void {
var fileStream:FileStream = new
FileStream();
fileStream.open(datei, FileMode.
READ);
var weckzeit:String = fileStream.
readUTFBytes(fileStream.bytesAvailable);
weckstunde.text=weckzeit.
substr(0,2);
weckminute.text=weckzeit.
substr(3,2);
fileStream.close();
}

Nun setzen wir die gelesene Zeit in die zwei Bestandteile Minuten und Stunden um und schreiben sie in die Textfelder mit der Weckzeitanzeige zurück. Der Befehl substr verlangt die Parameter erstes Zeichen und Länge des Substring.

//Neue Weckzeit Speichern
button.addEventListener(MouseEvent.
MOUSE_DOWN, datenSpeichern);
function datenSpeichern
(e:MouseEvent):void{
var fileStream:FileStream = new
FileStream();
fileStream.open(datei, FileMode.
WRITE);
var content:String = weckstunde.
text;
fileStream.writeMultiByte(content,
"iso-8859-1");
var trenner:String = ".";
fileStream.writeMultiByte(trenner,
"iso-8859-1");
var content2:String = weckminute.
text;
fileStream.writeMultiByte(content2,
"iso-8859-1");
fileStream.close();
}