Difference between revisions of "Clipboard/de"
From Lazarus wiki
Jump to navigationJump to searchm |
|||
Line 4: | Line 4: | ||
Dieser Artikel beschäftigt sich mit der Windowsprogrammierung.<br> | Dieser Artikel beschäftigt sich mit der Windowsprogrammierung.<br> | ||
__TOC__ | __TOC__ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br> | <br> | ||
=Formate der Zwischenablage= | =Formate der Zwischenablage= | ||
Line 133: | Line 120: | ||
|} | |} | ||
<br> | <br> | ||
− | + | =Einbinden der Unit Clipbrd= | |
+ | Für den Zugriff auf die Zwischenablage wird die Unit '''Clipbrd''' benötigt.<br> | ||
+ | <syntaxhighlight> | ||
+ | ... | ||
+ | uses | ||
+ | Clipbrd, ...; | ||
+ | ... | ||
+ | </syntaxhighlight> | ||
+ | <br> | ||
==Das Format der Zwischenablage abfragen== | ==Das Format der Zwischenablage abfragen== | ||
Im Beispiel wird abgefragt, ob der Inhalt der Zwischenablage Textformat hat. | Im Beispiel wird abgefragt, ob der Inhalt der Zwischenablage Textformat hat. | ||
<syntaxhighlight> | <syntaxhighlight> | ||
− | |||
... | ... | ||
− | |||
If Clipboard.HasFormat(CF_TEXT) then ... | If Clipboard.HasFormat(CF_TEXT) then ... | ||
− | |||
... | ... | ||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
Line 149: | Line 140: | ||
Wenn das öffnen und das Schliessen der Zwischenablage wegbleiben wird der Code auch ausgeführt, ist aber schlechter Code.<br> | Wenn das öffnen und das Schliessen der Zwischenablage wegbleiben wird der Code auch ausgeführt, ist aber schlechter Code.<br> | ||
<syntaxhighlight> | <syntaxhighlight> | ||
− | |||
... | ... | ||
− | |||
Clipboard.Clear; // Leert die Zwischenablage | Clipboard.Clear; // Leert die Zwischenablage | ||
− | |||
... | ... | ||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
Line 161: | Line 148: | ||
Holt den Inhalt der Zwischenablage als unformatierten Text:<br> | Holt den Inhalt der Zwischenablage als unformatierten Text:<br> | ||
<syntaxhighlight> | <syntaxhighlight> | ||
− | |||
... | ... | ||
− | |||
Procedure subProzedur1; | Procedure subProzedur1; | ||
var | var | ||
Line 169: | Line 154: | ||
begin | begin | ||
− | |||
... | ... | ||
− | |||
strPuffer := Clipboard.AsText; | strPuffer := Clipboard.AsText; | ||
− | |||
... | ... | ||
− | |||
end; | end; | ||
− | |||
... | ... | ||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
Kopiert den Inhalt eines Strings in die Zwischenablage:<br> | Kopiert den Inhalt eines Strings in die Zwischenablage:<br> | ||
<syntaxhighlight> | <syntaxhighlight> | ||
− | |||
... | ... | ||
− | |||
procedure subProzedur2; | procedure subProzedur2; | ||
var | var | ||
Line 192: | Line 169: | ||
begin | begin | ||
− | |||
... | ... | ||
− | |||
strPuffer := 'Hallo Welt'; | strPuffer := 'Hallo Welt'; | ||
Clipboard.AsText := strPuffer; | Clipboard.AsText := strPuffer; | ||
− | |||
... | ... | ||
− | |||
end; | end; | ||
− | |||
... | ... | ||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> |
Revision as of 20:29, 5 July 2013
│
Deutsch (de) │
English (en) │
magyar (hu) │
русский (ru) │
Dieser Artikel beschäftigt sich mit der Windowsprogrammierung.
Formate der Zwischenablage
Microsoft Formattypen der Zwischenablage
Der Inhalt der Windows-Zwischenablage kann unter anderem folgende Formate haben:
Konstante | Wert | Beschreibung |
---|---|---|
CF_TEXT | 1 | Unformatierter Ansi-Text (UTF-8). |
CF_BITMAP | 2 | Handle auf eine Windows Bitmap-Grafik. |
CF_METAFILEPICT | 3 | Handle auf ein Windows Metafile-Grafik. |
CF_SYLK | 4 | Handle auf einen Microsoft Symbolic-Link. |
CF_DIF | 5 | Handle auf ein Software Arts "Data Interchange Format". |
CF_TIFF | 6 | Handle auf eine Tagged-Image File Format. |
CF_OEMTEXT | 7 | Mit dem OEM-Zeichensatz formatierter Text. (Dieser Zeichensatz wird z. B. von PC-Dos und MS-Dos verwendet.) |
CF_DIB | 8 | Handle auf eine Windows Bitmap-Grafik. |
CF_PALETTE | 9 | Handle auf einer Farbpalette. |
CF_PENDATA | 10 | Wird im Zusammenhang mit den Stift Erweiterungen von Microsoft Windows verwendet. |
CF_RIFF | 11 | Multimedia Daten (Audiodateien) im Resource Interchange Datei Format (= Resource Interchange File Format). |
CF_WAVE | 12 | Audiodaten in einem der Standard-Wave-Formate wie 11 kHz oder 22 kHz PCM. |
CF_UNICODETEXT | 13 | Text im Unicode-Text-Format (UTF-16). |
CF_ENHMETAFILE | 14 | Ein Handle auf eine erweiterte Metadatei (HENHMETAFILE). |
CF_HDROP | 15 | Ein Handle auf eine Dateiliste, im Zusammenhang mit Darg-And-Drop. |
CF_LOCALE | 16 | Enthält einen numerischen Wert in dem das Gebietsschema (Sprachcode und Ländercode) hinterlegt sind. Diese Information dient dazu, die Zeichensatzcodierung im Zwischenablageformat CF_TEXT zu ermitteln. Das Betriebssystem verwendet die Codepage CF_LOCALE um Daten aus dem Zwischenablageformat CF_TEXT implizit in das Zwischenablageformat CF_UNICODETEXT konvertieren. |
CF_OWNERDISPLAY | 128 | Owner Display Format. |
CF_DSPTEXT | 129 | Text, dessen Anzeigeformat mit einem eigenen Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST). |
CF_DSPBITMAP | 130 | Bitmap, deren Anzeigeformat mit einem eigenen Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST). |
CF_DSPMETAFILEPICT | 131 | Zwischendatei, deren Anzeigeformat mit einem eigenen Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST). |
CF_DSPENHMETAFILE | 142 | Erweiterte Zwischendatei, deren Anzeigeformat mit einem eigenen Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST). |
CF_PRIVATEFIRST | 512 | Dient in der Zwischenablage dem setzen von privaten Datenformaten. |
CF_PRIVATELAST | 767 | Dient in der Zwischenablage dem setzen von privaten Datenformaten. |
CF_GDIOBJFIRST | 768 | Dient in der Zwischenablage dem setzen von privaten Datenformaten. |
CF_GDIOBJLAST | 1023 | Dient in der Zwischenablage dem setzen von privaten Datenformaten. |
CF_PICTURE | 49674 | Handle auf ein Objekt vom Datentyp TPicture. |
CF_OBJECT | 49685 | Handle auf ein beliebiges Objekt. |
Einbinden der Unit Clipbrd
Für den Zugriff auf die Zwischenablage wird die Unit Clipbrd benötigt.
...
uses
Clipbrd, ...;
...
Das Format der Zwischenablage abfragen
Im Beispiel wird abgefragt, ob der Inhalt der Zwischenablage Textformat hat.
...
If Clipboard.HasFormat(CF_TEXT) then ...
...
Leeren der Zwischenablage
Wenn das öffnen und das Schliessen der Zwischenablage wegbleiben wird der Code auch ausgeführt, ist aber schlechter Code.
...
Clipboard.Clear; // Leert die Zwischenablage
...
Arbeiten mit Texten ohne Textformatierung
Holt den Inhalt der Zwischenablage als unformatierten Text:
...
Procedure subProzedur1;
var
strPuffer: string;
begin
...
strPuffer := Clipboard.AsText;
...
end;
...
Kopiert den Inhalt eines Strings in die Zwischenablage:
...
procedure subProzedur2;
var
strPuffer: string;
begin
...
strPuffer := 'Hallo Welt';
Clipboard.AsText := strPuffer;
...
end;
...