Index of /atarilibrary/atari_cd02/UNPACKED/UTILS/KOLUMBUS

      Name                    Last modified       Size  Description

[DIR] Parent Directory 11-May-2007 20:49 - [TXT] BESTELL 06-Dec-1992 00:00 2k [   ] DESK.DSK 06-Dec-1992 00:00 1k [TXT] FGREP.TTP 06-Dec-1992 00:00 9k [TXT] FTREE.TTP 06-Dec-1992 00:00 7k [   ] GNU.ENV 06-Dec-1992 00:00 1k [TXT] GREP.TTP 06-Dec-1992 00:00 10k [DIR] INTERN/ 11-May-2007 20:49 - [TXT] KOLUM199.APP 06-Dec-1992 00:00 72k [TXT] 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