DDE

DDE ist die Abkürzung für "dynamic data exchange" und bedeutet, daß Windows-Programme untereinander Daten austauschen können. Seit Version 2.4 kann Kat-CeDe als DDE-Server dienen, d. h. Kat-CeDe kann seine Daten anderen Programmen auf Anforderung liefern. Damit das Client-Server-Konzept von DDE funktioniert, muß der DDE-Server (Kat-CeDe) entweder schon laufen, im gleichen Verzeichnis wie der Client stehen oder aber der Pfad von Kat-CeDe muß in der Umgebungsvariablen PATH in der AUTOEXEC.BAT eingetragen werden. Für die Programmierer unter den Kat-CeDe-Benutzern habe ich den Quelltext eines DDE-Clients sowie das ausführbare Programm beigepackt. Dieses Beispiel öffnet ein Fenster und stellt in diesem Fenster im Sekundentakt die Namen aller CDs in der Datenbank dar. Kat-CeDe stellt nur einen Service zur Verfügung und der heißt "KatCeDe3". Folgende Topics werden unterstützt:

1.      AnzahlCDs, Index ist ohne Bedeutung, liefert die Anzahl der CDs in der Datenbank zurück.

2.      Files, Index ist ohne Bedeutung, liefert die Summe aller Dateien im Datenbestand zurück.

3.      Dirs, Index ist ohne Bedeutung, liefert die Summe aller Verzeichnisse im Datenbestand zurück.

4.      CDFiles, Index=-1 liefert die Anzahl der Dateien in der aktuellen CD zurück. Index>=0, Index<AnzahlCDs liefert die Dateien von der gewünschten CD zurück.

5.      CDDirs, Index=-1 liefert die Anzahl der Verzeichnisse in der aktuellen CD zurück. Index>=0, Index<AnzahlCDs liefert die Verzeichnisse von der gewünschten CD + 1 zurück. Die +1 kommen vom Rootverzeichnis, das nicht abgefragt werden kann, aber aus internen Gründen immer vorhanden ist.

6.      CDLoadNummer Index>=0, Index<AnzahlCDs lädt die gewünschte CD und liefert den Namen zurück.

7.      CDLoadName Index=Name der CD, so wie er in der ComboBox steht, lädt die gewünschte CD und liefert ihren Namen zurück.

8.      CDName Index=-1 liefert den Namen der aktuellen CD zurück. Index>=0, Index<AnzahlCDs liefert den Namen der angegebenen CD zurück.

9.      CDLabel Index=-1 liefert das Label der aktuellen CD zurück. Index>=0, Index<AnzahlCDs liefert das Label der angegebenen CD zurück. Label ist der Name, der vom CD-Hersteller vergeben wurde. Eingeschränkt kann dieses Label zur Identifikation einer CD benutzt werden.

10.  CDKommentar Index=-1 liefert den Kommentar zur aktuellen CD zurück.

11.  CDAnzahlStart Index ist ohne Bedeutung, liefert die Summe aller Dateien/Verzeichnisse zurück, die "gemerkt" worden sind.

12.  CDStartFile Index>0, Index<=CDAnzahlStart liefert den Namen des gewünschten gemerkten Eintrags zurück.

13.  CDFileName Index>=0, Index<CDFiles liefert den Namen des Programmes zurück.

14.  CDFileParent Index>=0, Index<CDFiles liefert den Index auf das Elternverzeichnis vom Programm zurück.

15.  CDFileLength Index>=0, Index<CDFiles liefert die Dateilänge in KiloByte.

16.  CDFileLengthHex Index>=0, Index<CDFiles liefert die Dateilänge in KiloByte. Das Ergebnis ist ein HEX-String mit 8 Stellen, der eine Floatingpointzahl repräsentiert.

17.  CDFileFlag Index>=0, Index<CDFiles liefert die Dateiflags als HEX-String der Länge 8 zurück. 0x4000000 bedeutet, daß diese Datei "gemerkt" wurde. 0x20000000 bedeutet, daß es sich eventuell um eine gepackte Datei handelt, aber Kat-CeDe kennt das Packformat nicht. 0x00000002 bedeutet, daß im Kommentar eine Versionsinformation sein müßte. 0x00000001 bedeutet, daß im Kommentar eine CRC32-Summe enthalten ist.

18.  CDFileTimeDate Index>=0, Index<CDFiles liefert Uhrzeit und Datum der Datei.

19.  CDFileTime Index>=0, Index<CDFiles liefert Uhrzeit und Datum der Datei. Das Ergebnis ist ein Hex-Wert mit 16 Zeichen, der die FILETIME-Struktur darstellt.

20.  CDFileCopy Index>=0, Index<CDFiles kopiert die angegebene Datei in das Kopierverzeichnis, welches man in Kat-CeDe vorgegeben hat. Es wird der Pfad zurückgeliefert, in den die Datei kopiert wurde.

21.  CDFileCopyTo Index>=0, Index<CDFiles kopiert die angegebene Datei in ein Verzeichnis, welches vorher abgefragt wird. Es wird "OK" zurückgeliefert.

22.  CDDirName Index>=1, Index<CDDirs liefert den Namen des Verzeichnisses zurück.

23.  CDDirParent Index>=1, Index<CDDirs liefert den Index auf das Elternverzeichnis vom Verzeichnis zurück.

24.  CDDirFlag Index>=1, Index<CDDirs liefert 0 für ein normales und 1 für ein entpacktes Verzeichnis.

25.  CDDirLength Index>=1, Index<CDDirs liefert die Länge des Verzeichnisses.

26.  CDDirLengthHex Index>=1, Index<CDDirs liefert die Länge des Verzeichnisses. Das Ergebnis ist ein HEX-String mit 8 Stellen, der eine Floatingpointzahl repräsentiert.

27.  CDDirTimeDate Index>=1, Index<CDDirs liefert die Uhrzeit und das Datum des Verzeichnisses.

28.  CDDirFileTime Index>=1, Index<CDDirs liefert Uhrzeit und Datum der Datei. Das Ergebnis ist ein Hex-Wert mit 16 Zeichen, der die FILETIME-Struktur darstellt.

29.  CDDirCopy Index>=1, Index<CDDirs kopiert das angegebene Verzeichnis in das Kopierverzeichnis, welches man in Kat-CeDe vorgegeben hat. Es wird der Pfad zurückgeliefert, in den das Verzeichnis kopiert wurde.

30.  CDDirCopyTo Index>=1, Index<CDDirs kopiert das angegebene Verzeichnis in ein Verzeichnis, welches vorher abgefragt wird. Es wird "OK" zurückgeliefert.

31.  CDFileComment Index>=0; Index <CDFiles liefert, falls vorhanden, den Kommentar zu einer Datei zurück.

32.  CDDirComment Index>=1; Index <CDDirs liefert, falls vorhanden, den Kommentar zu einem Ordner zurück.

33.  System liefert einen String zurück, der alle erlaubten Topics enthält. Die einzelnen Topics sind durch ein TAB getrennt.

34.  Formats liefert TEXT zurück als Hinweis, daß der Datenaustausch nur mit CF_TEXT klappt.