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.

AIR Clipboard

Der ActionScript-Code lautet:

Actionscript:
  1. import flash.desktop.Clipboard;
  2. import flash.desktop.ClipboardFormats;
  3.  
  4. // init text input feld
  5. myTextInput.text = "Dies ist ein Beispieltext";
  6.  
  7.  
  8. /*
  9. * 1) in die Zwischenablage kopieren
  10. */
  11.  
  12. // event listener für copybutton
  13. myCopyButton.addEventListener(MouseEvent.CLICK, myCopyButton_CLICK);
  14.  
  15.  
  16. function myCopyButton_CLICK(e:MouseEvent):void {
  17.    
  18.     // clipboard löschen
  19.     Clipboard.generalClipboard.clear();
  20.    
  21.     // Clipboard befüllen
  22.     Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, myTextInput.text ,false);
  23.  
  24. }
  25.  
  26.  
  27.  
  28. /*
  29. * 2) aus der Zwischenablage lesen
  30. */
  31.  
  32. myShowButton.addEventListener(MouseEvent.CLICK, myShowButton_CLICK);
  33.  
  34. function myShowButton_CLICK(e:MouseEvent):void {
  35.    
  36.     if (Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)) {
  37.        
  38.         // Clipboard in String schreiben
  39.         var t:String = String (Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT));
  40.        
  41.         // textfeld aktualisieren
  42.         myTextOutput.text = t;
  43.        
  44.     }
  45.    
  46.     else {
  47.        
  48.         // falls etwas anderes als Text in der Zwischenablage> Fehler
  49.         myTextOutput.text = "Sorry, falsches Format";
  50.     }
  51.    
  52. }

Download: Quelldatei (.fla)
Link: Copy and Paste