home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Club Elmshorn Atari PD
/
CCE_PD.iso
/
pc
/
0400
/
CCE_0499.ZIP
/
CCE_0499.PD
/
README
< prev
next >
Wrap
Text File
|
1993-04-10
|
11KB
|
270 lines
TeXDraw wurde mit TDI-Modula-2 und den Magic-Tools von Peter Hel-
linger entwickelt (dürfte ohne groβe Änderungen auf dem neuen Me-
gamax-M2-Compiler laufen), kann mit entsprechendem Aufwand aber
auch in C o.ä. konvertiert werden (haha, viel Spaβ). Der Quellcode
kann von registrierten Benutzern gegen Einsendung einer Diskette und
eines adressierten und (ausreichend) frankierten Rückumschlag sowie
eines (eher symbolisch zu verstehenden) Obulus von 20,-- DM bei mir
angefordert werden. Ich hätte dann nur gerne Nachricht über vorge-
nommene Änderungen am Programm; vielleicht sind diese ja so gut, daβ
man sie der Allgemeinheit zuteil werden lassen sollte.
In meinem Programm wird ausgiebig Gebrauch von Routinen aus der
Magic-Lib und den Magic-Tools von Peter Hellinger gemacht. Diese
Routinen werden kommerziell vertrieben und dürfen deswegen nicht
weitergegeben werden. Wer also Interesse an diesen (wirklich
ausgezeichneten) Bibliotheken hat, wende sich an:
Peter Hellinger
Brunnengasse 51
8500 Nürnberg 1
Jetzt folgt eine kurze Beschreibung dieser Bibliotheken:
(P.S.: Nein, ich kriege keine Provision (leider) )
\
\ o
----------------------- cut here ------------------ x ------
/ o
/
---##-----##-----#######------#######-----##------#######----
---###---###----##-----##----##-----##----##-----##-----##---
---##-#-#-##----##-----##----##-----------##-----##----------
---##--#--##----#########----##---####----##-----##----------
---##-----##----##-----##----##-----##----##-----##----------
---##-----##----##-----##----##-----##----##-----##-----##---
---##-----##----##-----##-----#######-----##------#######----
MAGIC Modula's All purpose Gem Interface Cadre
¯¯¯¯¯ ¯ ¯ ¯ ¯ ¯
-----------------------------------------------------------------
Ein Vorschlag für eine systemübergreifende GEM-Schnittstelle in
Modula-2
-----------------------------------------------------------------
Version 2.01 vom 01.12.1990 (c) by Peter Hellinger
-----------------------------------------------------------------
1. MAGIC - Was ist das?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
MAGIC ist die Abkürzung für "Modula's All purpose Gem
Interface Cadre", was soviel wie "Von allen benutzter GEM-
Interface Stamm" bedeutet. Damit ist eigentlich schon klar,
um was es bei MAGIC geht: Um eine Modula-2-Bibliothek, die
einheitliche Systemaufrufe für das Betriebssystem der Atari
ST- und TT-Linie für möglichst alle Modula-2-Compiler die
im Handel sind bereitstellt.
Mit MAGIC steht zwar nicht zum ersten Mal aber doch um-
fangreicher als bisher eine Bibliothek zur Verfügung, die
die Programmierung von GEM-Applikationen vereinheitlichen
und vereinfachen soll. Durch die nahe Anlehnung an das
Profibuch, die hohe Flexibilität der Prozedur-Parameter
und der Verfügbarkeit für die meisten der auf dem ST
implementierten Modula-2-Compiler eignet sich MAGIC
hervorragend für die professionelle und semiprofessionelle
Programmentwicklung.
2. Compiler und Magie
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
MAGIC steht zur Zeit für folgende Modula-2 Compiler zur
Verfügung:
- Megamax-Modula-2
- TDI-Modula-2/ST
- Hänisch Modula-2/ST (Ab Januar 1991)
- SPC-Modula-2 (Mit Einschränkungen)
- LPR-Modula-2 PD-Modula der TU München (Mit Einschr.)
In Vorbereitung:
- FTL Modula-2/ST
- ANA Modula-2/68 Shareware-Compiler aus USA
Anpassungen an andere Compiler, Fehlerreports und Verbes-
serungsvorschläge bitte ich an untenstehende Adresse zu
senden. Siehe Anhang.
3. Jedem seinen Typ!
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Um den Anwender möglichst freie Hand bei der Typgestaltung
zu lassen, wurde auf das Verfahren der OPEN ARRAY's in
Modula-2 zurückgegriffen. Die Bibliothek ist daher für
falsche Parameter relativ anfällig, da hier das strenge
Typkonzept Modula's umgangen wird. Dafür steht es dem
Benutzer aber frei, beliebige eigene Datenstrukturen zu
verwenden; Hauptsache ist, daß die geforderten Daten in
der von GEM erwarteten Form im Speicher stehen.
4. MagicSys
¯¯¯¯¯¯¯¯
MagicSys ist der Versuch, compilerabhängige Dinge zu ver-
einheitlichen, bzw. vor den Klientmodulen zu verbergen.
Mit dem kommenden ISO-Standard werden auch Änderungen
betreffend der Größe der einzelnen Typen gültig werden. Um
diesen Umstand Rechung zu tragen, und vor allem weil die
verschiedenen Compiler auch unterschiedliche Typen - und
Größen - zur Verfügung stellen wurden für MAGIC einheit-
liche Typen festgelegt.
5. MagicTypes
¯¯¯¯¯¯¯¯¯¯
Mit MagicTypes erhalten Sie ein Modul, in dem wichtige
Strukturen des Atari-ST Betriebssystems deklariert sind.
Die Bezeichner und Strukturen richten sich nach dem Profi-
buch, Anhang C. Details entnehmen Sie bitte dort.
6. MagicStrings
¯¯¯¯¯¯¯¯¯¯¯¯
Als großes Hemmnis für compilerunabhängige Klientmodule
erweisen sich immer wieder die String-Manipulationen, die
doch sehr oft benötigt, aber für fast jeden Compiler
anders implementiert sind. MagicStrings stellt ein
langjährig (in einem Texteditor) erprobtes Modul zur
Stringmanipulation dar.
7. MagicConvert
¯¯¯¯¯¯¯¯¯¯¯¯
Ebenso wie Stringmanipulationen werden oft Zahlenkonver-
sionen von Strings in Zahlen oder umgekehrt notwendig.
Auch hier weichen die einzelnen spezifischen Implementa-
tionen stark voneinander ab. MagicConvert schafft Abhilfe.
8. Die System-Module
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Die System-Module implementieren den jeweiligen Abschnitt
des ST/TT-Betriebssystems:
MagicBIOS BIOS-Routinen
MagicXBIOS XBIOS-Routinen
MagicDOS GEMDOS-Routinen
MagicAES AES-Routinen
MagicVDI VDI-Routinen
Details können Sie den jeweiligen DEFINITION MODULEs
entnehmen.
9. Aus der Werkzeugkiste
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Was nützt der schnellste Compiler, was nützt die tollste
Programmiersprache, wenn man doch wieder das "Rad neu
erfinden" muß? Aus diesem Grund stehen ausser den in
Teil 1 beschriebenen Grundmodulen gemäß der MAGIC-
Philosophie die sogenannten MAGIC-TOOLS zur Verfügung, die
oft benötigte Programmteile sowie einige nicht so ohne
weiteres mögliche GEM-Spielereien zur Verfügung stellen.
Diese Module basieren allesamt auf den zuvor beschriebenen
MAGIC-Modulen und enthalten (fast) keinerlei compiler-
spezifischen Code.
10. MagicApplikation
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
MagicApplikation erledigt viele grundsätzliche Prozeduren
einer GEM-Applikation, wie etwa Anmelden beim AES, Öffnen
von VDI-Workstations, laden von GDOS-Fonts, auslesen der
Kommandozeile usw.
11. MagicArea
¯¯¯¯¯¯¯¯¯
MagicArea implementiert Routinen, die zum Sichern und
Restaurieren von Bildspeicher gedacht sind.
12. MagicDials
¯¯¯¯¯¯¯¯¯¯
Sicherlich haben Sie schon einmal die Programme RUFUS oder
GEMINI und die dort eingesetzten FlyDials, die verschieb-
und tastaturbedienbaren Dialogboxen mit dem "MacIntosh-
Feeling" gesehen und bewundert. MagicDials sind eine Sammlung
von Routinen, mit denen Sie gleiche oder ähnliche Dialogboxen
wie das berühmte Vorbild hervorzaubern können - mit einem
Minimum an Aufwand.
13. MagicAlerts
¯¯¯¯¯¯¯¯¯¯¯
MagicAlerts sind eine Anwendung der MagicDials. Das Modul
stellt Alertroutinen analog zu FormAlert des Original-AES
zur Verfügung.
14. MagicDir
¯¯¯¯¯¯¯¯
MagicDir implementiert Funktionen zur Pfad- und Filenamen-
Manipulationen, sowie Zugriff auf Fileselectorboxen.
15. MagicPopups
¯¯¯¯¯¯¯¯¯¯¯
MagicPopups stellen dem Programmierer Routinen zur
Verfügung, die aus normalen GEM-Menüzeilen Popupmenüs
generieren. ALLE Menus können auch über die Tastatur
bedient werden! Ab Version 2.01 können die Popups auch
- ähnlich den MagicDials - verschoben werden.
16. MagicMenus
¯¯¯¯¯¯¯¯¯¯
MagicMenus stellt Routinen zur Verfügung, die eine GEM-
Menüzeile IN einem Fenster darstellen und verwalten. Die
Menüzeile ist in Erscheinungsbild und Handling getreu nach
der Original-AES-Menüzeile gearbeitet.
17. MagicResource
¯¯¯¯¯¯¯¯¯¯¯¯¯
MagicResource implementiert Routinen, die es erlauben
mehrere Resource-Files in einer Applikation zu benutzen.
18. MagicTerminal
¯¯¯¯¯¯¯¯¯¯¯¯¯
MagicTerminal ist als vollständiger VT52-Treiber für
Fensterausgabe konzipiert. Die VT-52-Funktionen können
nicht nur mittels der exportierten Prozeduren aktiviert
werden, sondern auch über die bekannten Escape-Sequenzen,
die auch in einem String eingebettet sein können.
Zusätzlich werden die üblichen VDI-Effekte sowie hochge-
stellte und tiefgestellte Schrift unterstützt.
19. MagicWindows
¯¯¯¯¯¯¯¯¯¯¯¯
Dieses Modul übernimmt viele Standardfunktionen einer
Fensterverwaltung.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
A.1 Lieferumfang
¯¯¯¯¯¯¯¯¯¯¯¯
Auf der gelieferten Diskette sind alle Magic-Module sowohl
der MAGIC-LIB als auch der MAGIC-TOOLS im Quelltext
enthalten. Eine genaue Aufstellung entnehmen Sie bitte
der Datei INHALT.DOC auf der Lieferdiskette.
Sollten Sie Bedarf an weiteren Compiler-Anpassungen von
Magic haben, senden Sie bitte eine doppelseitig im Stan-
dard-TOS-Format formatierte 3.5"-Diskette sowie einen als
Warensendung frankierten Umschlag mit Ihrer Adresse an:
Peter Hellinger
Brunnengasse 51
8500 Nürnberg 1
Sie erhalten dann postwendend die neueste Version der
MAGIC-LIB und MAGIC-TOOLS, sowie alle vorliegenden
Implementationen für andere Modula-2-Compiler.
A.2 Service
¯¯¯¯¯¯¯
Sollten Sie Probleme mit MAGIC haben, können Sie ruhig
Kontakt über die obige Adresse mit mir aufnehmen. Wenn
Sie über ein Modem oder einen Akustikkoppler verfügen,
können Sie mich auch über folgende Mailboxen erreichen:
Peter Hellinger @ STA
MAUS Pöcking/Starnberg 08157-7626 300-2400bd 8N1
FIDO-Adresse: Peter Hellinger 2:246/7 oder 2:246/8
GENIE: P.HELLINGER
Über neue Versionen oder weitere Anpassungen von MAGIC
werden Sie in den obigen Medien bzw. von Application
Systems Heidelberg in deren Bekanntmachungen unterrichtet.