ClipboardAll

Erstellt ein Objekt, das alles enthält, was sich in der Zwischenablage befindet, wie Bilder und Formatierungen.

ClipGesichert := ClipboardAll(Daten, Größe)

ClipboardAll selbst ist eine Klasse, die von Buffer abgeleitet ist.

Parameter

Wenn beide Parameter weggelassen werden, wird der aktuelle Inhalt der Zwischenablage abgerufen. Andernfalls geben Sie einen oder beide Parameter an, um ein Objekt zu erstellen, das die angegebenen Binärdaten der Zwischenablage enthält.

Daten

Typ: Objekt oder Integer

Ein Buffer-ähnliches Objekt oder ein reiner Integer, der die Adresse der Binärdaten ist. Die Daten müssen in einem bestimmten Format vorliegen, d.h. sie stammen typischerweise von einem früheren Aufruf von ClipboardAll. Siehe Beispiel #2 unten.

Größe

Typ: Integer

Die Anzahl der zu verwendeten Bytes. Dies ist optional, wenn Daten ein Objekt ist.

Rückgabewert

Typ: Objekt

Diese Funktion gibt ein ClipboardAll-Objekt mit den folgenden zwei Eigenschaften zurück (geerbt von Buffer):

Bemerkungen

Die interne Variable A_Clipboard spiegelt den aktuellen Inhalt der Windows-Zwischenablage in Textform wider, kann aber einem ClipboardAll-Objekt zugewiesen werden, um ihren Inhalt in die Zwischenablage zurückzuschreiben.

ClipboardAll wird häufig verwendet, um den aktuellen Inhalt der Zwischenablage zu sichern, damit die Zwischenablage vorübergehend für eine andere Operation verwendet werden kann. Nach Abschluss der Operation kann der ursprüngliche Inhalt der Zwischenablage wiederhergestellt werden, wie in Beispiel #1 und Beispiel #2 gezeigt.

Wenn ClipboardAll nicht in der Lage ist, bestimmte Datenobjekte (Formate) aus der Zwischenablage abzurufen, werden diese übersprungen und der Rest wird gespeichert.

Mit ClipWait kann festgestellt werden, wann die Zwischenablage Daten enthält (optional auch Nicht-Text-Daten).

Die im Objekt enthaltenen Binärdaten bestehen aus drei Elementen: Die ersten 4 Bytes enthalten den Formattyp, die nächsten 4 Bytes die Datenblockgröße und der Rest den Datenblock des Formats. Wenn die Zwischenablage mehr als ein Format enthält (was fast immer der Fall ist), werden diese drei Elemente wiederholt, bis alle Formate enthalten sind. Die Daten enden mit einem vier Byte großen Formattyp von 0.

A_Clipboard, ClipWait, OnClipboardChange, #ClipboardTimeout, Buffer

Beispiele

Speichert den Inhalt der Zwischenablage in eine Variable und stellt ihn wieder her.

ClipSicherung := ClipboardAll()   ; Zwischenablage in eine beliebige Variable speichern.
; ... hier die Zwischenablage für etwas anderes verwenden, z.B. schnell eine große Textmenge einfügen ...
A_Clipboard := ClipSicherung   ; Originale Zwischenablage wiederherstellen. Beachten Sie die Verwendung von A_Clipboard (nicht ClipboardAll).
ClipSicherung := ""  ; Speicher freigeben, falls die Zwischenablage sehr groß war.

Speichert den Inhalt der Zwischenablage in eine Datei und stellt ihn wieder her.

; Option 1: Datei löschen und FileAppend verwenden.
FileDelete "Firmenlogo.clip"
FileAppend ClipboardAll(), "Firmenlogo.clip" ; Die Dateiendung ist egal.

; Option 2: FileOpen im Überschreibmodus und File.RawWrite verwenden.
ClipDaten := ClipboardAll()
FileOpen("Firmenlogo.clip", "w").RawWrite(ClipDaten)

Um die Datei später wieder in die Zwischenablage (oder in eine Variable) zu laden, gehen Sie wie folgt vor:

ClipDaten := FileRead("Firmenlogo.clip", "RAW")  ; In diesem Fall gibt FileRead ein Buffer zurück.
A_Clipboard := ClipboardAll(ClipDaten)  ; Wandelt das Buffer in ein ClipboardAll um und weist es zu.