| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jan 2010
Beiträge: 73
|
Hi zusammen, ich versuche gerade einen Emailanhang Base64 zu codieren. Hierzu habe ich auch eine ganz gute App. in diesem Forum gefunden und bin dabei diese anzupassen. Zur Zeit besteht die Funktion aus drei Buttons (Browse, Laden, Codieren), was etwas unpraktisch ist. Ich möchte gerne das die Funktionen Laden und Codieren direkt nach auswählen der Datei ausgeführt werden. Hat jemand eine Idee wie ich das anstellen kann? Ich muss ja an sich nur sagen, dass wenn er die Funktion "browse" durchlaufen hat, er "load" und "dump" ausführen soll. Oder stelle ich mir das leichter vor als es ist? Code: <?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" width="800" height="600">
<mx:Script>
<![CDATA[
import mx.utils.Base64Encoder;
[Bindable]
private var fileRef:FileReference;
private function browse():void
{
if (fileRef)
{
fileRef = null;
txt.text = "";
}
fileRef = new FileReference();
fileRef.browse();
}
private function load():void
{
fileRef.load();
}
private function dump():void
{
var bytes:ByteArray = fileRef.data;
var encoder:Base64Encoder = new Base64Encoder();
encoder.encodeBytes(bytes);
txt.text = encoder.drain();
}
]]>
</mx:Script>
<mx:Button label="Browse" click="browse()"/>
<mx:Button label="Laden" click="load()"/>
<mx:Button label="Base64 konvertieren" click="dump()"/>
<mx:TextArea id="txt" width="600" height="400"/>
</mx:WindowedApplication> |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Dec 2005 Ort: Oldenburg
Beiträge: 2.271
|
Oha - schon mal was von "EventListener" gehört? In diesem Falle ActionScript:
Achja, ist die richtige Methode auf der File-instanz nicht "browseForOpen" ? Geändert von Nico B. (08-02-2010 um 11:19 Uhr) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jan 2010
Beiträge: 73
|
Kannst du mir noch sagen was ich bei der Funktion dump falsch gemacht habe? Code: <?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" width="800" height="600">
<mx:Script>
<![CDATA[
import mx.utils.Base64Encoder;
[Bindable]
private var fileRef:FileReference;
private function browse():void {
if (fileRef) {
fileRef = null;
txt.text = "";
}
fileRef = new FileReference();
fileRef.browse();
fileRef.addEventListener(Event.SELECT, load);
}
private function load(event:Event):void
{
fileRef.load();
fileRef.addEventListener(Event.SELECT, dump);
}
private function dump(event:Event):void
{
var bytes:ByteArray = fileRef.data;
var encoder:Base64Encoder = new Base64Encoder();
encoder.encodeBytes(bytes);
txt.text = encoder.drain();
}
]]>
</mx:Script>
<mx:Button label="Browse" click="browse()"/>
<mx:TextArea id="txt" width="600" height="400"/>
</mx:WindowedApplication> |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Dec 2005 Ort: Oldenburg
Beiträge: 2.271
|
Ähm, ich glaube Du hast da was missverstanden. Es gibt X verschiedene Arten von Events (eigentlich unendlich viele, da man sich selbst auch welche schreiben kann) Event.SELECT ist nur sinnvoll, wenn du eben etwas "selectest", sprich auswählst. (Wie im Datei-öffnen Dialog) In der "load" function macht SELECT aber überhaupt keinen Sinn! Mit dem EventListener "horcht" man ja darauf, wann etwas passiert. Das kann ein Mausclick, ein Select oder auch ein fertiges Laden von einem Objekt sein. Würde mir wirklich erstmal AS3-Basics reinziehen - Flex ist manchmal schon kompliziert genug. Da sollten EventListener mind. sitzen - Im Schlaf! Achja, was soll in deiner "dump" function falsch sein? Oder wird sie, wie oben vermutet, gar nicht aufgerufen? Geändert von Nico B. (08-02-2010 um 11:39 Uhr) |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Dec 2005 Ort: Oldenburg
Beiträge: 2.271
|
Kann ja nicht funktionieren^^ Wie oben bereits geschrieben, benutzt Du das 2. "SELECT" völlig falsch. Da findet kein Select statt - ergo wird auch keine Funktion aufgerufen. Ich weiß jetzt nicht ausm Kopf wie file.load() genau funktioniert, aber irgendwie wirste da auch drauf "warten" können. WOher hast Du die Scripte? |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Jan 2010
Beiträge: 73
|
Habs mit COMPLETE hinbekommen... Aber THX nochmal! Falls es jemand Quick and Dirty braucht: Code: <?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" width="800" height="600">
<mx:Script>
<![CDATA[
import mx.utils.Base64Encoder;
[Bindable]
private var fileRef:FileReference;
private function browse():void {
if (fileRef) {
fileRef = null;
txt.text = "";
}
fileRef = new FileReference();
fileRef.browse();
fileRef.addEventListener(Event.SELECT, load);
fileRef.addEventListener(Event.COMPLETE, dump);
}
private function load(event:Event):void
{
fileRef.load();
}
private function dump(event:Event):void
{
var bytes:ByteArray = fileRef.data;
var encoder:Base64Encoder = new Base64Encoder();
encoder.encodeBytes(bytes);
txt.text = encoder.drain();
}
]]>
</mx:Script>
<mx:Button label="Browse" click="browse()"/>
<mx:TextArea id="txt" width="600" height="400"/>
</mx:WindowedApplication> |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Dec 2005 Ort: Oldenburg
Beiträge: 2.271
|
Hatte es auch grad getestet - complete ist richtig. ![]() Da ich mir gerade die Mühe gemacht habe es "nachzu scripten", wollte ich es mind. auch posten ![]() ActionScript:
|
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Funktion ohne Event-Parameter aufrufen | grizu | Flash Einsteiger | 3 | 19-09-2008 10:51 |
| Funktion nach einer bestimmten Zeit immer wieder aufrufen | jun-jun | ActionScript 1 | 4 | 15-09-2008 12:23 |
| Funktion aufrufen, die Event Parameter erwartet | Digger2k3 | ActionScript 3 | 5 | 29-07-2008 17:55 |
| nach gotoAndStop() direkt Funktion in (Unter-)MC aufrufen | xaromz | ActionScript 2 | 0 | 22-02-2007 13:46 |
| Funktion nach 5 sekunden aufrufen | florianosch | HTML und CSS | 5 | 04-02-2003 12:11 |