#block##pageblock# #pagenr("%",1)##setcount(1)##count per page# #headeven# gs-Menu-Generator #center#____________________________________________________________ #end# #headodd# #right#gs-Menu-Generator #center#____________________________________________________________ #end# #bottomeven# #center#____________________________________________________________ 6 - % #right#ERGOS #end# #bottomodd# #center#____________________________________________________________ ERGOS #right# 6 - % #end# #ib#6  Einbinden der Datei- und Archivoperationen#ie# Sie haben bereits erfahren, wie Sie eine Menukarte generieren und ankoppeln kön­ nen. Im letzten Kapitel haben wir Ihnen die Möglichkeiten aufgezeigt, innerhalb des Menus einen Dialog mit dem Benutzer zu führen. Sie sind somit in der Lage, Ihre eigenen Anwendungen unter der Benutzeroberfläche gs-DIALOG zu erstellen. Wie sich gezeigt hat, treten eine Reihe von Verarbeitungsfunktionen in nahezu jeder Anwendung auf. Im EUMEL-System benötigt man bei fast allen Anwendungspro­ grammen auch die Möglichkeiten, Dateien auf dem Archiv zu sichern oder von dort zu holen; auch Umbenennen, Kopieren, Drucken, Reorganisieren ... von Dateien zählen sicher zu den häufig benötigten Verarbeitungsfunktionen. Wünschenswert ist es natürlich, daß in allen Programmen unter einer Benutzeroberfläche die "Stan­ dard-Verarbeitungsfunktionen" in immer gleicher Weise zur Verfügung stehen! Dieser Vorteil liegt sogar nicht nur auf der Seite des Anwenders - auch der Anwen­ dungsprogrammierer profitiert davon: Dann nämlich, wenn er diese Standard-Verar­ beitungsfunktionen nicht immer neu schreiben muß, sondern auf vorgefertigte Prozeduren und natürlich auch auf die zugehörigen Informationstexte zurückgreift. Wir haben uns deshalb entschlossen, diese Standard-Verarbeitungsfunktionen zum Datei- und Archivhandling bereits in das Basissystem gs-DIALOG zu integrieren und Ihnen mit gs-Menu-Generator Dateien zur Verfügung zu stellen, in denen die Programme zur Einbindung dieser Prozeduren in Ihre eigenen Programmsysteme ebenso enthalten sind wie alle dazugehörigen Informationstexte. In diesem Kapitel soll nun beschrieben werden, wie Sie diese vorgefertigten Module in Ihre Menukarten/Programme einbinden können und was Sie dabei beachten müs­ sen. #ib#6.1 Einbinden der Archivoperationen#ie# Auf der von uns gelieferten Diskette 'gs-Menu-Generator', befindet sich auch die Datei 'Generatordatei: Archivmenu'. Darin ist das vollständige Menukarten-Generie­ rungs-Programm zur Generierung der Menukarte 'gs-MENUKARTE: Archiv' inclusive aller Informationstexte enthalten. U.a. befindet sich darin eben das folgende Pro­ gramm: oeffne menukarte ("Archiv"); oeffne menu ("ARCHIV", "", "menu archiv reservierung aufgeben"); oberbegriff ("Dateien"); menufunktion ("v", "Verzeichnis", "menu dateien verzeichnis", dateiverzeichnistext); trennlinie; menufunktion ("l", "Löschen", "menu dateien loeschen", dateiloeschentext); menufunktion ("d", "Drucken", "menu dateien drucken", dateidruckentext); trennlinie; menufunktion ("k", "Kopieren", "menu dateien kopieren", dateikopierentext); menufunktion ("u", "Umbenennen", "menu dateien umbenen­ nen", dateiumbenennentext); trennlinie; menufunktion ("s", "Speicherplatz", "menu dateien speicherplatz", dateispeicherplatztext); menufunktion ("a", "Aufräumen", "menu dateien aufraeumen", dateiaufraeumtext); oberbegriff ("Archiv", "menu archiv grundeinstellung (4)", "menu archiv reservierung aufgeben"); menufunktion ("r", "Reservieren", "menu archiv reservieren", archivreserviertext); menufunktion ("n", "Neue Diskette", "menu archiv neue diskette", neuediskettetext); trennlinie; menufunktion ("s", "Schreiben", "menu archiv schreiben", archivschreibtext); menufunktion ("c", "Checken", "menu archiv checken", archivchecktext); menufunktion ("k", "Kombination", "menu archiv schreibcheck", archivkombinationstext); menufunktion ("h", "Holen/Lesen", "menu archiv holen", archivholtext); menufunktion ("l", "Löschen", "menu archiv loeschen", archivloeschtext); trennlinie; menufunktion ("v", "Verzeichnis", "menu archiv verzeichnis", archivverzeichnistext); menufunktion ("d", "Drucken", "menu archiv verzeichnis drucken", archivdruckentext); trennlinie; menufunktion ("i", "Initialisieren", "menu archivinitialisieren", archivinitialisiertext); menufunktion ("z", "Zieltask einstellen", "menu archiv zieltask einstellen", archivzieltasktext); schliesse menu; schliesse menukarte; Wie schon oben erwähnt, sind auch alle Informationstexte in der Datei enthalten, die jeweils über den 4. Parameter der Prozeduren 'menufunktion' in die Menukarte eingebunden werden. Wir haben Sie hier nicht extra abgedruckt; Sie können ja die entsprechende Datei auf der Diskette einsehen! Zu dem Programm möchten wir jedoch noch einige wichtige Anmerkungen machen, damit Sie die entsprechenden Verarbeitungsfunktionen in Ihre Menukarte einbinden können. Wenden wir uns zunächst den Archivoperationen zu. gs-DIALOG stellt die folgenden Verarbeitungsfunktionen bereit: PROC #ib#menu archiv reservieren#ie#, PROC #ib#menu archiv neue diskette#ie#, PROC #ib#menu archiv schreiben#ie#, PROC #ib#menu archiv checken#ie#, PROC #ib#menu archiv schreibcheck#ie#, PROC #ib#menu archiv holen#ie#, PROC #ib#menu archiv loeschen#ie#, PROC #ib#menu archiv verzeichnis#ie#, PROC #ib#menu archiv verzeichnis drucken#ie#, PROC #ib#menu archiv initialisieren#ie#, PROC #ib#menu archiv zieltask einstellen#ie#, Durch diese elf Prozeduren werden die entsprechenden Menufunktionen ausgeführt. Außerdem werden noch folgende Prozeduren bereitgestellt: PROC #ib#menu archiv grundeinstellung#ie# (INT CONST ort) PROC #ib#menu archiv reservierung aufgeben#ie# Diesen beiden Prozeduren sollten Sie bei der Einbindung der Archivfunktionen in Ihre Menukarten besondere Beachtung schenken. Wie Sie im Programm auf der Seite zuvor sehen, taucht die Prozedur 'menu archiv reservierung aufgeben' gleich zweimal auf: einmal als 3.Parameter der Prozedur 'oberbegriff' und einmal als 3.Parameter der Prozedur 'oeffne menu' - und das aus folgendem Grund: Wenn der Benutzer die Archivoperationen verläßt, dann sollte automatisch das Archiv freigegeben werden, um so - auch bei Multi-User-Betrieb - ein einwandfreies Archiv­ handling zu gewährleisten. Nun kann der Benutzer das Pull-Down-Menu 'Archiv' aber eben auf zweierlei Weise verlassen: Einmal durch den Wechsel in ein anderes Pull- Down-Menu der gleichen Menukarte - oder aber er verläßt insgesamt das Menu. Im ersten Falle wird das Archiv abgemeldet, weil ja die als 3.Parameter bei 'oberbegriff' eingetragene Prozedur ausgeführt wird - im zweiten Falle, weil die als 3.Parameter bei 'oeffne menu' eingetragene Prozedur ausgeführt wird. Diese Eintragungen sollten Sie auf keinen Fall bei der Einbindung der Archivoperationen vergessen. Die Prozedur 'menu archiv grundeinstellung (INT CONST ort)' sollte bei den Archiv­ operationen immer als 2. Parameter in der Prozedur 'oberbegriff' übergeben wer­ den. Nur wenn diese Prozedur beim Entfallten des Archiv-Pull-Down-Menus ausge­ führt wird, ist die einwandfreie Funktion des Archivsystems sichergestellt. Dadurch geschieht nämlich folgendes: 1) Als Zieltask wird das Archiv der eigenen Station eingestellt - unabhängig davon, mit welcher Einstellung das Menu zuvor verlassen wurde. 2) Es wird die Zieltask auf dem Bildschirm angezeigt. 3) Die entsprechenden Menupunkte werden aktiviert bzw. deaktiviert. 4) Es wird festgelegt, an welcher Stelle innerhalb des Menus die Menunotiz zur Anzeige der Zieltask (und ggf. des Archivnamens) ausgegeben wird. Im Programm oben ist hierfür die Position 4 (rechts unten in der Ecke) gewählt. Wir haben diese Festlegung deswegen so getroffen, weil das Archiv-Pull-Down-Menu ziemlich weit links auf dem Bildschirm erscheint (es sind nur zwei Oberbegriffe eingetragen!). So stören sich Archiv-Pull-Down-Menu und die Menunotiz nicht gegen­ seitig. In unseren Anwendungssystemen 'gs-Herbert und Robbi' und 'gs-MP-BAP' haben wir dagegen die Position '3' eingetragen, damit die Menunotiz unten links in der Ecke erscheint, weil das Archiv-Pull-Down-Menu ganz rechts auf dem Bildschirm entfaltet wird. Achtung! Uns ist es sehr, sehr wichtig, daß zumindest die Archivfunktionen in allen Anwendungen unter gs-DIALOG in gleicher Weise zur Verfügung gestellt werden. Um das sicherzustellen, sind die Funktionen so in gs-DIALOG integriert, daß das System nur dann reibungslos funktioniert, wenn Sie sich an die eben aufgezeigten Regeln für die Einbindung in Ihr Anwendungssystem halten! Für die korrekte Funktionsweise muß im Archiv-Pull-Down-Menu auch immer exakt die Reihenfolge (der Aufbau) der Verarbeitungsfunktionen eingehalten werden. Auch die Namen sollten immer gleich gewählt werden! Wir hoffen, daß Sie als Programmierer für diese doch etwas rigorose Maßnahme Verständnis haben - dafür versichern wir Ihnen, daß wir sehr viel Gedanken und Arbeit in die Konstruktion des Archivsystems investiert haben! Auf eine Einschränkung muß allerdings noch hingewiesen werden:Das Archiv- Pull-Down-Menu kann aus technischen Gründen nicht das erste, ganz links in einem Menu stehende sein; es kann frühestens unter dem zweiten Oberbegriff in das Menu aufgenommen werden! Es ist z.Z. nicht möglich, im ganz links stehenden Pull- Down-Menu deaktivierte Menupunkte zu behandeln. #ib#6.2 Einbinden der Dateiopertionen#ie# gs-DIALOG stellt neben den Archivoperationen standardmäßig auch einige Dateiope­ rationen bereit. Folgende Prozeduren stehen zur Verfügung: PROC #ib#menu dateien verzeichnis#ie#, PROC #ib#menu dateien loeschen#ie#, PROC #ib#menu dateien drucken#ie#, PROC #ib#menu dateien kopieren#ie#, PROC #ib#menu dateien umbenennen#ie#, PROC #ib#menu dateien speicherplatz#ie#, PROC #ib#menu dateien aufraeumen#ie#. Die Prozeduren bedürfen in Ihrer Wirkung sicher kaum einer Erklärung. Die Wir­ kungsweise können Sie einfach ausprobieren, indem Sie die entsprechenden Ver­ arbeitungsfunktionen im Archiv-Menu einfach einmal aktivieren.