home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / PHÖNIX41.LZH / LIESMICH.TX_ / LIESMICH
Text File  |  1993-10-16  |  21KB  |  533 lines

  1. Hinweise zur Benutzung des GEM-Klemmbrett-Accessories
  2. =====================================================
  3.  
  4. 1. Einleitung
  5.  
  6. Das Klemmbrett-Accessory (CLIPBRD.ACC) ist ein Programm, welches sich 
  7. als Applikation und als Accessory gleichzeitig einsetzen lä₧t. Es ist 
  8. Public Domain und darf nur als Ganzes weitergegeben werden. Hierzu 
  9. gehören die Dateien CLIPBRD.ACC, CLIPBRD.RSC und CLIPBRD.DOC. Das 
  10. Accessory ist ein Extrakt eines Demoprogramms aus dem Buch
  11.  
  12. "Vom Anfänger zum GEM-Profi" (Inside GEM),
  13.  
  14. welches beim Hüthig Buch Verlag Heidelberg im Februar '90 erschienen ist. 
  15. Auf der zum Buch beigefügten Diskette befinden sich die kompletten 
  16. Quelltexte und eine ausführliche Beschreibung der Interna des 
  17. Programms sowie aller bekannten GEM-Implementierungen und weitere 
  18. interessante Themen wie menschliche Informationsverarbeitung, Theorie
  19. und Praxis von Benutzeroberflächen und portable C-Programmierung.
  20.  
  21. CLIPBRD.ACC stellt eine Verwaltung des GEM-Klemmbretts (Clipboards) 
  22. dar. Das GEM-Klemmbrett ist ein Inhaltsverzeichnis auf einer Diskette, 
  23. Festplatte oder RAM-Disk. In diesem Inhaltsverzeichnis befinden sich 
  24. Dateien, auf die jede Applikation zugreifen kann, die das Klemmbrett 
  25. unterstützt. Die Dateien in diesem Klemmbrett haben jeweils ein 
  26. spezifisches Standardformat. Damit ist der Datenaustausch zwischen 
  27. Applikationen gewährleistet.
  28.  
  29. Das Inhaltsverzeichnis des GEM-Klemmbretts sollte sich der 
  30. Geschwindigkeit wegen auf einem schnellen Medium befinden, welches 
  31. au₧erdem beim Diskettentausch immer on-line ist. Aus diesem Grund ist 
  32. es ratsam, dieses auf der Festplatte oder einer RAM-Disk anzulegen, 
  33. d.h. ab Laufwerk C aufwärts. Ein Inhaltsverzeichnis könnte also 
  34. lauten:
  35.  
  36. C:\CLIPBRD\
  37.  
  38. Die Standardformate sind bereits von Digital Research vorgegeben, 
  39. wobei nicht alle Formate auf dem Atari benutzt werden müssen. 
  40. Zusätzlich zu den Standardformaten können Applikationen ihre eigenen 
  41. Formate auf dem Klemmbrett speichern. Diese müssen aber nicht 
  42. notwendigerweise von anderen Applikationen "verstanden" werden.
  43.  
  44. Alle Dateien im Klemmbrett, auch Scrap genannt, haben den gleichen 
  45. Namen, aber jeweils einen verschiedenen Suffix. Folgende Typen bzw. 
  46. Dateibezeichnungen werden vorgeschlagen:
  47.  
  48. SCRAP.CSV: Die Abkürzung bedeutet Comma-Separated-Values. Es handelt 
  49. sich um eine Liste von Zahlen oder Zeichenketten, die jeweils durch 
  50. Kommata getrennt sind.
  51.  
  52. SCRAP.TXT: Normaler ASCII-Text ohne spezielle Zeichen. Alle 
  53. druckbaren Zeichen des Zeichensatzes auf dem jeweiligen Rechner 
  54. können vorkommen. Von den Steuerzeichen sollten sinnvollerweise nur 
  55. CR/LF eventuell auch FF vorkommen.
  56.  
  57. SCRAP.GEM: GEM Metadateien sollten von allen objektorientierten 
  58. Zeichenprogrammen unterstützt werden. Aber auch Texteditoren sollten 
  59. sie einlesen und wenigstens darstellen können (Beispiel: Wordplus 
  60. unter GEM/3 und X/GEM).
  61.  
  62. SCRAP.IMG: GEM Bit-Image-Dateien sollten von allen pixelorientierten 
  63. Zeichenprogrammen unterstützt werden. Aber auch Texteditoren sollten 
  64. diese einlesen und wenigstens darstellen können. (Beispiel: 
  65. Wordplus).
  66.  
  67. SCRAP.DCA: Die "Document Contents Architecture" ist ein 
  68. Standardformat von IBM. Leider befindet sich in der 
  69. Originaldokumentation keine genaue Beschreibung dieses Formats.
  70.  
  71. SCRAP.USR: OEM-definiert.
  72.  
  73. Zusätzlich sollte noch mindestens ein weiteres Format unterstützt 
  74. werden:
  75.  
  76. SCRAP.DIF: Das DIF-Format dient zum Austausch von Daten zwischen 
  77. Programmen für Tabellenkalkulation, Präsentationsgrafik und 
  78. Datenbanken. Ihr Aufbau wird in verschiedenen Literaturstellen 
  79. aufgezeigt.
  80.  
  81. Alle Dateien mit dem Präfix SCRAP werden standardmä₧ig für den 
  82. Datenaustausch benutzt. Es können aber noch weitere Dateien mit 
  83. anderem Präfix im Klemmbrett-Verzeichnis vorkommen (z.B. SPOOL.TXT).
  84.  
  85.  
  86. 2. Datenaustausch
  87.  
  88. Damit Applikationen Daten austauschen können, müssen diese über 
  89. bestimmte Menüpunkte verfügen. Über Aktivierung dieser Menüs werden 
  90. dann entweder Dateien aus dem Klemmbrett in das aktuelle Dokument 
  91. (aktuelle Grafik) eingefügt oder Teile aus dem aktuellen Dokument 
  92. ausgeschnitten und im Klemmbrett abgelegt.
  93.  
  94. Die Menüpunkte sind bereits von vielen Programmen bekannt, sie lauten 
  95. Ausschneiden, Kopieren und Einfügen (Cut, Copy und Paste). Sie haben 
  96. folgende Bedeutung:
  97.  
  98. Ausschneiden (Cut): Der vorher ausgewählte Block wird ausgeschnitten 
  99. und aus dem Original-Dokument entfernt. Vorher werden alle Dokumente 
  100. SCRAP.* aus dem Klemmbrett gelöscht (sogenanntes "scrp_clear") und der 
  101. ausgeschnittene Block auf das Klemmbrett geschrieben. Der Name lautet 
  102. dort SCRAP.* (der * steht für das entsprechende Suffix). Es können 
  103. dann mehrere Dateien mit Präfix SCRAP. vorkommen, falls ein Programm 
  104. ein spezielles Format benutzt. Beim Wordplus wird beispielsweise 
  105. sowohl eine Datei SCRAP.TXT (Standard ASCII-Format) als auch eine 
  106. Datei SCRAP.1WP (Wordplus Format mit Attributen) erzeugt.
  107.  
  108. Kopieren (Copy): Wie "Ausschneiden", aber ohne Löschen des Originals.
  109.  
  110. Einfügen (Paste): Aus dem Klemmbrett wird das entsprechende Stück 
  111. gelesen und an die aktuelle Cursorposition eingefügt. Der Inhalt des 
  112. Klemmbretts bleibt unberührt.
  113.  
  114. Zusätzlich haben sich die folgenden Menüpunkte bewährt:
  115.  
  116. Löschen (Delete): Wie "Ausschneiden" jedoch ohne Zwischenspeichern auf 
  117. dem Klemmbrett.
  118.  
  119. Alles auswählen (Select all): Markieren des gesamten Dokumentes zum 
  120. nachfolgenden Bearbeiten.
  121.  
  122. Die Routinen der meisten Programme, die einen Cut/Copy/Paste- 
  123. Algorithmus anbieten, arbeiten jedoch im Speicher, so da₧ der 
  124. eigentliche Datenaustausch unterdrückt wird. Dadurch steigert sich 
  125. allerdings die Geschwindigkeit, da nicht über ein externes Medium 
  126. gegangen werden mu₧.
  127.  
  128. Um beide Möglichkeiten zu realisieren, müssten die Menüs doppelt 
  129. vorhanden sein, also einmal für den schnellen Hauptspeicher und 
  130. einmal für das externe Klemmbrett.
  131.  
  132. Um Menüs zu sparen, sind z.B. im CLIPBRD.ACC die jeweiligen Menüpunkte 
  133. für das Bearbeiten nur einmal vorhanden. Ein Schalter (Auf GEM-
  134. Klemmbrett) regelt dann die Ausführung der Operationen derma₧en, da₧ 
  135. sie entweder im Speicher oder auf dem Klemmbrett arbeiten.
  136.  
  137.  
  138. 3. Bedienung von CLIPBRD.ACC
  139.  
  140. Um CLIPBRD.ACC zu installieren, müssen lediglich die Dateien 
  141. CLIPBRD.ACC und CLIPBRD.RSC auf die Boot-Diskette oder die Festplatte 
  142. kopiert werden. Wem der Speicher zu wertvoll ist (CLIPBRD belegt etwa 
  143. 75 KB), kann CLIPBRD.ACC auch in CLIPBRD.PRG umbenennen. Der Ablauf 
  144. des Programms und die Bedienung ist bis auf die Bedienung der 
  145. Menüzeile die gleiche, wie es sich für ein sauber programmiertes 
  146. Applikations-Accessory gehört. Die in einem Accessory fehlende 
  147. Menüzeile wird in dessen Fenster dargestellt. Das Programm läuft 
  148. au₧erdem in jeder Auflösung und auf Gro₧bildschirmen und mit jeder 
  149. GEM-Version.
  150.  
  151. Beim Starten des Accessories über das Menü "GEM-Klemmbrett" des 
  152. Deskaccessory-Menüs bzw. durch Doppelklick auf CLIPBRD.PRG öffnet sich 
  153. ein Fenster, welches den aktuellen Inhalt des Klemmbretts anzeigt. Die 
  154. Anzeige entspricht in etwa dem des GEM-Desktop, wobei für die Dateien, 
  155. welche im Standardformat vorliegen, ausgewählte Piktogramme benutzt 
  156. werden.
  157.  
  158. Beim Betrieb als Accessory enthält das Fenster eine scrollbare 
  159. Menüzeile, die dadurch angewählt wird, da₧ in diese geklickt wird. 
  160. Wird dabei der Mausknopf gedrückt gehalten, so entspricht die 
  161. Bedienung der einer Macintosh-Menüleiste, d.h. durch Loslassen des 
  162. Knopfes wird ein Menü ausgewählt. Wurde nur kurz in die Menüleiste 
  163. geklickt, so fällt das Menü herunter, wobei die Bedienung der einer 
  164. GEM-Menüleiste entspricht. Durch nochmaliges Klicken wird ein 
  165. Menüpunkt ausgewählt.
  166.  
  167. Die Menüpunkte im einzelnen:
  168.  
  169. CLIPBRD:
  170.  
  171. - Über Clipbrd...
  172.  
  173. Bringt eine entsprechende Meldung.
  174.  
  175.  
  176. Datei:
  177.  
  178. - Öffnen
  179.  
  180. Ist eine oder sind mehrere Dateien im Fenster angewählt, so werden 
  181. diese geöffnet, d.h. ihr Inhalt in echten Fenstern angezeigt. Dabei 
  182. werden Metadateien und Bit-Image-Dateien entsprechend ihrem Suffix 
  183. angezeigt. Alle anderen Dateien werden als Textdateien angezeigt.
  184.  
  185. Das Selektieren von Objekten geschieht in der im Desktop üblichen 
  186. Weise, also durch Anklicken. Sollen mehrere Objekte angewählt werden, 
  187. so kann dies durch zusätzliches Drücken der Shift-Taste erreicht 
  188. werden. Auch das Einrahmen mittels eines Gummibandes ist möglich. 
  189. Selektierte Objekte bleiben angewählt, auch wenn die Anzeigeart von 
  190. Icons auf Text umgeschaltet wird.
  191.  
  192. Ist kein Objekt (Datei) selektiert, so wird zunächst das Klemmbrett-
  193. Fenster geöffnet bzw. nach oben gebracht. Ist dieses bereits oben, so 
  194. öffnet sich die Dateiauswahl-Box, in der eine Datei angewählt werden 
  195. kann, die dann angezeigt wird.
  196.  
  197.  
  198. - Schlie₧en
  199.  
  200. Schlie₧t das oberste Fenster.
  201.  
  202. - Info...
  203.  
  204. Zeigt entweder Information über ein angewähltes Objekt oder über das 
  205. oberste Fenster, falls kein Objekt angewählt wurde.
  206.  
  207. - Hilfe...
  208.  
  209. Zeigt entweder eine Hilfe-Meldung über ein angewähltes Objekt oder 
  210. über das oberste Fenster, falls kein Objekt angewählt wurde.
  211.  
  212. - Drucken
  213.  
  214. Druckt die angewählten Objekte aus. Diese können Text oder Grafik 
  215. beinhalten. Für die Grafikausdrucke mu₧ allerdings das GDOS 
  216. installiert sein.
  217.  
  218. - An Ausgabe
  219.  
  220. Wenn das Programm als Applikation gestartet wurde, kann damit das 
  221. GEM-OUTPUT aufgerufen werden. Es werden die Dateinamen übergeben, die 
  222. aktuell angewählt sind. OUTPUT.APP mu₧ sich allerdings im selben 
  223. Inhaltsverzeichnis befinden wie CLIPBRD.PRG.
  224.  
  225. - Ende
  226.  
  227. Beendet das Programm bzw. schlie₧t alle Fenster des Accessories.
  228.  
  229.  
  230. Bearbeiten:
  231.  
  232. - Undo
  233.  
  234. Hier nicht implementiert.
  235.  
  236. Die Menüpunkte "Ausschneiden", "Kopieren" und "Einfügen" können nur 
  237. dann auf die Objekte des Klemmbrettfensters angewendet werden, wenn 
  238. der Schalter "Auf GEM-Klemmbrett" eingeschaltet ist. Sie haben dann 
  239. folgende Bedeutung:
  240.  
  241. - Ausschneiden
  242.  
  243. Das ausgewählte Original wird gelöscht, aber eine Kopie davon auf das 
  244. Klemmbrett abgelegt. Dies entspricht einem Umbenennen. Hei₧t das 
  245. Original "TEST.TXT", so wird also zunächst ein eventuell vorhandenes 
  246. "SCRAP.TXT" gelöscht, dann "TEST.TXT" in "SCRAP.TXT" umbenannt. Dies 
  247. bedeutet, da₧ danach immer eine Datei mit demselben Suffix wie das 
  248. Original existiert, jedoch hat es den Präfix SCRAP.
  249.  
  250. - Kopieren
  251.  
  252. Wie Ausschneiden, wobei das Original erhalten bleibt. Es existieren 
  253. also dann zwei identische Dateien, z.B. "TEST.TXT" und "SCRAP.TXT".
  254.  
  255. - Einfügen
  256.  
  257. Um den Inhalts des Klemmbretts um mehrere Ebenen zu erweitern hat der 
  258. Menüpunkt "Einfügen" folgende Wirkung: Alle Dateien mit Präfix 
  259. "SCRAP." werden auf dem Klemmbrett-Inhaltsverzeichnis noch einmal 
  260. angelegt, und zwar als Kopien. Dabei wird an das Präfix noch eine 
  261. eindeutige dreistellige Zahl angehängt. Beispiel:
  262.  
  263. Exsistiert auf dem Klemmbrett die Datei SCRAP.TXT, und wird "Einfügen" 
  264. aufgerufen, so wird SCRAP.TXT in SCRAP001.TXT kopiert. Wird noch 
  265. einmal "Einfügen" aufgerufen, so existiert danach zusätzlich die Datei 
  266. SCRAP002.TXT. Der Sinn hinter diesem Menüpunkt liegt darin zu suchen, 
  267. aus einem Anwenderprogramm mehrere Teile auszuschneiden und diese in 
  268. einem anderen Programm einzufügen. Man geht dann folgenderma₧en vor 
  269. (der Schalter "Auf GEM-Klemmbrett" der Applikation sei jeweils 
  270. eingeschaltet, das Accessory CLIPBRD.ACC installiert und dessen 
  271. Fenster jeweils geöffnet):
  272.  
  273. a) Einen Teil aus dem Dokument des Anwenderprogramms auswählen
  274. b) Ausschneiden oder Kopieren aus dem Bearbeiten-Menü der Applikation 
  275.    wählen
  276. c) Einfügen aus dem Bearbeiten-Menü von CLIPBRD.ACC wählen
  277. d) Schritte a) bis c) für andere Teile des Dokumentes wiederholen
  278. e) Applikation beenden und andere Applikation starten
  279. f) Cursor an die Stelle setzen, wo eingefügt werden soll
  280. g) Einfügen aus dem Bearbeiten-Menü der Applikation wählen ("Auf GEM-   
  281.    Klemmbrett" mu₧ eingeschaltet sein)
  282. h) Ein Dokument aus dem Klemmbrett-Fenster anwählen (z.B. 
  283.    SCRAP002.TXT)
  284. i) Ausschneiden oder Kopieren aus dem Bearbeiten-Menü von CLIPBRD.ACC 
  285.    wählen, je nachdem, ob die Kopie erhalten bleiben soll oder nicht
  286. j) Scritte f) bis i) wiederholen, bis alle Dokumentteile eingefügt 
  287.    sind
  288.  
  289. - Löschen
  290.  
  291. Der Menüpunkt ist aktiv, wenn mindestens ein Objekt im 
  292. Klemmbrettfenster angewählt ist.
  293.  
  294. - Alles auswählen
  295.  
  296. Der Menüpunkt ist immer aktiv, wenn mindestens ein Objekt im 
  297. Klemmbrettfenster existiert. Damit werden alle sichtbaren Objekte auf 
  298. einmal ausgewählt.
  299.  
  300. - Auf GEM-Klemmbrett
  301.  
  302. Der Schalter sollte immer aktiv sein, da die oben angeführten 
  303. Operationen nur auf das Klemmbrett wirken. Ist der Schalter 
  304. ausgeschaltet, so kann nur der Menüpunkt "Löschen" angewählt werden 
  305. sofern ein Objekt selektiert ist.
  306.  
  307.  
  308. Anzeigen:
  309.  
  310. - Als Text
  311. - Als Icons
  312.  
  313. Schaltet zwischen den beiden möglichen Darstellungen um. Selektierte 
  314. Objekte bleiben selektiert.
  315.  
  316. - SCRAP.* etc.
  317.  
  318. Zeigt nur die Dateien an, die der Spezifikation genügen.
  319.  
  320.  
  321. Optionen:
  322.  
  323. - Einstellungen...
  324.  
  325. Öffnet eine Dialogbox, in der bestimmte Einstellungen getroffen 
  326. werden können. Dazu gehört die Blinkrate für Menüs im Fenster und 
  327. Pop-Up-Menüs, die Angabe, ob bei Fehlermeldungen ein akustisches 
  328. Warnsignal ausgegeben werden soll und die Angabe, ob ein sich 
  329. ausdehnendes oder zusammmenziehendes Rechteck bei Öffnungs- und 
  330. Schlie₧vorgängen gezeichnet werden soll. Ferner können die 
  331. Warnmeldungen vor dem Löschen oder Überschreiben einer Datei 
  332. abgeschaltet werden.
  333.  
  334. - Einstellungen sichern
  335.  
  336. Die Einstellungen werden in der Datei CLIPBRD.INF auf dem Laufwerk, 
  337. auf dem sich CLIPBRD.ACC befindet, gespeichert. CLIPBRD.INF ist eine 
  338. normale ASCII-Datei, die mit jedem Editor editiert werden kann. Zu den 
  339. abgespeicherten Werten gehören:
  340.  
  341. Zeile 1: Der Pfadname für das GEM-Klemmbrett
  342. Zeile 2: Die Schalter "Auf GEM-Klemmbrett", "Als Icons/Text", die 
  343. Auswahl der Dateimaske, die Blinkrate, das akustische Warnsignal, die 
  344. Grow-Shrink-Box, die Warnmeldung und die Position des 
  345. Klemmbrett-Fensters.
  346.  
  347. Die Datei könnte also folgenderma₧en aussehen:
  348.  
  349. C:\CLIPBRD\
  350. 1 1 1 3 1 1 1 32 128 560 96
  351.  
  352. Ist die Datei beim Starten des Accessories bzw. der Applikation 
  353. vorhanden, so wird diese eingelesen und entsprechend ausgewertet. Der 
  354. letzte '\' beim Pfad kann auch entfallen.
  355.  
  356. Ist die Datei CLIPBRD.INF nicht vorhanden, so werden Standardwerte 
  357. benutzt. Der Klemmbrett-Pfad wird genau dann gesetzt, wenn er nicht 
  358. schon vorher gesetzt war. Beim Setzen wird versucht, ein schnelles 
  359. Laufwerk (ab Laufwerk C) zu suchen. Ist keines vorhanden, so wird 
  360. Laufwerk A benutzt. Als Standardpfad wird immer \CLIPBRD gewählt.
  361.  
  362. - Fonts laden
  363.  
  364. Um Metadateien mit Proportionalschrift richtig ausgeben zu können 
  365. müssen vorher die Fonts geladen werden. Das kann aber nur geschehen, 
  366. wenn das GDOS geladen ist.
  367.  
  368. - Fonts freigeben
  369.  
  370. Die vorher geladenen Fonts werden wieder freigegeben.
  371.  
  372. Ist eine Metadatei geöffnet, so kann in das Fenster geklickt werden. 
  373. Es öffnet sich ein Pop-Up-Menü, welches genauso zu bedienen ist wie 
  374. eine Drop-Down-Menü der Menüzeile im Fenster. Das Menü bietet die 
  375. drei Wahlmöglichkeiten "Info...", "Original" und "Einpassen".
  376.  
  377. - Info
  378.  
  379. Zeigt ausführliche Informationen über die Metadatei an.
  380.  
  381. - Original
  382.  
  383. Die Metadatei wird in Originalgrö₧e im Fenster dargestellt. Nicht 
  384. sichtbare Teile können durch Scrolling eingesehen werden.
  385.  
  386. - Einpassen
  387.  
  388. Die Metadatei wird immer in der Grö₧e des Fensters angezeigt. Es ist 
  389. nicht möglich zu scrollen.
  390.  
  391.  
  392. 4. Kommunikation mit CLIPBRD
  393.  
  394. Für die Kommunikation mit dem installierten Accessory gilt folgendes:
  395.  
  396. Eine Applikation sollte über das Bearbeiten-Menü wie oben beschrieben 
  397. verfügen. Nach Einschalten von "Auf GEM-Klemmbrett" kann dann über 
  398. "Ausschneiden" oder "Kopieren" ein Teil eines Dokumentes oder einer 
  399. Grafik auf das GEM-Klemmbrett geschrieben werden. Dazu mu₧ die 
  400. Applikation ein "scrp_read" aufrufen, um den Namen des 
  401. Inhaltsverzeichnisses festzustellen. An dieses hängt es den Namen der 
  402. Datei an, also z.B. SCRAP.GEM. Die Datei wird dann auf das Klemmbrett 
  403. geschrieben, so da₧ sich z.B. der Name
  404.  
  405. C:\CLIPBRD\SCRAP.GEM
  406.  
  407. ergibt. Es bleibt der Applikation vorbehalten, mehrere Dateien auf das 
  408. Klemmbrett schreiben, z.B. SCRAP.TXT und SCRP.1WP. Die eine Datei hat 
  409. dann ein Standardformat wie oben beschrieben, die andere ein 
  410. applikationsspezifisches Format.
  411.  
  412. Um nun Dateien vom Klemmbrett wieder einzulesen kann jede Applikation 
  413. den Menüpunkt "Einfügen" zur Verfügung stellen, wobei vorher der 
  414. Schalter "Auf GEM-Klemmbrett" eingeschaltet ist. Durch ein
  415. "scrp_read" wird der Pfad des Klemmbretts festgestellt und dann die
  416. entsprechende Datei geladen, d.h. bei Text-Applikationen z.B. 
  417. SCRAP.TXT, bei Zeichen- und Malprogrammen z.B. SCRAP.GEM oder 
  418. SCRP.IMG, bei Datenbanken oder Tabellenkalkulationen SCRAP.DIF.
  419.  
  420. Da nach dem Kopieren auf das GEM-Klemmbrett die Applikation verlassen 
  421. und eine andere Applikation aufgerufen werden kann, können Daten 
  422. ausgetauscht werden, wenn das GEM-Klemmbrett nicht gelöscht wird und 
  423. beide Applikationen den gleichen Algorithmus verwenden. Dies ist Sinn 
  424. und Zweck des Klemmbretts, so da₧ an dieser Stelle der Aufruf an alle 
  425. Software-Entwickler geht, das Klemmbrett dadurch zu unterstützen, da₧ 
  426.  
  427. - die entsprechenden Menüpunkte zugänglich gemacht werden und 
  428.   entsprechend funktionieren
  429. - der Pfad des Klemmbretts verwendet wird, wenn er voreingestellt ist
  430. - der Pfad des Klemmbretts nach dem gleichen Algorithmus eingestellt 
  431.   wird wie durch das Programm CLIPBRD.ACC, falls dieses nicht 
  432.   installiert ist (s.o.) bzw. noch kein anderes Programm den Pfad 
  433.   gesetzt hat
  434.  
  435. Ist CLIPBRD.ACC installiert, so kann die Applikation sich dies zunutze 
  436. machen, indem es Nachrichten an CLIPBRD.ACC schickt. Dazu werden über 
  437. die GEM Message Pipe vordefinierte Nachrichten verschickt. Die 
  438. Nachrichten haben folgende Nummern (C-Schreibweise):
  439.  
  440. #define SCRP_OK    1000
  441. #define SCRP_NOTOK 1001
  442. #define SCRP_UPDT  1002
  443. #define SCRP_OPEN  1003
  444.  
  445. Jede Nachricht an das Accessory bewirkt auf jeden Fall eine positive 
  446. oder negative Antwort. Durch die Nachricht SCRP_UPDT kann das 
  447. Accessory veranla₧t werden, das Klemmbrett-Fenster neu anzuzeigen. 
  448. Dies bietet sich an, wenn über die Applikation der Inhalt des 
  449. Klemmbretts geändert wurde, also eine "Ausschneiden"- oder 
  450. "Kopieren"-Operation stattgefunden hat. Die Applikation sendet dann 
  451. die Nachricht SCRP_UPDT an ein eventuell vorhandenes CLIPBRD.ACC.
  452.  
  453. Beispiel (In ANSI-C Schreibweise unter Einbeziehung von PORTAB.H):
  454.  
  455. GLOBAL VOID scrp_updt (VOID)
  456.  
  457. {
  458.   WORD scrp_id;
  459.   WORD msg [8];
  460.  
  461.   msg [0] = SCRP_UPDT;
  462.   msg [1] = gl_apid;
  463.   msg [2] = 0;
  464.  
  465.   scrp_id = appl_find ("CLIPBRD ");
  466.  
  467.   if (scrp_id != -1)
  468.     appl_write (title, sizeof (msg), msg);
  469. } /* scrp_updt */
  470.  
  471. Zunächst wird der Nachrichtenpuffer gefüllt. Danach wird die 
  472. Applikationsnummer von CLIPBRD.ACC gesucht. Ist sie gefunden, so wird 
  473. an diese die Nachricht gesendet. Man beachte, da₧ nur die ersten drei 
  474. Worte der Nachricht eine Bedeutung haben. Nach einem "appl_write" 
  475. können in der Multi-Event-Schleife die Nachrichten SCRP_OK oder 
  476. SCRP_NOTOK auftauchen. Erstere wird an die Applikation geschickt, 
  477. wenn alles in Ordnung war, die negative Rückmeldung, wenn das 
  478. Klemmbrett-Fenster nicht geöffnet war.
  479.  
  480. Die Nachricht SCRP_OPEN bewirkt, da₧ Dateien auf dem Klemmbrett oder
  481. beliebige Dateien angezeigt werden können. Dies kann verwendet werden,
  482. wenn die Applikation dem Benutzer anzeigen möchte, was bei einem
  483. "Einfügen"-Vorgang eingefügt werden würde.
  484.  
  485. Beispiel (In ANSI-C Schreibweise unter Einbeziehung von PORTAB.H):
  486.  
  487. GLOBAL VOID scrp_open (BYTE *filename)
  488.  
  489. {
  490.   WORD scrp_id;
  491.   WORD msg [8];
  492.  
  493.   msg [0] = SCRP_OPEN;
  494.   msg [1] = gl_apid;
  495.   msg [2] = 0;
  496.   msg [3] = strlen (filename);
  497.   msg [4] = (WORD)((LONG)filename & 0xFFFF);
  498.   msg [5] = (WORD)((LONG)filename >> 16);
  499.  
  500.   scrp_id = appl_find ("CLIPBRD ");
  501.  
  502.   if (scrp_id != -1)
  503.     appl_write (title, sizeof (msg), msg);
  504. } /* scrp_open */
  505.  
  506. Zunächst wird der Nachrichtenpuffer gefüllt. Neben der Nachricht mu₧ 
  507. auch die Länge der Dateinamen und die Dateinamen selbst übergeben 
  508. werden. Diese werden jeweils durch ein Leerzeichen getrennt. Die 
  509. Adresse der Dateinamen wird in niederwertiges und höherwertiges Wort 
  510. aufgeteilt. Danach wird die Applikationsnummer von CLIPBRD.ACC gesucht. 
  511. Ist sie gefunden, so wird an diese die Nachricht gesendet. Man 
  512. beachte, da₧ nur die ersten sechs Worte der Nachricht eine Bedeutung 
  513. haben. Nach einem "appl_write" können in der Multi-Event-Schleife die 
  514. Nachrichten SCRP_OK oder SCRP_NOTOK auftauchen. Erstere wird an die 
  515. Applikation geschickt, wenn alles in Ordnung war, die negative 
  516. Rückmeldung, wenn eine der Dateien nicht geöffnet werden konnte.
  517.  
  518. Ist der Dateiname leer, so wird das Klemmbrettfenster selbst geöffnet.
  519.  
  520. Wir hoffen, da₧ sich unter den Software-Entwicklern die Einsicht 
  521. durchsetzt, da₧ der Austausch von Daten zwischen verschiedenen 
  522. Applikationen und damit die Integration der Applikationen dem Benutzer 
  523. eher nützlich ist, als das Festhalten an einem Datenformat, welches 
  524. inkompatibel mit allen anderen ist.
  525.  
  526. Das Accessory CLIPBRD.ACC mag in diesem Sinne als Hilfsmittel dienen, 
  527. dessen Sinn und Nutzen umso grö₧er ist, je mehr Applikationen das GEM-
  528. Klemmbrett unterstützen.
  529.  
  530.  
  531. Dieter & Jürgen Gei₧, Februar 1990
  532.  
  533.