Test clipboard

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 6.0


Test clipboard (DatenTyp) Numerisch

ParameterTypBeschreibung
DatenTypStringString mit 4 Zeichen
FunktionsergebnisNumerischGröße (in Bytes) der in der Zwischenablage
gespeicherten Daten oder Fehlercode

Beschreibung

Mit der Funktion Test clipboard prüfen Sie, ob es in der Zwischenablage Daten mit dem in DatenTyp übergebenen Typ gibt.

Warnung: Der in DatenTyp übergebene Wert berücksichtigt die Schreibweise. So ist z.B. "abcd" nicht gleich "ABCD."

Ist die Zwischenablage leer oder enthält keine Daten vom angegebenen Typ, gibt die Funktion einen Fehler -102 zurück. (Siehe Tabelle der vordefinierten Konstanten). Enthält die Zwischenablage Daten vom angegebenen Typ, gibt die Funktion die Größe der Daten in Bytes zurück.

Haben Sie festgestellt, dass die Zwischenablage Daten des entsprechenden Typs enthält, können Sie diese mit folgenden Befehlen aus der Zwischenablage entnehmen:

Enthält die Zwischenablage Daten vom Typ TEXT, erhalten Sie diese entweder mit der Funktion Get text from clipboard, die einen Textwert zurückgibt, oder mit dem Befehl GET CLIPBOARD, der den Text in einem BLOB zurückgibt.

Enthält die Zwischenablage Daten vom Typ PICT, erhalten Sie diese entweder mit dem Befehl GET PICTURE FROM CLIPBOARD, der das Bild in einem Bilddatenfeld oder einer Variablen zurückgibt, oder mit dem Befehl GET CLIPBOARD, der das Bild in einem BLOB zurückgibt.

Verwenden Sie für alle anderen Datentypen den Befehl GET CLIPBOARD, der die Daten in einem BLOB zurückgibt.

4th Dimension bietet folgende vordefinierten Konstanten:

KonstanteTypWert
No such data in clipboardLange Ganzzahl-102
Text dataStringTEXT
Picture dataStringPICT

Beispiele

(1) Nachfolgender Code prüft, ob die Zwischenablage ein Bild enthält. Wenn ja, wird es in eine 4D Variable kopiert:

   If (Test clipboard (Picture data) > 0) ` Gibt es ein Bild in der Zwischenablage?
      GET PICTURE FROM CLIPBOARD ($vPicVariable) 
                         ` Wenn ja, entnimm das Bild aus der Zwischenablage 
   Else
      ALERT("Es gibt kein Bild in der Zwischenablage.")
   End if

(2) Anwendungen schneiden normalerweise Daten vom Typ TEXT bzw. PICT aus bzw. kopieren sie in die Zwischenablage, da die meisten Anwendungen zwei Standarddatentypen erkennen. Eine Anwendung kann jedoch mehrere Instanzen derselben Daten in verschiedenen Formaten anfügen. Immer, wenn Sie z.B. Teile einer Tabellenkalkulation ausschneiden bzw. kopieren , könnte die Anwendung die Daten unter dem hypothetischen Format 'SPSH' anfügen, ebensogut aber auch in den Formaten SYLK und TEXT. Dann würde 'SPSH' die Daten gemäß der Datenstruktur enthalten, SYLK dieselben Daten im SYLK Format, das von den meisten anderen Tabellenkalkulationen erkannt wird und TEXT dieselben Daten ohne die Zusatzinformationen in SYLK bzw. 'SPSH'. Vorausgesetzt, Sie kennen die Beschreibung des 'SPSH' Formats und haben alles für die Übertragung von Daten im SYLK Format vorbereitet, können Sie nun Routinen für Ausschneiden/Kopieren/Einsetzen zwischen 4th Dimension und jener hypothetischen Tabellenkalkulation erstellen. Ihr Code könnte folgendermaßen aussehen:

   Case of
         ` Prüfen Sie zuerst, ob die Zwischenablage Daten aus der hypothetischen 
          Tabellenkalkulation enthält
      : (Test clipboard ('SPSH') > 0)
         ` ...
         ` Prüfen Sie dann, ob die Zwischenablage Daten vom Typ Sylk enthält
      : (Test clipboard ('SYLK') > 0)
         ` ...
         ` Prüfen Sie schließlich, ob die Zwischenablage Daten vom Typ Text enthält
      : (Test clipboard ('TEXT') > 0)
         ` ...
   End case

Anders gesagt, Sie versuchen aus der Zwischenablage die Instanz der Daten zu entnehmen, die am meisten Originalinformationen enthält.

(3) Siehe Beispiel zum Befehl APPEND TO CLIPBOARD.

Referenz

GET CLIPBOARD, GET PICTURE FROM CLIPBOARD, Get text from clipboard.


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next