Mit Adobe AIR 1.0 kann man auf die Zwischenablage des Betriebssystems zugreifen. Man kann den Inhalt sowohl auslesen als auch etwas hineinkopieren.
Grundsätzlich kann üblicherweise unterschiedliche Sachen in die Zwischenablage kopieren (z.B. Texte, Bilder, Dateien, etc.) Deshalb gibt es verschiedene Standardformate, die mögliche Inhaltstypen des Clipboards definieren. Zu diesen ClipboardFormats
gehören z.B. ClipboardFormats.TEXT_FORMAT
(Text), ClipboardFormats.BITMAP_FORMAT
(für die BitmapData-Klasse) oder ClipboardFormats.FILE_LIST_FORMAT
(für File-Objekte). Wem dies nicht genügt: Es können auch eigene Typen erstellt werden.
Das Beispiel-Programm zu diesem Thema besteht aus zwei Buttons. Der eine kopiert das Textinput-Feld in die Zwischenablage, der andere zeigt den aktuellen Inhalt des Clipboards an. Selbstverständlich kann man mit Ctrl+C (Apfel+C) auch Text aus einer anderen Anwendung kopieren und über den Button "Zwischenablage anzeigen" in der AIR-Anwendung darstellen.
Wird etwas anderes als Text in die Zwischenablage kopiert (z.B. eine Datei aus dem Explorer/Finder), meldet die Anwendung einen Fehler.
Der ActionScript-Code lautet:
-
span style="color: #808080; font-style: italic;">// init text input feld
-
"Dies ist ein Beispieltext";
-
-
-
/*
-
* 1) in die Zwischenablage kopieren
-
*/
-
-
// event listener für copybutton
-
// clipboard löschen
-
// Clipboard befüllen
-
/*
-
* 2) aus der Zwischenablage lesen
-
*/// Clipboard in String schreiben
-
// textfeld aktualisieren
-
// falls etwas anderes als Text in der Zwischenablage> Fehler
-
"Sorry, falsches Format";
-
}
-
-
}
Download: Quelldatei (.fla)
Link: Copy and Paste
3 Kommentare zum Beitrag "AIR: Copy und Paste mit der Zwischenablage (Clipboard)"
[…] Copy & Paste in die Zwischenablage Fenstergrößen verändern Taskleiste von Windows blinken lassen Drag & Drop Konfigurationsdatei in XML schreiben und Lesen Einsatz von SQLlite […]
Hallo, bei Ihrem Scipt bekomme ich denselben Fehler, den ich bei meinem bekomme:
„ReferenceError: Error #1065: Variable flash.desktop::Clipboard ist nicht definiert.
at air_fla::MainTimeline/myCopyButton_CLICK()[air_fla.MainTimeline::frame1:19]“
Was hat es damit auf sich?
Vielleicht ist die Adobe AIR Version bzw. das AIR Plugin für Flash nicht aktuell? Ich habe es gerade nochmal in Flash CS4 getestet, da hat es funktioniert.
Schreibe einen Kommentar