Index of /atarilibrary/atari_cd02/UNPACKED/UTILS/KOLUMBUS
Name Last modified Size Description
Parent Directory 11-May-2007 20:49 -
BESTELL 06-Dec-1992 00:00 2k
DESK.DSK 06-Dec-1992 00:00 1k
FGREP.TTP 06-Dec-1992 00:00 9k
FTREE.TTP 06-Dec-1992 00:00 7k
GNU.ENV 06-Dec-1992 00:00 1k
GREP.TTP 06-Dec-1992 00:00 10k
INTERN/ 11-May-2007 20:49 -
KOLUM199.APP 06-Dec-1992 00:00 72k
KOLUMBUS.RSC 06-Dec-1992 00:00 22k
OKI92.EXP 06-Dec-1992 00:00 1k
SOZOBON.MAK 06-Dec-1992 00:00 1k
TURBOC.MAK 06-Dec-1992 00:00 1k
UNI.MAK 06-Dec-1992 00:00 1k
XLISP.MAK 06-Dec-1992 00:00 1k
YACCLEX.MAK 06-Dec-1992 00:00 1k
README Datei fr KOLUMBUS V1.99/V2.00
*********************************************************************
Inhalt:
-----------
-Copyright
-Inhalt der KOLUMBUS-Diskette
-šbersicht
-Highlights
-Hinweise zur Installierung
-Quickstart
-Hinweise zu ausgew„hlten Funktionen
-Allgemeine Hinweise
-Hinweise zur Textformatierung
-Ausgabe des formatierten Textes
-Hinweise zur Umlenkung der Ein-/Ausgabe
-Probleme bei der Ein- Ausgabeumlenkung
-Hinweise zum KOLUMBUS/Make-Utility
-EINFšHRUNG in KOLUMBUS/Make
-KOLUMBUS/Make Optionen
-Hinweise zum Gebrauch des Makeutilities.
-Allgemeine Problempunkte
-KOLUMBUS V2.00
-Autor
KOLUMBUS V1.99/V2.00 Copyright (C) 1990/91/92/93 by J”rg Otte
-------------------------------------------------------------
KOLUMBUS V1.99/V2.00 ist Shareware. Alle Dateien
auf der KOLUMBUS-Diskette sind urheberrechtlich
geschtzt. Unerlaubte Kopierung , Vervielf„lti-
gung, Verleih ist untersagt. Jegliche unautori-
sierte Nutzung wird straf- und zivilrechtlich
verfolgt.
Diskettenkopien drfen lediglich zum Zweck der
Datensicherheit angefertigt werden.
Die Sharewaregebhr betr„gt DM 40,-
Inhalt der KOLUMBUS-Diskette:
-----------------------------
--OUTEMP tempor„re datei fr standart ausgabe
--TREE-- tempor„re datei fr den laufwerksbaum
KOLUMBUS.199
BESTELL registrierungs- und bestellformular
README diese datei
KOLUM199 APP
KOLUMBUS RSC
UNI MAK beispiele fr makedateien
XLISP MAK -"-
SOZOBON MAK -"-
TURBOC MAK -"-
YACCLEX MAK -"-
DESK DSK beispiel einer dektop datei
GNU ENV beispiel environmentdatei fr GNU 1.39
OKI92 EXP beispiel exportdatei
FGREP TTP utility programme
GREP TTP -"-
FTREE TTP -"-
INTERN
KOLUMBUS CNF setting datei
FI HLP online helptexte
EX HLP -"-
DR HLP -"-
ED HLP -"-
FO HLP -"-
šbersicht:
----------------------------------------
War KOLUMBUS V1.00 noch vornehmlich als Progammentwicklungsumgebung
konzipiert, habe ich bei V1.99/V2.00 besonderen Wert auf eine allge-
meine Verwendbarkeit gelegt.
Auch ein Entwickler schreibt manchmal einen Brief oder eine Bedie-
nungsanleitung fr eines seiner Programme. Warum sind dann in den
meisten Editoren der Entwicklungspakete keine Features (Randaus-
gleich, automatischer Zeilenumbruch, Silbentrennung) eingebaut, die
diese T„tigkeiten untersttzen und die Texte auf komfortable Weise in
ein gef„lliges Žužeres bringen und zwar ohne daž ein Studium von 200
Seiten Bedienungsanleitung n”tig wird?
Warum soll man nicht aus seiner gewohnten Editor-Arbeitsumgebung
heraus Dateien auf die Ramdisk kopieren k”nnen, Backups durchfhren
k”nnen, Dateien auf der Platte suchen k”nnen , andere Programme
starten k”nnen, Dateien/Ordner erzeugen k”nnen, abfragen k”nnen
wieviel Platz noch auf dem Laufwerk ist?
Aber auch die Entwickler kommen wieder auf Ihre Kosten. Zum einen
haben fast alle Editorfunktion neue Optionen bekommen, sind somit
noch flexibler geworden, zum anderen habe ich den Environmentspeicher
vergr”žert, sodaž auch 'Environmentmonster' wie das GNU Entwick-
lungspaket eingebunden werden k”nnen. In Zukunft braucht also niemand
mehr sich in die Niederungen von Kommandozeilenshells hinabbegeben um
den einzigen C++ Compiler den es bis heute fr den ATARI gibt zu
nutzen, sondern kann das bequem in der Gemumgebung von KOLUMBUS.
Wer jetzt oder insbesondere nach dem Lesen der folgenden Highlights
ein 250 Kbyte Monster vor sich glaubt, den kann ich beruhigen.
KOLUMBUS ben”tigt immer noch nur ca. 75 schlanke Kbytes auf der
Platte.
Highlights
---------------------------------------------------------------
Im folgenden die wichtigsten Highlights:
- Full Screen Gemeditor.
- Entwicklungsumgebung jr Kommandozeilencompiler.
- Filemanager
- Dateiauswahl ber "Laufwerksfenster" ("Treefenster"), Deskwindow
Dateifenster oder Selektorbox.
- Integrierter "Make-Interpreter".
- L”schen und Einrichten von Dateien und Ordnern.
- Kopieren und verschieben von Dateien.
- Untersttzt bis zu 128 Fenster.
- Online Helpfunktion.
- Fensterbergreifende Kopier- und Verschiebeoperation.
- Frei definierbares Environment fr zu startende Programme.
- Sichern der kompletten Arbeitsumgebung. ***)
- Alle wesenlichen Funktionen ber Tastatur erreichbar.
- Ladbare Zeichens„tze ( GDOS/NVDI) erforderlich).
- Kompletter Zeichensatz ber die Tastatur erreichbar.
- Untersttztung bis zu 10 Zeichens„tzen mit je 3 Schriftgr”žen
- Untersttzung der Funktionstasten.
- Readonly-Fenster.
- Alle Dateitypen editierbar (nicht nur ASCII).
- Umfangreiche Sortierfunktionen.
- Wordwrapping am Fensterende ein-/ausschaltbar.
- Randausgleich.
- Textformatierung mit halbautomatischer Silbentrennung.
- Windowmanager
- Verschiebbare Dialogboxen.
- Untersttzung des Clipboards.
- Import/Export Funktionen mit frei defierbarer Filtertabelle
- Speicherung der Ordnerhierarchie je Laufwerk
- Kopieren von Datei- Ordnergruppen mit vielen Optionen.
- Hide/Get Funktionen ( manchmal auch als Falten bezeichnet)
- Softscrolling einstellbar/abschaltbar.
- Nachlaufen einstellbar.
- Deskwindows
- Readonly Fenster
***) In der Version 1.99 kann eine Settingsdatei, in der Version 2.00
k”nnen beliebig viele Settingsdateien angelegt werden.
Hinweise zur Installierung
--------------------------
Zur Installation wird der Inhalt des Ordners "KOLUMBUS.199" mit allen
Unterverzeichnissen in ein beliebiges Arbeitsverzeichnis kopiert. Es
ist darauf zu achten, daž im KOLUMBUS Startverzeichnis sich das
Unterverzeichnis "INTERN" befindet. Andernfalls kann auf die
Helpfunktion nicht zugegriffen werden.
Alternativ dazu kann im Environment ein Suchpfad 'DATA=' vereinbart
werden. Hier sucht KOLUMBUS die Dateien, falls sich der Ordner INTERN
nicht im aktuellen Verzeichnis befindet.
Quickstart:
----------------------------------------------------------------------
Der normale "Einstieg" in den "Dateidschungel" erfolgt bei KOLUMBUS
ber ein "Laufwerksfenster". Die aktuell verfgbaren Laufwerke sind
im Menupunkt 'Drive' anw„hlbar. In dem Laufwerksfenster werden
s„mtliche (Unter-)Ordner des aktuellen Laufwerkes aufgefhrt
(baumartig eingerckt entsprechend ihrer Tiefe in der Hirarchie ).
Durch Anklicken eines Ordnernamens im Laufwerksfenster kann direkt in
ein beliebiges Unterverzeichnis gesprungen werden. Es ”ffnet sich
dann ein (neues) "Dateifenster" mit allen Eintr„gen des ge”ffneten
Ordners ( Dateien und Verzeichnisse ) .
Von hier aus gibt es folgende M”glichkeiten :
Anklicken einer ausfhrbaren Datei ( *.APP.*.PRG,*.TOS,*.TTP). Das
Programm wird als Unterprogramm geladen und gestartet. Bei *.TTP
erscheint vorher eine Dialogbox mit der die Programmparameter
abgefragt werden. Aužerdem k”nnen in dieser Dialogbox Ausgabe- ,
Eingabe- und Fehlerkanal umgelenkt werden.
Hat die Datei nicht ausfhrbar wird angenommen das die Datei edi-
tiert werden soll. Die ausgew„hlte Datei wird daraufhin in ein
Editorfenster geladen und angezeigt.
Anklicken eines Ordners. Der ausgew„hlte Ordner wird ge”ffnet. Der
Inhalt des Dateifensters wird durch die Eintr„ge des neuen
Verzeichnisses ersetzt. Auf diese Weise kann in der
Ordnerhierarchie stufenweise auf und abgestiegen werden.
Diese Funktionen k”nnen alle auch per Tastatur ausgel”st werden :
Cursor auf die entsprechende Zeile "fahren" und dann alt/return
drcken. Zus„tzlich hat man per Tastatur die M”glichkeit mit
^Delete eine Datei oder ein (leeres) Verzeichnis zu l”schen.
Alle oben aufgefhrten T„tigkeiten k”nnen auch im Treefenster
durchgefhrt werden. Das Treefenster ist eine Kombination aus
Laufwerks- und Dateifenster. Es wird ge”ffnet durch ^Y oder
Menupunkt "Drive.Tree". Alles n„here im Onlinehelp.
Insbesondere Festplattenbesitzer werden die bersichtlichen
Laufwerks- und Treefenster nach kurzer Zeit nicht mehr missen
m”chten.
Hinweise zu ausgew„hlten Funktionen
-------------------------------------
Zus„tzlich zu den hier gegebenen Hinweisen befinden sich in der Regel
weitere im ONLINE Help.
- Frei definierbares Environment fr zu startende Programme. Der
Environmentspeicher wurde gegenber V1.00 vergr”žert, sodaž nun auch
Fans von GNU C++ auf Ihre Kosten kommen. Zu diesem Zweck ”ffnet man
ein Environmentfenster. Ein Beispiel, so wie ich es benutze befindet
sich auf der KOLUMBUS Diskette.
Der Environmentstring, den KOLUMBUS an aufgerufene Programme vererbt
wird folgendermažen gebildet: Aus dem KOLUMBUSeigenen Environment
werden zun„chst die Variablen aus dem Menupunkt Extra.Environment
und anschliežend die Variablen aus dem Environmentfenster hinzu-
addiert.
- Bis zu 128 Fenster k”nnen ge”ffnet werden. Man braucht allerdings
das PD Programm "WINGS" V1.0 dafr. Ich kann dieses Programm allen
nur w„rmstens empfehlen.
- Windowmanager. Bis zu 128 Fenster wollen auch Bedienbar sein. Zum
Windowmanager kommt man indem man auf den Desktophintergrund klickt,
^ oder drckt. Vom Windowmanager kann direkt jedes ge”ffnete
Fenster nach vorn geholt werden oder geschlossen werden. Sp„testens
nach dem 10 ge”ffneten Fenster wird diese Funktion sehr wertvoll.
- Verschiebbare Dialogboxen. Die verschiebbaren Dialogboxen sind mit
einem Hintergrundmuster versehen, lassen sich also leicht erkennen.
Zum Verschieben dieser Boxen klickt man auf diesen gemusterten
Hintergrund und zieht bei gedrckter Maustaste die Box in die
gewnschte Position. Durch Doppelclick auf das Muster wird die Box
wieder Zentriert. Selbstverst„ndlich wird die Lage der Boxen mit in
den Settings abgespeichert.
- Wiederherstellung der letzten Arbeitsumgebung. Das bedeutet, daž bei
Programmstart alle vormals benutzten Fenster mit gleichem Inhalt
wieder ge”ffnet werden.
- Speicherung der Ordnerhierarchie. Beim KOLUMBUS V1.00 dauerte das
™ffnen eines Laufwerks bei grožen Festplatten doch sehr lange. Das
geht jetzt ruckzuck. Die Ordnerhierarchie wird in der Datei "--TREE"
im ROOTverzeichnis abgespeichert. Dieses Feature kann fr jedes
Laufwerk getrennt ein/ausgeschaltet werden (Menu Drive.Store)
- Hide/Get Funktionen ( manchmal auch als Falten bezeichnet). Durch ^H
wird die Cursorzeile ausgeblendet. Stattdessen erscheint eine
Infozeile, die anzeigt wie viele Zeilen nicht angezeigt werden.
Durch weitere ^H Kommandos auf die Infozeile werden die folgezeilen
ebenfalls versteckt. Entsprechendes gilt fr Sh^H fr die
Vorg„ngerzeielen. Mit den Komlementfunktionen ^G und Sh^G werden die
versteckten Zeilen successive wieder Sichtbar gemacht.
Die Hidefunktion kann auch mit einer Suchoperation verknpft werden.
(Z.B. alle Zeilen anzeigen, die einen bestimmten String (nicht)
enthalten). Die komplement„ren Zeilen werden dabei jeweils
Versteckt. (Menu Edit.Hide/Get)
Beim Bereichskopieren und beim Bereichsl”schen werden die versteck-
ten Zeilen bergangen. Beim Abspeichern einer Datei jedoch werden
sie mit bercksichtigt, bleiben also erhalten.
- Softscrolling einstellbar. Mein spezieller Service fr Besitzer
leistungsstarker Rechner. Wer einen ST besitzt sollte mindestens
eine schnelle Beschleunigerkarte und NVDI installiert haben (Menu
Extra.Scrolling).
- Nachlaufen einstellbar. Ein mehrfach ge„užerter Wunsch der KOLUMBUS
V1.00 Anwender. Der eine m”chte ein schnelleres Scrolling und nimmt
dafr das erh”hte Nachlaufen in kauf. Der andere will absolut kein
Nachlaufen auch wenn sich das Scrolling dadurch Verlangsamt (Menu
Extra.Scrolling).
- Deskwindow. In manchen Shells k”nnen Dateien und Programme aufs
Desktop gelegt werden. Man kann dann darauf Zugreifen ohne ein
Laufwerk ”ffnen zu mssen. Die gleiche Funktionalit„t wird durch den
Fenstertyp 'Deskwindow' erreicht. Man schreibt einfach alle
Dateinamen (mit Pfad), die man h„ufig benutzt in ein Fenster,
schreibt in die erste Zeile:
.desk
und kann dann durch einfachklick oder Return die Datei laden oder
starten, als wenn man in ein Dateifenster w„re. Es sind auch merere
Deskwindows verwendbar. Man kann so seine Dateien und die zuge-
h”rigen Programme logisch zusammengruppieren. Im Deskwindow sind
Leerzeilen und Kommentarzeilen (Beginn mit '#') erlaubt.
Allgemeine Hinweise:
--------------------
- KOLUMBUS wurde geschrieben in Turbo C und verwendet nur
Dokumentierte TOS- und GEM-Aufrufe. Ich erwarte deshalb, daž
KOLUMBUS auf alle derzeitigen und zuknftigen Versionen des TOS
ablauff„hig ist und sein wird. Voraussetzung dafr ist allerdings,
daž die Laufzeitumgebung des Compilers und die Bibliotheksroutinen
dieses ebenfalls sind. Entwickelt wurde KOLUMBUS auf dem 520ST+ mit
TOS Version 1.0/1.4 .
- Als Gemanwendung wird KOLUMBUS normalerweise vom DESKTOP gestartet.
Es besteht jedoch die M”glichkeit KOLUMBUS auch von einer Kommando-
shell heraus zu starten: Beim Aufruf k”nnen bis zu sechs Dateinamen
angegeben werden (wahlweise) . KOLUMBUS l„dt dann automatisch jede
Datei in ein eigenes Fenster. Der Aufruf von einer Kommandoshell
ist:
KOLUMBUS [datei1 [.. datei6]]
- KOLUMBUS kann auch als Anwendung auf bestimmte Dateitypen beim AES
angemeldet werden. Es gengt in diesem Fall der Doppelklick auf ein
ICON dieses Dateityps und KOLUMBUS wird automatisch gestartet und
l„dt die angeklickte Datei in ein Editorfenster.
- Auf dem TT gibt es eine weitere M”glichkeit KOLUMBUS zu starten: Das
Icon der zu bearbeitenden Datei wird auf das Icon von Kolumbus ge-
schoben. Daraufhin wird KOLUMBUS gestartet und l„dt automatisch die
Datei in ein Fenster. Auf dem ST gibt es diese M”glichkeit leider
zur Zeit nicht.
- KOLUMBUS untersttzt ladbare Zeichens„tze. Allerdings ist dafr das
Programm "GDOS" erforderlich. Ein ladbarer Zeichensatz muž im Gem-
format vorliegen und in der Datei "ASSIGN.SYS" vermerkt sein. Ein
Beispiel einer von mir verwendeten "ASSIGN.SYS" ist folgende : Der
Zeichensatz "FONT.FNT" ist in zwei Schriftgr”žen vorhanden.
---
01p screen.sys
FONT8.FNT
FONT16.FNT
02p screen.sys
FONT8.FNT
FONT16.FNT
03p screen.sys
FONT8.FNT
FONT16.FNT
04p screen.sys
FONT8.FNT
FONT16.FNT
31 META.SYS
21 FX80.SYS
---
Wichtig zur Verwendung nachladbarer Zeichens„tze sind die Eintr„ge
unter "screen.sys" : Hier wird der FONT "FONT" dem GEM bekanntgemacht.
Er steht in diesem Fall in zwei Schriftgr”žen zur Verfgung.
Die KOLUMBUS Fenstertypen
---------------------------------------------------------------------
KOLUMBUS verwendet Fenstertypen mit verschiedenen Eigenschaften
Typ editierbar Dateizugriff Kennzeichen mit Dateizugriff
sortierbar Ausfhrbar Besitzt Syntax
--------------------------------------------------------------------------
ASCII x x - - Dateiname - -
Bin„r x x - - Dateiname - -
Make x x - x .make x -
Export x x - - .export x -
Import x x - - .import x -
Environment x x - - .envi x -
Desktopfenster x x x - .desk x x
ONLINE help - - - - Dateiname - -
MESSAGE Fenster - - - - MESSAGE - -
Laufwerksfenster - - x - Laufwerk x x
Dateifenster - x x - Pfad x x
Treefenster - - x - Laufwerk x x
Windowmanagers - - - - WINDOW MAN.. x -
Die Syntax der editierbarer Fenstertypen sollte man sich gut ansehen.
Das ist Voraussetzung um alle Features von KOLUMBUS voll ausnutzen zu
k”nnen. Die Syntax ist teilweise in dieser Datei und oder in den
ONLINE Helpfenster beschrieben.
Hinweise zur Textformatierung:
----------------------------------------
Grunds„tzliches:
Die Textformatierung ist fr den "Hausgebrauch" konzipiert. Sie soll
und kann keine professionelle Textverarbeitung ersetzen.
-Die Textformatierung bietet folgende Leistungsmerkmale:
- Word wrapping am Fensterrand
- Randausgleich
- Halbautomatische Silbentrennung
- Pseudoblanks
- Horizontalmarke
- Harter Zeilenumbruch
- Formatfreier Paragraph.
- Beim Randausgleich bestimmt die erste zu formatierende Zeile den
linken und rechten Rand:
ù Ist die erste Zeile leer, werden automatisch die Fenstergrenzen
als Rand angenommen.
ù Ist die erste Zeile nicht leer wird als linker/rechter Rand deren
erste/letzte Zeichen verwendet.
ù Anmerkung: Fr einen sinnvollen Randausgleich sind mindestens 30
Spalten n”tig. Ich habe den Randausgleich auf diesen Wert
begrenzt. Empfehlenswert sind aus meiner Sicht jedoch mindestens
40 Spalten.
- W„hrend der Formatierung ist der zu formatierende Text kurzzeitig
doppelt im Speicher. Ich empfehle daher -nicht nur bei
Speichermangel- Absatzweise Formatierung.
- Die Formatierung erfolgt durch ^J..^J. Erste und letzte zu
formatierende Zeile werden durch ^J markiert.
- Steuerzeichen fr die Textformatierung:
Pseudotrenner : '' ( alt/control - )
Zeilenumbruch : '
' ( alt/control Return oder J )
Pseudoblank : '' ( alt/control <blank> )
Horizontalmarke : '' ( alt/control H )
Formatfreier Paragraph
Anfang : '' ( alt/control < )
Ende : '' ( alt/control „ )
Beim Formatiervorgang mit Randausgleich versucht KOLUMBUS m”glichst
viel in eine Zeile hineinzubekommen. Das gelingt um so besser, je
mehr Pseudotrennzeichen verwendet wurden. Es ist daher gnstig lange
W”rter mit m”glichst viel Pseudotrennzeichen zu versehen. Beim Export
des formatierten Textes werden alle berflssigen Pseudotrennzeichen
und auch alle oben erw„hnten Steuerzeichen automatisch entfernt.
St”žt KOLUMBUS beim Formatieren auf das Zeichen '
' erfolgt auf jeden
Fall ein harter Zeilenumbruch.
Ein Pseudoblank '' wirkt beim Formatieren wie ein normales Zeichen,
wird jedoch beim Export durch einen richtigen Blank ersetzt.
Soll die n„chste Zeile eingerckt werden so markiert man das mit der
Horizontalmarke '' . Die Wirkung von '' wird durch eine Leerzeile
beendet.
Formatfreie Paragraphen werden mit '' und '' begrenzt. Der
so begrenzte Zeilenbereich wird bei der Formatierung bergangen. Ich
empfehle jede formatfreie Zeile am Beginn
mit '' zu kennzeichnen.
Ausgabe des formatierten Textes:
-------------------------------------
Die Ausgabe des formatierten Textes wird mit der Exportfunktion
vorgenommen. Werden nur die oben erw„hnten Steuerzeichen verwendet,
braucht kein eigenes Filter verwendet zu werden, weil die
Exportfunktion standartm„žig genau auf die Steuercodes der
Textformatierung zugeschnitten ist. N„heres zum "Filtern" in den
HELP-texten.
Man kann jedoch auch z.B. direkt auf den Drucker exportiegen. In
diesem Fall ist es m”glich und auch sinnvoll in einem Exportfenster
eigene Abkrzungen fr Druckerescapesequenzen zu definieren. Die
oben erw„hnten Steuerzeichen zur Textformatieung sind dafr
natrlich tabu.
Als Beispiel fr so eine Exportdatei fr den Drucker mag die Datei
OKI192.EXP dienen, die ich fr mein OKI192 verwende. In dieser
Datei habe ich zus„tzlich die DruckerEscapesequenzen fr
Sch”nschrift auf alt^n und die Einstellung vom rechten und linken
Rand auf alt^r gelegt. Aužerdem erfolgt eine Umwandlung von ž nach
á ( 158 nach 225).
Hinweise zur Umlenkung der Ein-/Ausgabe
---------------------------------------
Die Umlenkung der Ein-/Ausgabe wird i.a. als Dom„ne von Kommandoshells
angesehen. Das diese Technik auch unter einem GEM Programm
hervorragend einsetzbar ist, will ich mit dem KOLUMBUS beweisen.
KOLUMBUS verwendet die Technik der Umlenkung der Ein/Ausgabe (auch
schon in V1.00) in der Makefunktion. Trotz aller Behinderungen durch
das GEMDOS, habe ich damit berwiegend gute Erfahrungen gemacht. So
habe ich mich denn entschlossen in V2.00 auch beim Starten von ".TOS"
oder ".TTP" (GEMDOS) Programmen diese M”glichkeit anzubieten.
Um das Ganze zu demonstrieren habe, ich der KOLUMBUS Diskette einige
ntzliche GEMDOS Programme GREP,FGREP (die „hnliche Arbeitsweise zu
bekannten gleichnamigen Programmen unter UNIX ist gewollt und nicht
zuf„llig), sowie einer "Eigenkomposition" FTREE beigefgt. Wer z.B.
schon immer mal wissen wollte, wieviel Speicherplatz die einzelnen
Directories auf seiner Festplatte ben”tigen, kann mal kurz FTREE
starten. Als Kommandozeile (Cmdline) dabei bitte "/sdv" eingeben und
als Path das zu untersuchende Laufwerk...
Umgelenkt werden k”nnen folgende Kan„le:
---------------------------------------------------
GEMDOS Kanalnummer Name
---------------------------------------------------
0 Standart Eingabe
1 Standart Ausgabe
2 Standart Fehlerausgabe
---------------------------------------------------
Anders als in einer Kommandoshell gilt es in einem GEM Programm wie
KOLUMBUS auch den Fehlerkanal abzufangen, da sonst Fensterinhalte
berschrieben werden.
Weil im GEMDOS kein Fehlerkanal untersttzt wird, darf dabei nicht
verschwiegen werden, daž die Verwendung des Kanals 2 als Standart
Fehlerkanal problematisch ist. Immerhin bezeichnet dieser Kanal unter
GEMDOS die serielle Schnittstelle. Da aber viele GEMDOS Programme von
UNIX oder DOS portiert wurden und dort der Fehlerkanal die
Kanalnummer 2 hat, erscheint es trotzdem sinnvoll, diesen Kanal als
Fehlerkanal zu interpretieren.
Probleme bei der Ein- Ausgabeumlenkung:
----------------------------------------------
Die Probleme bei der Umlenkung liegen im GEMDOS selbst begrndet. Man
kann sagen, daž sie bis heute nicht richtig funktionieren (Faust-
regel: Je h”her die Version des GEMDOS, desto besser funktionieren
sie).
In meinem (Rainbow) GEMDOS kommt es immer dann zu Problemen wenn
gestartete GEMDOS Programme bei bereits umgelenkter Ein- oder Ausgabe
ebenfalls anfangen irgendetwas umzulenken. Es erscheint dann folgende
berhmt-berchtete Meldung:
*** OUT OF INTERNAL MEMORY
*** USE FOLDR100.PRG TO GET MORE
*** SYSTEM HALTED ***
Ich pers”hnlich empfehle in diesem Fall keinesfalls FOLDR100.PRG,
sondern bei diesem Programm in Zukunft auf die Umlenkung durch
KOLUMBUS zu verzichten.
Summa Summarum kann man folgendes sagen: So lange die GEMDOS Pro-
gramme nur die Standartein- und Ausgabekan„le benutzen funktioniert
alles ganz pr„chtig. Die beigelgeten Beispielprogramme, die alle nur
auf die Standartausgabe schreiben ( auch etwaige Fehlermeldungen)
FGREP,FTREE u. GREP m”gen das demonstrieren. Auch Anwender von
KOLUMBUS/Make werden sich freuen wenn auf diese Weise die
Fehlermeldungen eines Compilers auf diese Weise in ein Fenster
gelangen.
Hinweise zum KOLUMBUS/Make-Uitility
---------------------------------------------------------------------
Sinn und Zweck des Makeutilities ist es, den Softwareentwickler bei
den formalen T„tigkeiten bezglich Compiler- und Linkeraufruf so weit
wie m”glich zu entlasten und diesen Vorgang zu automatisieren.
Ausgangsbasis fr die Makefunktion ist eine "Makedatei",in der alle
Abh„ngigkeiten zwischen den einzelnen Modulen und die ben”tigten
Aufrufe fr Compiler und Linker spezifiziert sind.
Bei der Entwicklung der Makefunktion stand das gleichnamige Programm
aus der UNIX Szene Pate. UNIX Kenner werden sich deshalb auf anhieb
zurechtfinden, ist doch die Syntax bis auf ein paar Rechnerspezifika
an die des grožen Vorbilds angelehnt.
EINFšHRUNG in KOLUMBUS/Make
---------------------------
Die Makefunktion l„žt sich nur aufrufen wenn eine Make Definitions-
datei in ein Fenster geladen wurde.
In so einem Definitionsfenster werden folgende Informationen abgelegt:
- die Namen der Sourcedateien,
- die Abh„ngigkeiten zwischen den Sourcedateien,
- wo diese Dateien zu finden sind,
- wo Compiler und Linker zu finden sind,
- wie Compiler und Linker aufzurufen sind.
- die Namen der bersetzten Sourcedateien
- den Namen des fertigen Programms
Nehmen wir an, wir h„tten eine Version des legend„ren Programms
"Hello" erstellt und wollen es bersetzen. Die fertige Programm soll
"hello.prg" heižen. Die Sourcedatei heisse 'hello.c' und stehe im
Verzeichnis C:\SRC. Compiler/Linker stehen im Verzeichnis C:\BIN und
heissen CC.TTP bzw. LL.TTP. Zur Ausgabe auf den Bildschirm ben”tigen
wir dir Quelldatei stdio.h ( hello.c wird abh„ngig von stdio.h), die
Displayfunktionen befinden sich in der Objectbibliothek
C:\LIB\stdlib.lib, der Startupcode des Compilers stehe in
C:\LIB\start.o.
Diesen ganzen Tatbestand spezifizieren wir kurz und bndig wie folgt:
.make zeile 1
.srcpath=C:\SRC zeile 2
.binpath=C:\BIN zeile 3
hello.prg: hello.o zeile 4
LL.TTP start.o hello.o C:\LIB\stdlib.lib zeile 5
zeile 6
hello.o: hello.c stdio.h zeile 7
CC.TTP hello.c zeile 8
Wir k”nnen das Ganze auch optisch etwas auflockern:
.make zeile 1
.srcpath=C:\SRC zeile 2
.binpath=C:\BIN zeile 3
hello.prg: hello.o zeile 4
LL.TTP start.o hello.o C:\LIB\stdlib.lib zeile 5
zeile 6
hello.o: hello.c stdio.h zeile 7
CC.TTP hello.c zeile 8
Und/oder auch noch mit verwirrenden Kommentaren versehen (damit es
nicht gleich jeder versteht):
.make zeile 1
# beispiel einer make definitionsdatei
#
.srcpath=C:\SRC zeile 2
.binpath=C:\BIN zeile 3
hello.prg: hello.o zeile 4
LL.TTP start.o hello.o hello.prg C:\LIB\stdlib.lib zeile 5
zeile 6
hello.o: hello.c stdio.h zeile 7
CC.TTP hello.c zeile 8
oder um das CHAOS perfekt zu machen :
.make zeile 1
# beispiel einer make definitionsdatei
#
.srcpath=C:\SRC zeile 2
.binpath=C:\BIN zeile 3
*.prg: *.o zeile 4
LL.TTP start.o *.o *.prg C:\LIB\stdlib.lib zeile 5
zeile 6
*.o: *.c stdio.h zeile 7
CC.TTP *.c zeile 8
In diesem letzten Fall wird der Name der Sourcedatei durch einen *
ersetzt. Er wird vor der Abarbeitung der Anweisungen automatisch
durch den Namen des obersten Fensters ersetzt.
Hierbei bedeuten bzw. geh”ren zur Syntax:
'.make' : Kennzeichnung eines Definitionsfensters (1). Diese
Anweisung muž immer in der ersten Spalte der ersten
Zeile im Fenster beginnen.
'#' : Einleitung einer Kommentarzeile, Kommentarzeilen drfen
nur an dieser Stelle (zwischen 1 und 2) stehen.
.srcpath : Zugriffspfad der Sourcemodule (2).
.binpath : Zugriffspfad von Compiler,Linker und was es sonst noch
an Programmen ben”tigt wird ( z.B. YACC,LEX,.. ) (3).
':' : links davon steht die zu erzeugende Datei (output oder
Zieldatei), rechts davon aus welchen Dateien diese
erzeugt wird (input,Quelldateien ) (4,7). Diese Zeile
wird in die n„chste Zeile(n) verl„ngert wenn das letzte
zeichen ein '\' (backslash) ist. Der ':' ist zu lesen
als 'ist abh„ngig von'. Eine Zeile der Form
Zieldatei: Quelldateie(n)
wird auch als Abh„ngigkeitszeile bezeichnet.
leerzeile 6 : geh”rt ebenfalls zur Syntax.
zeilen 5,8 : Kommandozeilenaufruf des Linkers und Compilers. Auch
diese kann durch '\' in die n„chste Zeile(n) verl„ngert
werden, insgesamt aber nur bis 127 Zeichen. Die Zeilen
5,8 werden auch als Aktionszeilen bezeichnet.
Die Zeilen 4,7 spezifizieren hier also die Abh„ngigkeiten, die Zeilen
5,8 spezifizieren hier im Beispiel die Aktionen. Um korrekt arbeiten
zu k”nnen, muž auf eine Abh„ngigkeitszeile immer eine Aktionzeile
kommen. Abh„ngigkeitszeile und Aktionzeile zusammen nenne ich mal
'Anweisungsblock'. Zwischen zwei Anweisungsbl”cken muž immer eine
Leerzeile stehen.
Alles was hinter LL.TTP bzw. CC.TTP steht geh”rt nicht zur Syntax von
Make sondern zu Aufrufsyntax des Compilers bzw. Linkers.
Unser Makefenster ist jetzt fertig. Make ist jetzt in der Lage das
Programm "hello.prg" durch Aufruf des Compilers und des Linkers
selbstt„tig herzustellen. Der Aufruf des Makeutilities erfolgt im
Menupunkt Extra.make oder gleich mit M.
Das besondere an Make ist nun , daž es immer nur die Dateien neu
bersetzt , die sich seit der letzten Erstellung ver„ndert haben.
Mažgeblich dafr ist die Dateizeit.
- Es ist also wichtig immer die korrekte
- Zeit eingestellt zu haben.
Im vorliegenden Fall wird der Linker genau dann aufgerufen, wenn die
Datei "hello.o" jngeren Datums ist als die Datei "hello.prg", oder
aber wenn "hello.prg" noch gar nicht existiert.
Der Compiler hingegen wird genau dann gerufen, wenn die Datei
"hello.c" jngeren Datums ist als die Datei "hello.o", oder wenn
"hello.o" noch gar nicht existiert. Der Compilerlauf h„tte wiederum
zur Folge, daž "hello.o" ein jngeres Datum als hello.prg bek„me.
Folglich erfolgte dann hinterher v”llig automatisch auch der Aufruf
des Linkers.
Was aber wenn beim Compilieren von hello.c Fehler entstehen ? Dann
w„re der anschliežende Aufruf des Linkers unntzt! Aber keine Angst,
jeder Compiler, der was auf sich h„lt, liefert in so einem Fall ein
Returncode > 0 an den Aufrufer ( hier KOLUMBUS/Make) zurck. Dieser
Return code wird natrlich ausgewertet. Ein Returncode > 0 fhrt
zum Abbruch des Produktionsvorganges - der Linker wrde dann nicht
mehr gestartet... es sei denn man schriebe folgendes in zeile 8:
.make zeile 1
.srcpath=C:\SRC zeile 2
.binpath=C:\BIN zeile 3
hello.prg: hello.o zeile 4
LL.TTP start.o hello.o C:\LIB\stdlib.lib zeile 5
zeile 6
hello.o: hello.c stdio.h zeile 7
-i2 CC.TTP hello.c zeile 8
In diesem Fall macht KOLUMBUS/Make auch dann weiter, wenn ein
Returncode = 1 rckgegeben wird. Manche Compiler liefern die 1 bei
aufgetretenen Warnings zurck und bei einem Fehler den Returncode 2.
Die Zahl nach dem -i gibt an welcher Returncode gerade nicht mehr
akzeptiert wird. Die Zahl 0 nach dem i hat allerdings eine besondere
Bedeutung: Eine so gekennzeichnete Aktionszeile wird niemals
ausgefhrt ( auch das braucht man manchmal).
KOLUMBUS/Make Optionen
------------------------------------------------
Insbesondere bei komplizierteren Makedateien wie das Beispiel in der
Datei yacclex.mak empfielt es sich die makedatei zun„chst mal zu
testen, ohne gleich Compiler und Linker aufzurufen. Der Testaufruf
erfolgt mit Shf/ M oder dem Menpunkt extra.make.debugonly.
Riefen wir die Debugfunktion fr die oben beschriebene Makedatei auf,
so k„me folgendes dabei heraus:
dependancies :
hello.c 00-00-80 00:00:00 ( )
hello.o 00-00-80 00:00:00 ( hello.c, stdio.h, )
: CC.TTP hello.c
hello.prg 00-00-80 00:00:00 ( hello.o, )
: LL.TTP start.o hello.o C:\LIB\stdlib.lib
stdio.h 00-00-80 00:00:00 ( )
actions :
CC.TTP hello.c
LL.TTP start.o hello.o C:\LIB\stdlib.lib
KOLUMBUS/Make ermittelt die Abh„ngigkeieten und die Dateizeiten der
Sourcedateien und Zwischendateien und stellt sie in einem
MESSAGE-Fenster dar. Hinter jeder Sourcedatei stehen dabei zuerst
Datum und Uhrzeit der letzten Ver„nderung, danach in Klamern die
Dateien von dem die Sourcedatei abh„ngig ist. Im obigen Beispiel sind
die Sourcedateien allesamt nicht vorhanden, daher die Initialwerte
von Datum/Uhrzeit. Zum Schluž noch die aktuell n”tigen Aktionszeilen,
um das gewnschte Programm zu erzeugen.
Ist noch ein Fehler in der Makedatei, kann man es an dieser Anzeige
in der Regel bereits erkennen. Kommen die actions in der richtigen
Reihenfolge so ist die Makedatei in der Regel ebenfalls korrekt.
Desweiteren sollte man sorgf„ltig prfen, ob die Abh„ngigkeiten
richtig erkannt wurden. Wenn nicht befindet sich der Makedatei noch
ein Syntaxfehler.
Umlenkung der Ausgabe
-------------------------------------------------
Normalerweise lenkt KOLUMBUS/Make die Ausgabe in eine Datei
"--OUTEMP" um und liežt diese zum Schluž in ein Fenster ein, sodaž
Fehlermeldungen des Compilers nicht verloren gehen. Die gewohnte GEM
Umgebung wird dabei nicht verlassen.
Manchmal l„žt sich jedoch die Ausgabe nicht umlenken ( wenn z.B. BIOS
Funktionen zur Ausgabe verwendet werden). Die Folge ist dann eine
h„žliches Zerst”rung der GEM-Oberfl„che. Um das zu vermeiden kann in
der Makedatei ein TOS Flag gesetzt werden. Unser bereits arg
strapaziertes Beispiel sieht damit dann folgendermažen aus:
.make zeile 1
# beispiel einer make definitionsdatei
#
.tos zeile 1a
.srcpath=C:\SRC zeile 2
.binpath=C:\BIN zeile 3
hello.prg: hello.o zeile 4
LL.TTP start.o hello.o C:\LIB\stdlib.lib zeile 5
zeile 6
hello.o: hello.c stdio.h zeile 7
CC.TTP hello.c zeile 8
Hinweise zum Gebrauch des Makeutilities.
----------------------------------------
Bevor KOLUMBUS/Make seine Aktionen durchfhrt, speichert es alle
ver„nderten Fenster ab. Es ist daher nicht n”tig eine ge„nderte
Quellcodedatei vorher selbst abzuspeichern.
Es k”nnen auch mehrere Makefenster offen sein. KOLUMBUS/Make verwen-
det jedoch immer das erste gefundene.
Durch einen kleinen Trick kann nach dem Linken das fertige Programm
auch gleich gestartet werden oder in ein Debugger geladen werden:
.make zeile 1
# beispiel einer make definitionsdatei
#
.tos zeile 1a
.srcpath=C:\SRC zeile 2
.binpath=C:\BIN zeile 3
wum: hello.prg zeile 3a
DEBUG.TTP hello.prg zeile 3b
hello.prg: hello.o zeile 4
LL.TTP start.o hello.o C:\LIB\stdlib.lib zeile 5
zeile 6
hello.o: hello.c stdio.h zeile 7
CC.TTP hello.c zeile 8
Durch Zeile 3a/3b gaukeln wir KOLUMBUS/Make die Zieldatei "wum" vor.
Dadurch wird, weil diese Datei durch hello.prg niemals erzeugt wird,
im Anschluž an einem erfolgreichen Lauf des Linkers immer DEBUG.TTP
gestartet.
Ich hoffe nun, mit dieser kurzen Einfhrung alle Klarheiten bezglich
KOLUMBUS/Make beseitigt zu haben.
Allgemeine Problempunkte:
---------------------------------
- Viele Menpunkte k”nnen auch ber die Tastatur durch die Kontroll-
codes '^'(Control) und ''(Alt) ausgel”st werden. Das Funktioniert
jedoch nur wenn mindestens ein eigenes Fenster ge”ffnet ist ( kann
nichts dafr, liegt am AES) .
Da KOLUMBUS jedoch standartm„áig immer ein Laufwerksfenster ”ffnet,
kommt dieser Fall in der Regel selten vor. Es ist zudem relativ
sinnlos einen Editor ohne ge”ffnetes Fenster "betreiben" zu wollen.
- KOLUMBUS wurde nicht fr eine spezielle Bildschirmaufl”sung ge-
schrieben. Es erschien mir jedoch sinnvoll alle Aufl”sungen zu ver-
bieten, bei denen die Menuzeile oder grože Dialogboxen nicht mehr
auf den Bildschirm passen.
- Anwender der KOLUMBUS Version V1.00 sollten folgendes beachetn:
Starten Sie nie-niemals aus KOLUMBUS V1.00 die Version V2.00 und
umgekehrt. Merkwrdigerweise l„dt das AES dann jeweils die falsche
Resourcedatei und dann knallts!! Dieser merkwrdige Effekt tritt ab
TOS V1.4 (Rainbow) auf.
KOLUMBUS V2.00
---------------------------------------------------------------------
Als zus„tzlichen Anreiz sich registrieren zu lassen, halte ich
KOLUMBUS V2.00 bereit. Die Version V2.00 unterscheidet sich von der
V1.99 dadurch, daž nicht nur eine, sondern beliebig viele
Settingdateien verwaltet werden k”nnen.
Die V2.00 von KOLUMBUS ist nur beim Autor erh„ltlich und kann gegen
den Unkostenbeitrag von
DM 40,-
mit dem Formular aus der Datei "BESTELL" bestellt werden.
Registrierte Anwender der Version V1.00 k”nnen gegen Einsendung der
Orginaldiskette + DM 15,- Updaten.
Registrierte Anwender der Normalversion wenden sich bei Problemen
gerne an den Autor (Anfragen nichtregistrierter Anwender sind
zwecklos).
Autor
-----------------------------------
J”rg Otte
Ramsauerstr. 3a
8000 Mnchen 70
Tel. (089) 788960