.ifdef THS
.topic
.insert code
 Unit ClipBrd
 

Die Unit ClipBrd stellt fr DOS- und DPMI-Anwendungen eine Zwischenablage
bereit, auf die im Windows-Stil zugegriffen werden kann. Luft Ihre Anwendung
in einer DOS-Box unter Windows, so werden die Funktionen der Windows-
Zwischenablage verwendet; ansonsten werden sie emuliert.

Dadurch kann Ihre Software am dynamischen Datenaustausch (DDE) teilnehmen,
ohne auf Windows angewiesen zu sein.

 Unit ClipBrd: Funktionen und Prozeduren
 Unit ClipBrd: Variablen                
 Zwischenablageformat-Konstanten        

 Nutzung der Windows-Zwischenablage     
 Emulation der Zwischenablage           
 Zwischenablage-Emulation erzwingen     

 Copyright und Nutzungsbestimmungen     

 Unit ClipBrd: Funktionen und Prozeduren
 

 CloseClipboard      
 EmptyClipboard      
 ForceEmulation      
 GetClipboardData    
 GetClipboardDataSize
 OpenClipboard       
 SetClipboardData    

 Verweis:  Unit ClipBrd

 Unit ClipBrd: Variablen
 

 var
   WinOldAp: Boolean;        READ ONLY

Der Initialisierungsteil der Unit ClipBrd speichert in dieser Variablen
das Ergebnis des Tests, ob die Anwendung in einer DOS-Box unter Windows
luft.

 Verweis:  Unit ClipBrd


 CloseClipboard         (Unit ClipBrd)
 

 function CloseClipboard: Boolean;

Die Funktion CloseClipboard schliet die Zwischenablage, so da andere
Anwendungen auf sie zugreifen knnen.

 Rckgabewert:  true, wenn erfolgreich.

Im emulierenden Modus hat CloseClipboard keine Funktion. Es wird stets
true zurckgegeben.


 EmptyClipboard         (Unit ClipBrd)
 

 function EmptyClipboard: Boolean;

Die Funktion EmptyClipboard leert die Zwischenablage. Zuvor mu die
Zwischenablage mittels OpenClipboard geffnet worden sein.

 Rckgabewert:  true, wenn erfolgreich.


 ForceEmulation         (Unit ClipBrd)
 

 procedure ForceEmulation;

Die Prozedur ForceEmulation erzwingt die Emulation der Zwischenablage, d.h.,
sie verhindert, da die Windows-Zwischenablagefunktionen verwendet werden.


 GetClipboardData       (Unit ClipBrd)
 

 function GetClipboardData(Format: Word; var Data): Boolean;

Die Funktion GetClipboardData fllt den Puffer Data mit einer Kopie des
Zwischenablageninhalts im angegebenen Format. Zuvor mu die
Zwischenablage mittels OpenClipboard geffnet worden sein.

 Rckgabewert:  true, wenn erfolgreich.

Verwenden Sie fr den Parameter Format die Formatkonstanten cf_XXXX.


 GetClipboardDataSize   (Unit ClipBrd)
 

 function GetClipboardDataSize(Format: Word): LongInt;

Die Funktion GetClipboardDataSize ermittelt die Gre der
Zwischenablagedaten im angegebenen Format.

 Rckgabewert:  Gre der Daten in Bytes.

Verwenden Sie fr den Parameter Format die Formatkonstanten cf_XXXX.


 OpenClipboard          (Unit ClipBrd)
 

 function OpenClipboard: Boolean;

Die Funktion OpenClipboard ffnet die Zwischenablage fr die aufrufende
Anwendung und sperrt sie fr alle anderen Anwendungen.

 Rckgabewert:  true, wenn erfolgreich.

Im emulierenden Modus hat OpenClipboard keine Funktion. Es wird stets
true zurckgegeben.


 SetClipboardData       (Unit ClipBrd)
 

 function SetClipboardData(Format: Word; var Data; Size: LongInt): Boolean;

Die Funktion SetClipboardData fgt Daten des angegebenen Formats in die
Zwischenablage ein. Zuvor mu die Zwischenablage mittels OpenClipboard
geffnet worden sein. Waren bereits Daten dieses Formats in der
Zwischenablage, so werden sie durch die neuen Daten ersetzt.

Der bergebene Speicherblock Data gehrt nach dem Aufruf von SetClipboardData
der Zwischenablage. Die Anwendung darf auf ihn nicht mehr zugreifen.

 Rckgabewert:  true, wenn erfolgreich.

 Parameter  Beschreibung
 
 Format     Verwendetes Datenformat (Konstanten cf_XXXX).
 Data       Speicherblock mit den Daten, dynamisch angelegt.
 Size       Gre des Speicherblocks in Bytes.


 cf_XXXX: Formate der Zwischenablage
 

 Konstante        Bedeutung
 
 cf_Text          ANSI-Text (verwendet von Windows-Anwendungen). Jede Zeile
                  endet mit CR/LF, der Text mit ASCII 0.
 cf_Bitmap        Windows-Bitmap.
 cf_MetaFilePict  Windows-Bild (Metafile).
 cf_SYLK          MS-Symbolic-Link-Format.
 cf_DIF           Software Arts' Data Interchange Format.
 cf_TIFF          Tag Image File Format.
 cf_OEMText       OEM-Text (verwendet von DOS-Anwendungen). Jede Zeile endet
                  mit CR/LF, der Text mit ASCII 0.
 cf_DIB           Ein Speicherblock, der die TBitmapInfo-Datenstruktur,
                  gefolgt von den Bitmap-Bits, enthlt.
 cf_Palette       Windows-Farbpalette.


 Verweis:  Unit ClipBrd


 Emulation der Zwischenablage
 

Luft Ihre Anwendung auerhalb von Windows, so werden die Windows-
Zwischenablagefunktionen emuliert.

 * Der Initialisierungsteil der Unit ClipBrd
   installiert eine Exit-Prozedur, die beim
   Verlassen des Programms die Daten in der
   Zwischenablage freigibt.

 * OpenClipboard und CloseClipboard sind
   ohne Funktion, da die Zwischenablage nur
   von einer Anwendung benutzt wird.

 Verweis:  Unit ClipBrd


 Verwendung der Windows-Zwischenablage
 

Luft Ihre Anwendung in einer DOS-Box von Windows, so werden die
Zwischenablagefunktionen von Windows verwendet.

Da Windows die Gre der Daten-Speicherblcke aufrundet, mu die von
GetClipboardDataSize zurckgegebene Gre nicht mit der bereinstimmen,
die beim SetClipboardData-Aufruf angegeben wurde.

Achten Sie darauf, da Sie den gesamten Block freigeben, nicht nur den
benutzten Speicherbereich. Verwenden Sie also z.B. statt StrDispose
direkt FreeMem.

 Verweis:  Unit ClipBrd


 Urheberrechtserklrung und allgemeine
 Nutzungsbestimmungen
 

Die Gesamtheit der Dateien des Softwareproduktes wird im
folgenden als "Software" bezeichnet.

 Urheberrecht (Copyright)

 Die "Software" ist weder "Public Domain",
 noch ist sie "Freeware". Sie ist urheber-
 rechtlich geschtzt durch bundesdeutsches
 und internationales Recht.

 Copyright (C) 1993, 1994 Matthias Kppe,
 Erzbergerstrae 12, D-39104 Magdeburg.
 Alle Rechte vorbehalten.

Durch die Verwendung der "Software" erkennen Sie die allgemeinen
Nutzungsbestimmungen an. Diese finden Sie in der Datei SOFTWARE.TXT.
Sollten Sie eine unvollstndige Kopie der "Software" haben, wenden Sie
sich an folgende Adresse:

 Matthias Kppe
 MKM GbR fr Softwareentwicklung
 Erzbergerstrae 12
 D-39104 Magdeburg

 Tel/Fax  +49 391 5430128
 CIS      [100331,174]

.end-code
.end-topic
.endif
