PC.HLP wurde bersetzt am 24.November 1992.

(c) 1990 Borland International, Inc.Index der verfgbaren Schlsselwrter:

     EA..F       EB..F       EC..F      ED..F

     EE..F       EF..F       EG..F      EH..F

     EI..F       EJ..F       EK..F      EL..F

     EM..F       EN..F       EO..F      EP..F

     EQ..F       ER..F       ES..F      ET..F

     EU..F       EV..F       EW..F      EX..F

     EY..F       EZ..F

     ESonstigesFDie Menleiste
----------------------------------------------------------------------

EPure CF EFileF EEditF ESearchF ECompileF EProjectF EOptionsF EHelpFDer Mentitel 'Pure C'
----------------------------------------------------------------------

Hier gelangt man zum  Eintrag ber das Copyright, in dem sich die
Versionsnummer Ihres Compilers befindet, und zu den Accessories.Besondere Features der Dateiauswahlbox von Pure C
----------------------------------------------------------------------

'Open'       ffnet eine im Auswahlfenster selektierte Datei.
             Ein Doppelklick auf den Dateinamen tut dasselbe.
             Aufruf ber die Tastatur mit RETURN.
'New'        legt eine neue Datei an; dabei wird nach dem neuen Namen
             gefragt.
             Aufruf ber die Tastatur mit INSERT.
'Cancel'     schliet die Dateiauswahlbox, ohne eine Datei zu ffnen.
             Aufruf ber die Tastatur mit CONTROL-U.
'New Folder' legt einen neuen Ordner an; dabei wird nach dem neuen
             Namen gefragt.
'Delete'     lscht eine im Auswahlfenster selektierte Datei.
             Aufruf ber die Tastatur mit DELETE.
'Touch'      Schreibt Systemzeit und Systemdatum als Dateidatum
             einer im Auswahlfenster selektierten Datei.
             (entspricht dem gleichnamigen UNIX-Befehl).
'Copy'       kopiert die im Auswahlfenster selektierte Datei; dabei
             wird nach dem neuen Namen gefragt. Mit '..' wird die
             Datei mit gleichen Namen in den bergeordneten Ordner
             kopiert.
'Info'       zeigt Name, Gre, Datum und Uhrzeit der im Auswahl-
             fenster selektierten Datei an. Dabei kann der Dateiname
             ediert werden.
'*.*'        wechselt zwischen der Anzeige der gewnschten Datei-
             erweiterung und der Anzeige aller Dateierweiterungen.
             Die Extension des untersten Extensionsbuttons lt sich
             mit einem Doppelklick durch den Benutzer definieren.
Hinweis:     Durch Drcken eines Buchstabens werden alle Dateien
             mit nachfolgendem Anfangsbuchstaben angezeigt. Mit den
             Cursortasten  und  knnen Sie scrollen. Die Taste
             UNDO bewirkt dasselbe wie das Schliefeld. Mit
             ALTERNATE-Laufwerksbuchstabe knnen Sie das Lauf-
             werk selektieren. Der Aufruf der Standarddatei-
             erweiterungen erfolgt ber folgende Tasten:

                CONTROL-A     *.*
                CONTROL-C     *.C
                CONTROL-H     *.H
                CONTROL-S     *.S
                CONTROL-P     *.PRJ
                CONTROL-F     *.CFG
                CONTROL-R     *.PRG
                CONTROL-D     *.???Der Mentitel 'File'
----------------------------------------------------------------------

        EOpen .CF
        EOpen .HF
        EOpen .SF
        EOpen .PRJF

        EPrintF
        EPrint SelectionF

        ECloseF
        EAbandonF

        ESaveF
        ESave as...F

        ETOS ShellF

        EQuitFDer Mentitel 'Edit'
----------------------------------------------------------------------

        EUndoF

        ECutF
        ECopyF
        EPasteF

        ESelect AllF

        EShift LeftF
        EShift RightF

        ECycle WindowsF
        EUser ScreenFDer Mentitel 'Search'
----------------------------------------------------------------------

        EFind...F
        EFind SameF
        EFind SelectionF

        EReplace...F
        EReplace SameF

        ECheck BracesF
        EFind ErrorF
        EGoto Line...F

        ESearch project...F
        ESearch multiple...FDer Mentitel 'Compile'
----------------------------------------------------------------------

        ECompile...F
        ECompile ''F
        EAssemble...F
        EAssemble ''F

        EExecute...FDer Mentitel 'Project'
----------------------------------------------------------------------

        ESelect...F

        EDebug ''F
        ERun ''F
        EMake ''F

        EMake all ''F
        ELink ''FDer Mentitel 'Options'
----------------------------------------------------------------------

        EShell...F
        ECompiler...F
        EAssembler...F
        ELinker...F

        ELoad...F
        ESave ''FHelp
----------------------------------------------------------------------

Nach Auswahl der gewnschten Hilfestellung erscheint ein Fenster mit
informativem Text, wobei einige Stichwrter in Fettschrift und unter-
strichen dargestellt sind. Wenn man diese mit der Maus doppelklickt,
oder einfachklickt bzw. den Cursor darauf positioniert und die 'Help'-
Taste drckt, erscheint ein neues Fenster, das noch detailliertere
Informationen zum jeweiligen Stichwort enthlt. Mit der 'Undo'-Taste
gelangen Sie zum vohergehenden Stichwort zurck. Beenden lt sich die
Help-Funktion entweder durch Anklicken des Schliefeldes oben links im
Fenster oder durch Drcken der Tastenkombination ECONTROLF-U.

    EMenuF         enthlt  Informationen zur Bedienung der
                 integrierten Entwicklungsumgebung.
    EEditorF       enthlt eine vollstndige Beschreibung
                 der Editorfunktionen.
    EC LanguageF   enthlt Informationen ber die Syntax
                 der Programmiersprache C.
    ELibrariesF    enthlt ausfhrliche Erluterungen ber alle
                 verfgbaren Funktionen der Pure-C-Bibliotheken.
    EOptionsF      enthlt alle Optionen zur Konfiguration des Editors,
                 Compilers, Assemblers und Linkers behandelt.
    EIndexF        enthlt ein alphabetisches Inhaltsverzeichnis
                 aller Keywords, zu denen Informationen abgerufen
                 werden knnen.EFileF/Open  .C                                                ECONTROLF-O
----------------------------------------------------------------------

... ffnet die EDateiauswahlboxF und setzt die Extension '.C', wobei
'.C' fr Pure-C-Quelltextdateien steht.EFileF/Open  .H
----------------------------------------------------------------------

... ffnet die EDateiauswahlboxF und setzt die Extension '.H', wobei
'.H' fr Headerdateien steht.EFileF/Open  .S
----------------------------------------------------------------------

... ffnet die EDateiauswahlboxF und setzt die Extension '.S', wobei
'.S' fr Assembler-Quelltextdateien steht.EFileF/Open  .PRJ
----------------------------------------------------------------------

... ffnet die EDateiauswahlboxF und setzt die Extension '.PRJ', wobei
'.PRJ' fr Project-Dateien steht.EFileF/Print                                                   ECONTROLF-P
----------------------------------------------------------------------

... gibt die Datei des aktiven Fensters auf dem Drucker aus.EFileF/Print Selection                                         ECONTROLF-D
----------------------------------------------------------------------

Nachdem ein Textabschnitt EselektiertF wurde, kann er mit
'Print Selection' auf dem Drucker ausgegeben werden.EFileF/Close                                                   ECONTROLF-U
----------------------------------------------------------------------

... schliet das aktive Fenster. Falls Sie die Datei verndert
haben, erscheint zuvor eine Abfrage, ob Sie sie speichern wollen,
oder nicht.EFileF/Abandon                                                 ECONTROLF-H
----------------------------------------------------------------------

... ersetzt den im aktuellen Fenster befindlichen Text durch die
zuletzt gespeicherte Version. Damit knnen noch nicht gespeicherte
Vernderungen wieder rckgngig gemacht werden.EFileF/Save                                                    ECONTROLF-S
----------------------------------------------------------------------

... speichert den Text des aktiven Fensters unter dem Pfad-
namen im Titelbalken ab.EFileF/Save as...                                              ECONTROLF-M
----------------------------------------------------------------------

... speichert den Text des aktiven Fensters unter einem anderen, als
im aktuellen Fenster angegebenen Namen ab. Dieser Name wird ber die
EDateiauswahlboxF ausgewhlt.EFileF/TOS Shell                                               ECONTROLF-Z
----------------------------------------------------------------------

Mit dieser Funktion kann eine Subshell gestartet werden. Diese
Funktion ist ntzlich, um z.B. schnell mal ein Direktory zu lschen.

Vorausetzung fr die Benutzung dieser Funktion ist, da Sie eine Shell
verwenden, die die Systemvariable _shell_p oder das Setzen von
Environmentvariablen untersttzt.

_shell_p enthlt die Adresse einer Routine, die eine Shell starten
kann. Die Environmentvariable "SHELL" spezifiziert den Pfadnamen
einer Shell.EFileF/Quit                                                    ECONTROLF-Q
----------------------------------------------------------------------

Nach Auswahl von 'Quit' wird die Pure-C-Entwicklungsumgebung verlas-
sen. Wenn nderungen vorgenommen wurden, die noch nicht abgespeichert
worden sind, wird man gefragt, ob die Datei(en) zuvor gesichert wer-
den sollen.EEditF/Undo                                                         UNDO
----------------------------------------------------------------------

...  macht die letzte Editieraktion rckgngig.

Im Einzelnen sieht das so aus:

Eine EBlockoperationF wird rckgngig gemacht, dh. ein versehentlich
gelschter Block wird 'entlscht', oder ein an eine beliebige Text-
stelle verschobener oder kopierter Block wird wieder entfernt.
Bei Zeichenoperationen, also der Eingabe einzelner Zeichen oder dem
Lschen von Zeichen mit BACKSPACE oder DELETE, wird das jeweils
zuletzt editierte Zeichen gelscht bzw. 'entlscht'.
Besonders sinnvoll erweist sich die 'Undo'-Funktion also im Zusammen-
hang mit greren, unabsichtlich gelschten Textabschnitten.EEditF/Cut                                                     ECONTROLF-X
----------------------------------------------------------------------

Nachdem ein Textabschnitt EselektiertF wurde kann er mit 'Cut' in
einen Zwischenspeicher kopiert und aus dem Quelltext entfernt werden.

Der Inhalt des Zwischenspeichers kann dann mit 'EPasteF' an anderer
oder gleicher Stelle wieder eingefgt werden.EEditF/Copy                                                    ECONTROLF-C
----------------------------------------------------------------------

Nachdem ein Textabschnitt EselektiertF wurde kann er mit 'Copy' in
einen Zwischenspeicher kopiert werden. Dabei wird der Text nicht
gelscht (siehe 'ECutF').
Der Inhalt des Zwischenspeichers kann dann mit 'EPasteF' an anderer
oder gleicher Stelle wieder eingefgt werden.EEditF/Paste                                       INSERT oder ECONTROLF-V
----------------------------------------------------------------------

Nachdem ein Textabschnitt EselektiertF und mittels 'ECopyF' oder 'ECutF'
in einen Zwischenspeicher kopiert wurde, kann er mit 'Paste' an die
aktuelle Cursorposition angehngt werden.
Auch kann mit 'Paste' ein selektierter Textabschnitt durch den im
Zwischenspeicher befindlichen Text ersetzt werden.EEditF/Select All                                              ECONTROLF-N
----------------------------------------------------------------------

... EselektiertF die gesamte Datei. Dies ist vor allem dann interessant,
wenn man den Inhalt einer ganzen Datei in einer anderen Datei einfgen
will. Mit ( EEditF/ECopyF ) kann die Datei dann in einen Zwischenspeicher
kopiert werden, und in einer anderen Datei mit ( EEditF/EPasteF ) ein-
gefgt werden.EEditF/Shift Left                                              ECONTROLF-J
----------------------------------------------------------------------

Nachdem ein Textabschnitt EselektiertF wurde, kann er mit 'Shift Left'
um eine Tabulatorstelle nach links verschoben werden.EEditF/Shift Right                                             ECONTROLF-K
----------------------------------------------------------------------

Nachdem ein Textabschnitt EselektiertF wurde, kann er mit 'Shift Right'
um eine Tabulatorstelle nach rechts verschoben werden.EEditF/Cycle Windows                                           ECONTROLF-W
----------------------------------------------------------------------

... springt zum nchsten geffneten Fenster. Das nchste Fenster ist
immer das darunterliegende Fenster. Wenn nur ein Fenster geffnet ist,
hat der Befehl keine Wirkung.EEditF/User Screen                                                   ESC
----------------------------------------------------------------------

... schaltet vom Bildschirm des Entwicklungssystems auf den
Ausgabebildschirm um. Mit dem nchsten Tastendruck kehrt man wieder
zur Pure-C-Entwicklungsumgebung zurck. Damit lassen sich Bildschirm-
ausgaben von Programmen kontrollieren.ESearchF/Find...                                               ECONTROLF-F
----------------------------------------------------------------------

... sucht einen Strings in einem Text. 'Find...' kann auch rckwrts
(Backwards), ohne Beachtung von Gro- und Kleinschreibung (Ignore
Case) und der Magabe, da der String als ganzes Wort vorliegen mu
(Whole Word), durchgefhrt werden. Diese Optionen sind in einer Dia-
logbox per Mausklick schaltbar.ESearchF/Find Same                                             ECONTROLF-G
----------------------------------------------------------------------

... wiederholt die Suche nach einem String, nachdem zuvor schon der
Befehl ( ESearchF/EFind...F ) oder ( ESearchF/EFind SelectionF )
ausgefhrt wurde.ESearchF/Find Selection                                        ECONTROLF-I
----------------------------------------------------------------------

...sucht nach einem String in einem Text. Dazu EselektiertF man einen
Textabschnitt mit der Maus und ruft 'Find Selection' auf. Falls beim
Aufruf kein Text selektiert ist, so wird ein unter dem Cursor befind-
liches Wort markiert. Um nach diesem zu suchen, ist ein weiterer
Aufruf dieses Befehls erforderlich.

Wenn man z.B. den Funktionsaufruf 'printf' selektiert und dann 'Find
Selection' aufruft, dann springt der Cursor an die nchste Stelle mit
'printf'. Mit dem nchsten Aufruf von (ESearchF/EFind SameF) kann
nochmals nach 'printf' gesucht werden.ESearchF/Replace...                                            ECONTROLF-R
----------------------------------------------------------------------

... ersetzt einen String in einem Text. 'Replace...' kann auch rck-
wrts (Backwards), ohne Beachtung von Gro- und Kleinschreibung
(Ignore Case) und der Magabe, da der String als ganzes Wort vorlie-
gen mu (Whole Word), durchgefhrt werden. Zudem kann man vorgeben,
da alle gesuchten Strings in einem Text automatisch ersetzt werden
sollen (All). Diese Optionen sind in einer Dialogbox per Mausklick
schaltbar.ESearchF/Replace Same                                          ECONTROLF-T
----------------------------------------------------------------------

... wiederholt eine Textersetzung, wie sie zuvor im Befehl
( ESearchF/EReplace...F ) vorgenommen wurde.ESearchF/Check Braces                                          ECONTROLF-B
----------------------------------------------------------------------

... prft den *.C Quelltext im aktuellen Fenster auf offene
Klammerebenen und springt zu der Klammer, zu der keine
Korrespondierende gefunden werden konnte. Mit einem Doppelklick in
eine Klammerebene kann diese selektiert werden. Der Cursor springt
dann zur schlieenden Klammer '}'.ESearchF/Find Error                                            ECONTROLF-E
----------------------------------------------------------------------

... automatisiert die Fehlersuche. Dazu EselektiertF man im Fenster
'EMessagesF' mit der Maus die Fehlermeldung des Fehlers, den man kor-
rigieren will, und ruft "Find Error" auf. Automatisch ffnet sich das
Fenster mit dem fehlerhaften Programm und der Cursor springt an die
jeweilige Stelle.

Am schnellsten erreicht man die Fehlerstelle mit einem Doppelklick auf
die Fehlermeldung.ESearchF/Goto Line...                                          ECONTROLF-L
----------------------------------------------------------------------

... ist eine Mglichkeit sehr schnell zu einer bestimmten Zeile im
aktiven Fenster zu gelangen. Nach Aufruf dieses Befehls erscheint eine
Dialogbox mit der aktellen Zeilennummer. Hier knnen Sie die Nummer
der Zeile eingeben knnen, die Sie anspringen wollen.ESearchF/Search project...
----------------------------------------------------------------------

"Search project..." durchsucht alle Dateien des aktuellen
Projektes (auch Header-Dateien!) nach einem bestimmten
Suchstring. Die Fundstellen werden in das Messages-Fenster
ausgegeben und knnen von dort hnlich wie Fehlermeldungen
durch Doppelclick oder den Befehl EFind ErrorF direkt
angesprungen werden.

Voraussetzung hierfr ist das Bestehen einer Projektdaten-
bank (".PDB"-Datei) fr das aktuelle Projekt. Diese wird
angelegt, indem man in Options/Shell die Option "Project
help" aktiviert und dann das Projekt neu bersetzt (etwa
mit "Make all").

Optionen:
o "Whole word" findet den Begriff nur, wenn die links und
  rechts angrenzenden Zeichen nicht Buchstaben, Ziffern
  oder Unterstreichungszeichen sind.
o "Ignore case" lt Gro- und Kleinschreibung bei der Suche
  unbercksichtigt.
o "List only first occurrence" trgt nur das erste Vorkommen
  des Suchbegriffs in das Messages-Fenster ein.ESearchF/Search multiple...
----------------------------------------------------------------------

"Search multiple..." erlaubt es, Dateien in mehreren Ver-
zeichnisse nach einem Suchstring abzusuchen. Die Verzeichnisse
sind im Textfeld "Directories" jeweils durch einen Strichpunkt
getrennt einzutragen, etwa: "C:\PUREC\INCLUDE;D:\MEINPROJ".
Unter "Filenames" knnen Dateimasken eingetragen werden,
die nur bestimmte Dateien zur Durchsuchung auswhlen.
Zum Beispiel wrde "*.C;*.H" alle C-Quell- und Headerdateien
durchsuchen.

Die Fundstellen werden in das Messages-Fenster
ausgegeben und knnen von dort hnlich wie Fehlermeldungen
durch Doppelclick oder den Befehl EFind ErrorF direkt
angesprungen werden.

Optionen:
o "Whole word" findet den Begriff nur, wenn die links und
  rechts angrenzenden Zeichen nicht Buchstaben, Ziffern
  oder Unterstreichungszeichen sind.
o "Ignore case" lt Gro- und Kleinschreibung bei der Suche
  unbercksichtigt.
o "Search subdirectories" durchsucht auch Unterverzeichnisse,
  die in den bei "Directories" angegebenen enthalten sind.
o "List only first occurrence" trgt nur das erste Vorkommen
  des Suchbegriffs in das Messages-Fenster ein.ECompileF/Compile...                                         EALTERNATEF-V
----------------------------------------------------------------------

... compiliert einen C-Quelltext. Es erscheint zunchst die
EDateiauswahlboxF, mit der man Dateien zum Compilieren auswhlen kann.
Nach einem Doppelklick auf den Dateinamen wird die Datei compiliert.
Da die Verwaltung ber eine EProjektdateiF sehr viel eleganter ist,
erweist sich 'Compile...' nur dann als sinnvoll, wenn man compilieren,
aber nicht linken will.ECompileF/Compile ''                                         EALTERNATEF-C
----------------------------------------------------------------------

... compiliert nur den C-Quelltext aus dem aktiven Fenster.
'Compile '' ' ist nur dann sinnvoll, wenn man die Datei wegen eines
Syntax-Checks compilieren, aber nicht linken will.ECompileF/Assemble...                                        EALTERNATEF-S
----------------------------------------------------------------------

... assembliert einen Assembler-Quelltext. Es erscheint zunchst die
EDateiauswahlboxF, mit der man Dateien zum Assemblieren auswhlen kann.
Nach einem Doppelklick auf den Dateinamen wird die Datei assembliert.
Da die Verwaltung ber eine EProjektdateiF sehr viel eleganter ist,
erweist sich "Assemble..." nur dann als sinnvoll, wenn man assemblie-
ren, aber nicht linken will.ECompileF/Assemble ''                                        EALTERNATEF-A
----------------------------------------------------------------------

... assembliert den Assembler-Quelltext aus dem aktiven Fenster.
'Assemble '' ' ist nur dann sinnvoll, wenn man die Datei wegen eines
Syntax-Checks assemblieren, aber nicht linken will.ECompileF/Execute...                                         EALTERNATEF-E
----------------------------------------------------------------------

... ldt und startet fertig gelinkte Programme. 'Execute...' eignet
sich auch zum Aufruf beliebiger Utility-Programme aus Pure C heraus.
Es erscheint zunchst die EDateiauswahlboxF, mit der man Programme
zum Starten auswhlen kann.

Hinweis: Mit der Option ( EProjectF/ERun ''F ) kann man ein C-Programm
         erst compileren, linken und dann ebenfalls ausfhren lassen.EProjectF/Select...                                          EALTERNATEF-P
----------------------------------------------------------------------

... selektiert eine EProjektdateiF in der EDateiauswahlboxF.EProjectF/Debug ''                    SHIFT-EALTERNATEF-D oder EALTERNATEF-D
----------------------------------------------------------------------

... compiliert und linkt alle in der aktuellen EProjektdateiF angege-
benen und vernderten Dateien. Anschlieend wird Pure Debugger
gestartet und das in in der aktuellen EProjektdateiF angegebene,
frisch bersetzte Programm geladen.

Um auch mit wenig Arbeitsspeicher trotzdem die Mglichkeit zum
bequemen Aufruf von Pure Debugger zu nutzen, existiert auch die
Startbefehl SHIFT-ALTERNATE-D. Hierbei wird Pure C zunchst aus dem
Speicher entfernt und dann Pure Debugger gestartet. Nach dem
Verlassen von Pure Debugger wird dann dieser zu Gunsten von Pure C
entfernt. Statt SHIFT-ALTERNATE-D knnen Sie auch mit gedrckter
SHIFT-Taste den Meneintrag EProjectF/Debug '' anklicken.EProjectF/Run ''                                             EALTERNATEF-R
----------------------------------------------------------------------

... compiliert und linkt alle in der EProjektdateiF angegebenen und ver-
nderten Dateien. Wenn keine Fehler auftraten, wird das Programm
direkt im Anschlu daran ausgefhrt.EProjectF/Make ''                                            EALTERNATEF-M
----------------------------------------------------------------------

... compiliert und linkt alle in der aktuellen EProjektdateiF angege-
benen und vernderten Dateien.EProjectF/Make all ''                                        EALTERNATEF-X
----------------------------------------------------------------------

... compiliert und linkt alle in der aktuellen EProjektdateiF angege-
benen Dateien.EProjectF/Link ''                                            EALTERNATEF-L
----------------------------------------------------------------------

... linkt alle in der aktuellen EProjektdateiF angegebenen Dateien.Shelloptionen                                              EALTERNATEF-Z
----------------------------------------------------------------------

Mit EOptionsF/Shell... kann man die Tabulatorschrittweite des Editors
einstellen (Tabsize) und festlegen, ob man mit automatischer
Einrckung arbeiten will oder nicht (Auto indent). Ist die Autosave-
Option gesetzt, so werden vor jedem EExecute...F , jedem ERun ''F und
vor dem Wechsel einer Konfigurations-Datei, die Konfigurations-Datei
und alle im Speicher befindlichen und genderten Texte automatisch
gesichert.

'Use Clipboard' veranlat, da bei 'Cut' und 'Copy' der jeweilige
Text auch im GEM-Clipboard auf Disk abgelegt wird. Dies erleichtert
den Datenaustausch mit anderen Programmen.

Ist 'Project help' aktiviert, so werden globale Deklarationen in
C-Quelltexten vom Compiler in eine Datenbank (.PDB-Datei) eingetragen.
Spter kann man dann durch Selektieren eines Namens und Drcken
der Help-Taste dessen Deklaration finden.

Die Option 'Auto dependencies' veranlat die Projektverwaltung,
Abhngigkeiten von Header-Dateien automatisch bei 'Make' zu berck-
sichtigen. Voraussetzung dafr ist, da auch 'Project help' aktiviert
ist.

'Standard file selektor' schaltet auf die Benutzung des normalen
Fileselektors anstelle des Pure-C eigenen um.

Ist die Option 'Break make on warnings of' gesetzt, wird der
Compile- bzw. Link-Vorgang bei Compiler- bzw. Linker-Warnungen
abgebrochen, jenachdem ob der Schalter compiler oder linker
selektiert ist. Der Schalter EProject helpF aktiviert die
Erzeugung einer projektabhngigen Hilfefunktion zum finden von
Deklarationen.

Das EObject- und Header-File CachingF wird mittels der Optionen
Cache/Header files und Cache/Object files eingeschaltet. Soll der
Cache vor der Ausfhrung eines Programms gelscht werden, so
mssen die Schalter Clear before run/execute gesetzt werden,
jenachdem, welcher Cache (fr Object- oder Header-Files) gelscht
werden soll.

Querverweis    EWarnungenF  EEditorfunktionenF im berblickDie Projekt-Datenbank: Project Help
----------------------------------------------------------------------

Mit dem Project-Help knnen Sie sich die Deklarationen von Daten-
strukturen, Konstanten, Variablen und Funktionen schnell ansehen.
Das bliche Suchen mittels ESearch/Find...F entfllt. Zumal das
Suchen den Nachteil hat, da man wissen mu, in welcher Datei die
Deklaration steht, was besonders in groen Projekten sehr lstig
sein kann. Verwechseln Sie das Project-Help darf nicht mit dem
Ebenutzerdefiniertem HelpF.
Das Project-Help  bezieht sich stets auf das aktuelle Projekt
beziehungsweise bei verschachtelten Projekten auf das uerste.
Die Informationen fr das Project-Help werden beim bersetzen
eines Programmes erzeugt. Dazu mu unter EShell/Options/ProjectF
der Schalter Project Help gesetzt werden. Der Compiler legt dann
beim bersetzen eine Datei mit dem Namen des aktuelle Projekts
und der Extension .PDB an. Diese Projekt-Datenbank-Datei enthlt
alle Informationen, die der Editor zum Finden von Deklarationen
bentigt.
Nachdem Sie Ihr Projekt bersetzt haben, knnen Sie den Cursor
auf einen Bezeichner in einer Quelltextdatei setzen. Wenn Sie nun
die EHelpF-Taste drcken, prft Pure C zunchst, ob in den Help-
Dateien ein Eintrag zu dem betreffenden Bezeichner vorhanden ist.
Wenn dies nicht der Fall ist, dann wird in der Projekt-Datenbank
nach dessen Deklaration gesucht und diese im Quelltext angezeigt.
Durch Undo gelangt man wieder an die urspngliche Editierposition.File Caching
----------------------------------------------------------------------

Um die bersetzungzeiten weiter zu verringern, kann Pure C Include-
und Object-Dateien cachen. Cachen bedeutet, da eine Datei in den
Arbeitsspeicher geladen wird und alle weiteren lesenden Zugriffe auf
die Kopie der Datei im Speicher stattfinden. Caching ist schneller
als die Benutzung einer RAM-Disk.
Ein Chache bentigt je nach Gre Ihrer Projekte entsprechend viel
Arbeitsspeicher. Sollte Ihnen der Speicher ausgehen, so knnen Sie
den Cache deaktivieren. Das Caching fr Include- und Object-Dateien
kann unabhngig voneinander ausgeschaltet werden, so da Sie Sich
schrittweise mehr freien Speicher verschaffen knnen. Die Schalter
hierzu finden Sie unter EOptions/Shell/CacheF. Wenn Sie Header files
selektieren, werden die Include-Dateien gecachet, bei Selektion von
Object file die Object-Dateien.
Erzeugt Pure C eine neue Object-Datei, so wird diese auch bei
aktiviertem Cache auf Diskette beziehungsweise Festplatte geschrieben.
Wenn Ihnen der Speicher beim Testen beziehungsweise Ausfhren Ihrer
Programme ausgeht, so mssen Sie nicht auf das Caching verzichten.
In solchen Fllen knnen Sie Pure C anweisen, den Cache-Speicher vor
Ausfhrung eines Programmes freizugeben. Hierzu dienen die beiden
Schalter Clear before run/execute unter Options/Shell/Cache, die
jeweils getrennt fr Include- und Object-Dateien vorhanden sind.
Diese Schalter sollten Sie ebenfalls Setzen, wenn das auszufhrende
Programm den Inhalt einer gecacheten Datei verndert. Pure C kann
die Aktualitt des Caches nur dann gewhren, wenn es das einzige
Programm ist, das Zugriff auf die gecacheten Dateien hat.Compileroptionen                                           EALTERNATEF-U
----------------------------------------------------------------------

Mit ( EOptionsF/ Compiler ) kann man den Compiler konfigurieren. In
diesem Untermen knnen zehn Schalter zur Steuerung des bersetzungs-
vorgangs gesetzt werden:

     -A   Keine Erweiterungen des ANSI-Standard zulassen
          (ANSI keywords only)
     -C   Verschachtelte Kommentare zulassen
          (Allow nested comments)
     -Y   Informationen fr Pure Debugger erzeugen
          (Add debug Information)
     -T   Stack zur Laufzeit berprfen
          (Stack checking)
     -B   DRI-Object Format erzeugen (keine Debug-Information mglich)
          (Generate DRI Object-Format)
     -X   Vor jedem Symbol einen '_' setzen
          (Generate underbars)
     -H   Alle Funktionen erhalten ihre Parameter auf dem Stack und
          geben ihr Ergebnis in D0 zurck
          (Use cdecl calling)
     -Q   Alle Funktionen erhalten ihre Parameter von links nach
          rechts auf dem Stack und geben ihr Ergebnis in D0 zurck
          (Use pascal calling)
     -K   Standard-Datentyp fr char ist unsigned
          (Default char is unsigned)
     -J   Programmsprnge nicht optimieren
          (No jump optimization)
     -Z   bereits geladene Register-Werte nicht bercksichtigen
          (No register optimization)
     -M   Doppelte Strings nicht zusammenlegen
          (No string merging)
     -R   Keine Register-Variablen
          (No register variables)
     -G   Grenoptimierung
          (Size optimization)
     -P   absolute Unterprogrammaufrufe
          (Use absolute calls)
     -S   LINK- und UNLINK-Anweisungen verwenden
          (Standard stack frames)
     -2   Code fr 68020 Prozessor erzeugen
          (Generate 68020 Code)
     -8   Code fr 68881 Coprozessor erzeugen
          (Generate 68881 Code)

Anmerkung:  Wenn Sie Ihre Programme mit dem Schalter -8 bersetzen
            und auf Ihrem Rechner eine FPU vom Typ MC68881 oder
            MC68882 installiert ist, sollten Sie die Bibliothek
            PC881LIB.LIB statt PCFLTLIB.LIB in Ihrer Projektdatei
            angeben. Beachten Sie, da dies nicht fr die Coprozessor-
            Karte SFP004 von Atari gilt, da diese nicht ber den
            Line-F-Emulator angesteuert wird.

Im Eingabefeld (Include directory) wird der Pfad angegeben, unter
dem die Headerdateien (*.H) zu finden sind, beispielsweise

include          ... wenn sich der Ordner 'INCLUDE' mit den Headers
                 neben PC.PRG befindet.
d:\pc\include    ... wenn sich der Ordner auf einem anderen Laufwerk
                 (z.B. Ramdisk) befindet.

Unter (Output directory) wird der Pfad definiert, unter dem die
erzeugten Objekt-Dateien (*.O) abgelegt werden sollen. Darberhinaus
kann man Makros vorgeben (Define Macros) und festlegen, nach
wievielen EFehlerFn (Stop after ... errors) und EWarnungenF
( Stop after ... warnings) der Compilerlauf abgebrochen werden soll.
Die maximale Lnge fr Bezeichner, die noch unterschieden werden
knnen, kann von 1 bis 255 eingestellt werden (Maximum identifier
length), und die Warnstufe kann von 0 bis 2 vorgegeben werden
(Warning level).Warnungen
----------------------------------------------------------------------

... des Compilers knnen ber die ECompileroptionenF oder ber
E#pragma warnF eingestellt werden.

Die Warnungen der Compilers knnen in 4 Gruppen eingeteilt werden:

EVerletzung des ANSI-StandardsF
EHufig auftretende FehlerF
EWeniger hufige FehlerF
EWarnungen vor PortabilittsproblemenFVerletzung des ANSI-Standards
-----------------------------

Krzel fr E#pragma warnF
|    EWarninglevelF, ab dem diese Warnung eingeschaltet ist
|    |  
dup [1] Redefinition of 'XXXXXX' is not identical.
        Ein bereits bestehendes Makro wurde umdefiniert. Abhilfe
        durch E#undefF.
ret [1] Both return and return of a value used.
        Die return-Anweisungen der Funktion liefern im einen Fall
        einen  Wert, im anderen nicht.
str [1] 'XXXXXX' not part of structure.
        'XXXXXX' ist kein Mitglied einer Struktur.
stu [1] Undefined structure 'XXXXXX'.
        Struktur 'XXXXXX' nicht definiert.
sus [1] Suspicious pointer conversion.
        Verdchtige Zeigerumwandlung.
voi [1] Void functions may not return a value. 
        void-Funktionen drfen kein Ergebnis zurckliefern.
zst [1] Zero length structure.
        Struktur hat Lnge Null.

        EWarnungenFHufig auftretende Fehler
-------------------------

Krzel fr E#pragma warnF
|    EWarninglevelF, ab dem diese Warnung eingeschaltet ist
|    |  
aus [1] 'XXXXXX' is assigned a value which is never used.
        'XXXXXX' erhlt einen Wert zugewiesen, der nicht weiter verwendet
        wird.
def [1] Possible use of 'XXXXXX' before definition.
        'XXXXXX' wird vor der Zuweisung eines Wertes verwendet.
eff [1] Code has no effect.
        Wirkungsloser Code.
par [1] Parameter 'XXXXXX' is never used.
        Parameter 'XXXXXX' wird nicht verwendet.
pia [1] Possible incorrect assignment.
        Zuweisung in einem if-statement mglicherweise falsch.
rch [1] Unreachable code.
        Programm-Code unerreichbar.
rvl [1] Function should return a value.
        Funktion sollte einen Wert zurckliefern.

        EWarnungenFWeniger hufige Fehler
----------------------

Krzel fr E#pragma warnF
|    EWarninglevelF, ab dem diese Warnung eingeschaltet ist
|    |  
amb [2] Ambiguous operators need parentheses.
        Zweideutige Operatoren sollten in Klammern aufgegliedert
        werden. Der ANSI-Standard schreibt zwar eine eindeutige
        Rangfolge der Operatoren vor, jedoch sind manchmal allein
        wegen der Lesbarkeit Klammern angebracht.
amp [2] Superfluous & with function or array.
        berflssiger Adress-Operator vor Funktion oder Array.
mlt [2] Hexadecimal constant too large.
        Die Hexadezimale Konstante in Ihrem String ist zu gro, so da
        sie nicht mehr in einem Byte abgelegt werden kann.
nod [2] No deklaration for function 'XXXXXX'.
        Funktion 'XXXXXX' nicht deklariert.
pro [1] Call to function 'XXXXXX' with no prototype.
        Funktionsaufruf ohne Prototyp. Erzeugen Sie bitte einen Proto-
        typ bzw. prfen Sie, ob Sie alle notwendigen Headers einge-
        bunden haben. EPrototypenF sind sehr wichig, das sonst der 
        Compiler unter Umstnden falsche bergabe- bzw. Rckgabe-
        register verwendet (EParameterbergabeF).
stv [2] Structure passed by value.
        Struktur als Wert bergeben. Dies ist zwar nach ANSI erlaubt,
        nicht jedoch im K&R-Standard.
use [2] 'XXXXXX' declared but never used.
        'XXXXXX' deklariert aber nicht verwendet.

        EWarnungenFWarnungen vor Portabilittsproblemen
------------------------------------

apt [1] Non portable pointer conversion.
        Nicht portable Zeigerumwandlung.
cln [2] Constant is long.
        long-Konstante. Geben Sie den expliziten Zusatz L bzw. l an.
cpt [1] Non portable pointer comparision.
        Nicht portabler Zeigervergleich.
rng [1] Constant out of range in comparision.
        Konstante zu gro in Vergleichsaudruck. Die Warnung erhalten 
        Sie, wenn Sie z.B. eine als unsigned deklarierte Variable auf
        Negativitt berprfen.
sig [2] Conversion may lose significant digits.
        Verlust signifikanter Ziffern bei Umwandlung.
ucp [2] Mixing pointers to signed and unsigned char.
        Gemischte Zeiger auf signed und unsigned char.
rpt [1] Non portable pointer assignement.
        Nicht portable Umwandlung bei Ergebnis-Rckgabe.

        EWarnungenFFehlermeldungen des Compilers
-----------------------------

Im Gegensatz zu den EWarnungenF wird bei Fehlermelungen des 
Compilers der Projektlauf IMMER abgebrochen.

EFehlermeldungen des PrprozessorsF
EFehlermeldungen bei FunktionsdeklarationenF
EFehlermeldungen bei FunktionsaufrufenF
EFehlermeldungen bei DeklarationenF
EFehlermeldungen bei SchleifenF
EFehlermeldungen bei If-/Switch-statementsF
EFehlermeldungen in StatementsF
EFehlermeldungen bei KonstantenF
EDiverse FehlermeldungenFFehlermeldungen des Prprozessors
---------------------------------

- # operator not followed by macro argument name
  Dem #-operator folgt kein Macroargument (EFunktionen-MakrosF). 

- Bad file name format in include directive
  Das Format des Dateinamens fr die E#includeF-direktive ist falsch.

- Bad ifdef directive syntax
- Bad ifndef directive syntax
- Bad undef directive syntax
  Nach diesen Direktiven folgt eine MACRO-name und sonst nichts.

- Define directive needs an identifier
  Die haben bei der E#defineF-direktive den Bezeichner vergessen.

- Error directive: 'XXXXXX'
  Fehlermeldung auf Grund einer E#errorF-direktive.

- File name too long
  Der Dateiname fr die E#includeF-direktive ist zu lang.

- Invalid macro argument seperator
  Makroargumente mssen durch Kommata (,) getrennt werden. 

- Macro argument syntax error

- Macro expansion too long
  Die Makroerweiterung erzeugt mehr als 4096 Zeichen, prfen Sie, ob eine
  rekursive Definition vorliegt.

- Misplaced elif directive
- Misplaced else directive
- Misplaced endif directive
  Der Compiler erwartet die Direktive an dieser Stelle nicht. Wahrschein-
  lich haben Sie die zugehrige E#ifF-direktive vergessen.

- No file name ending
  Dateiname fr die E#includeF-direktive mu mit " oder > abgeschlossen
  sein.

- Unable to open include file 'XXXXXX'
  Die Datei fr die E#includeF-direktive konnte nicht geffnet werden.

- Unexpected end of file in comment started at line #
  Kommentare mssen abgeschlossen sein. "Dateiende" innerhalb eines 
  Kommentars ist unzulssig.

- Unexpected end of file in conditional started at line #
  Prprozessorbedingungen mssen durch E#endifF nicht durch Dateiende
  beendet werden.

- Unknown preprocessor directive 'XXXXXX'
  Es gibt zwar eine ganze Reihe von Prprozessordirektiven, aber das geht 
  zu weit.

- Wrong number of arguments in call of 'XXXXXX'
  Wie bei Funktionsaufrufen, mssen auch bei EFunktionen-MakrosF die
  Anzahl der Parameter genau stimmen. Prfen Sie den "Aufruf" oder die
  Definition des Makros.Fehlermeldungen bei Funktionsdeklarationen
------------------------------------------

- 'XXXXXX' not an argument
  Sie geben den Datentyp eines Parameters an, der aber in der Parameter-
  liste nicht erscheint. (Nur bei der klassischen Deklaration).

- Argument # missing name
  Ein Formalparameter mu immer einen Namen haben.

- Argument list syntax error
  Allgemeiner Fehler in der Formalarameterliste.

- Conflicting type modifiers
  EunsignedF und EsignedF bzw. EcdeclF und EpascalF drfen nicht
  gemeinsam benutzt werden.

- Function definition out of place
  An dieser Stelle wurde keine Funktionsdefinition erwartet. Haben Sie 
  vieleicht ein Semicolon vergessen?

- Incompatible storage class
  Funktionsdefinitionen drfen nicht EexternF sein.
  
- Mismatched number of parameters in definition
  Unterschiedliche Parameteranzahl in Prototyp und Definition.

- Not an allowed type
  Funktionen oder Array drfen nicht zurckgeliefert werden.

- Two consecutive dots
  Es gibt zwar einen Punkt (bei Structuren) und drei Punkte (varaiable 
  Anzahl von Parametern) aber nicht zwei Punkte. Also ist entweder einer 
  zuviel oder einer zu wenig.

- Type mismatch in redeclaration of 'XXXXXX'
  Sie defineren die Funktion anders als sie deklaraiert wurde. Die kann 
  auch dann passieren, wenn Sie eine Funktionen definieren, die bereits 
  ohne Prototyp aufgerufen wurde. Dann nimmt nmlich der Compiler an es 
  wre eine EintF-funktion.Fehlermeldungen bei Funktionsaufrufen
-------------------------------------

- Call of non-function
  Der Bezeichner ist zwar bekannt, aber KEINE Funktion.

- Extra parameter in call to 'XXXXXX'
  Sie bergeben einer Funktion zu viele Paramter. Prfen Sie den Aufruf 
  oder den Prototypen.

- Function call missing )
  Die abschlieene Klammer fehlt.

- Not an allowed type
  Von einer als EvoidF deklarierten Funktion drfen Sie keine Rckgabe-
  werte erwarten.

- Too few parameters in call to 'XXXXXX'
  Es fehlt ein Parameter. Prfen Sie den Aufruf oder den Prototypen.

- Type mismatch in parameter 'XXXXXX' in call to function 'XXXXXX'
  Sie bergeben einen falschen Parameter, der beim besten Willen nicht 
  konvertiert werden kann.Fehlermeldungen bei Deklarationen
---------------------------------

- Array bounds missing ]
  Die abschlieene Klammer konnte nicht entdeckt werden.

- Bit field size syntax
  Bitfields drfen nicht grer als 32 Bit gro sein.

- Conflicting type modifiers
  EunsignedF und EsignedF bzw. EcdeclF und EpascalF drfen nicht
  gemeinsam benutzt werden.

- Declaration missing ;
  Das abschlieende Semicolon fehlt.

- Declaration needs type or storage class
  Ein Bezeichner mu nher bestimmt sein, also zumindest der Typ und/oder
  die Speicherklasse mu angegeben sein.

- Declaration syntax error
  Allgemeiner Fehler bei der Deklaration.

- Enum syntax error
  Irgendwas beim EenumF ist Falsch.

- Illegal initialization
  Eine Variable mu mit einer Konstanten oder der Addresse einer globalen
  Variablen ( EstaticF oder EexternF) +/- einer Konstandte initiali-
  siert werden.

- Initializer syntax error
  Die Werte, mit denen eine Variable initalisiert werden soll, sind kein
  gltiger C-Ausdruck.

- Redeclaration of 'XXXXXX'
  Eine Variable darf nur einmal deklariert sein.

- Structure or union syntax error
  Weder ein Bezeichner noch die ffnende geschweifte Klammer konnte
  entdeckt werden.

- Too many initializers
  Ein Array bzw. eine Struktur kann nicht mit mehr Werten initialisiert
  werden, als Speicherplatz zur Verfgung gestellt wird.

- Too many storage classes in declaration
  Entweder EexternF oder EstaticF, beides geht nicht.

- Too many types in declaration
  Eine Variable kann nicht mehrer Typen besitzen, dafr gibt es EunionF.

- Too much auto memory
  Lokale Variablen drfen nicht mehr als 32kb beanspruchen. Beachten Sie,
  da der Compiler nicht die TATSCHLICHE Stacksize berprft.

- Two consecutive dots
  Es gibt zwar einen Punkt (bei Structuren) und drei Punkte (varaiable 
  Anzahl von Parametern) aber nicht zwei Punkte. Also ist entweder einer 
  zuviel oder einer zu wenig.Fehlermeldungen bei Schleifen
-----------------------------

- Do statement must have while
  EdoF ohne while gibt es nicht.

- Do-while statement missing (
- Do-while statement missing )
- Do-while statement missing ;
  Das angegeben Zeichen konnt nicht entdeckt werden.

- For statement missing (
- For statement missing )
- For statement missing ;
  Das angegeben Zeichen konnt nicht entdeckt werden.
  
- Misplaced break
  EbreakF an dieser Stelle nicht erwartet. Prfen Sie die geschweiften
  Klammern.

- Misplaced continue
  EcontinueF an dieser Stelle nicht erwartet. Prfen Sie die geschweiften
  Klammern.

- while statement missing (
- while statement missing )
  Die Klammer im EwhileF-statement wurde nicht gefunden.Fehlermeldungen bei If-/Switch-statements
-----------------------------------------

- Case outside of switch
  EcaseF an dieser Stelle nicht erwartet. Prfen Sie die geschweiften
  Klammern.

- Case statement missing :
  Der Doppelpukt fehlt.

- Constant expression required
  Bei EcaseF drfen nur Konstanten geprft werden.

- Default outside of switch
  EdefaultF an dieser Stelle nicht erwartet. Prfen Sie die geschweiften
  Klammern.

- Duplicate case
  Eine Konstante darrf nur einmal geprft werden.

- If statement missing (
- If statement missing )
  Die Klammer im EifF-statement wurde nicht gefunden.
  
- Incorrect use of default
  Das Semicolon wurde nicht gefunden.

- Misplaced break
  EbreakF an dieser Stelle nicht erwartet. Prfen Sie die geschweiften
  Klammern.

- Misplaced else
  EelseF an dieser Stelle nicht erwartet. Prfen Sie die geschweiften
  Klammern oder die Semicolons.


- Switch statement missing (
- Switch statement missing )
  Die Klammer im EswitchF-statement wurde nicht gefunden.

- Too many cases
  Zuviele EcaseF-anweisungen.

- Too many default cases
  Es ist nur ein EdefaultF-fall erlaubt.Fehlermeldungen in Statements
-----------------------------

- Ambiguous symbol 'XXXXXX'
  Sie haben in zwei oder mehreren verschiedenen Strukturen jeweils
  den gleichen Namen fr ein Element vergeben. Das ist nicht weiter 
  schlimm, aber wenn Sie ber diesen Namen einen nicht nher bestimm-
  ten Zeiger dereferenzieren wollen, wei der Compiler nicht mehr
  weiter, sie mssen also den Zeiger nher bestimmen (casten).

- Array bounds missing ]
  Die abschlieende, eckige Klammer fehlt.

- Cannot modify a const object
  Als EconstF deklarierte Objekte drfen nicht verndert werden.

- Cast syntax error
  Beim Casten haben Sie was falsch gemacht. Prfen Sie alle Klammern.

- Compound statement missing }
  Ein Anweisungsblock mu mit } abgeschlossen werden.

- Expression syntax
  Irgendwas ist falsch. Prfen Sie die richtige Anwendung der 
  Operatoren.

- Function doesn't take variable number of arguments
  Sie benutzen Eva_startF, Eva_argF oder Eva_endF, aber Ihre
  Funktion will nur eine fixe Anzahl Parameter.

- Goto statement missing label
  Das Sprungziel fr das EgotoF-statement konnte nicht gefunden 
  werden. Ist es auch wirklich in der gleichen Funktion?

- Illegal character 'C' (0xXX)
  Dieses Zeichen wurde nicht erwartet.

- Illegal pointer substraction
  Pointer nur gleichen Typs drfen substrahiert werden.

- Illegal structure operation
  Sie verwenden den . oder -> Operator nicht auf eine Struktur oder
  auf einen Zeiger auf eine Struktur.

- Illegal use of floating point
  An dieser Stelle ist eine Fliekommazahl nicht erlaubt.

- Illegal use of pointer
  An dieser Stelle ist ein Zeiger nicht erlaubt.

- Improper use of typedef symbol
  Sie haben einen mit EtypedefF definierten Bezeichner wie eine 
  Variable verwendet.

- Incompatible type conversion
  Folgene Typumwandungen sind in beiden Richtungen NICHT erlaubt:
  Funktion        <-->           Variable
  Struktur/Array  <-->  einfache Variable
  Zeiger          <-->     Fliekommazahl

- Invalid indirection
  Es knnen nur Zeiger, die nicht als void * deklariert sind, 
  dereferenziert werden.

- Invalid pointer addition
  Pointer nur gleichen Typs drfen substrahiert werden.

- Invalid use of arrow
- Invalid use of dot
  Auf den -> bzw. . Operator mu der Name eines Strukturelements 
  folgen.

- Lvalue required
  Sie versuchen eine Konstante zu modifizieren. Vieleicht haben Sie
  die Addresse eines Arrays auf del linken Seite des = Operators.

- Must be addressable
- Must take address of memory location
  Dieses Object steht nicht im Arbeitsspeicher und demnach auch keine
  Adresse.

- Pointer required on left side of ->
  Der -> operator ist nur auf Zeigern erlaubt.

- Size of structure or array not known
  Die Gre eine Struktur bzw. eines Array ist notwendig aber zu 
  diesem Zeitpunkt (noch) nicht bekannt.

- Statement missing ;
  Jede Anweisung mu mit einem Semicolon abgeschloen werden.

- Undefined label 'XXXXXX'
- Undefined structure 'XXXXXX'
- Undefined symbol 'XXXXXX'
  Diese Bezeichner sind (noch) nicht bekannt.Fehlermeldungen bei Konstanten
------------------------------

- Character constant too long
  Eine Zeichenkonstante darf nur ein oder 2 Zeichen enthalten.

- Division by zero
  Eine Division durch 0 ist beim besten Willen nicht erlaubt.

- Enumeration constant syntax error
  Der angegeben Wert ist KEINE Konstante (EenumF).

- Hexadecimal constant too large
  Die hexadezimale Konstante ist zu gro.

- Illegal octal digit
  Oktalziffern gehen von 0 bis 7. Mglicherweise haben Sie unbeabsichtigt
  (oder nicht wissend) eine fhrende 0 in Ihrer Konstante.

- Incorrect number format
  Integerkonstanten drfen keinen Dezimalpunkt enthalten. 

- Misplaced decimal point
  Dezimalpunkt im Exponenten von Fliekommazahlen ist nicht erlaubt.

- Numeric constant too large
  Numerische Konstante ist zu gro.

- Too many decimal points
  Ein Dezimalpunkt bei Fliekommazahlen ist nur erlaubt.

- Too many exponents
  Nur ein Exponent darf angegeben werden.

- Unterminated character constant
- Unterminated string
- Unterminated string or character constant
  String- und Zeichenkonstanten mssen mit dem gleichen Zeichen ab-
  geschlossen werden, mit dem sie anfangen (" oder ').Diverse Fehlermeldungen
-----------------------

- Error writing output file
  Es konnte keine weiteren Daten in die Objektdatei geschrieben werden,
  ist die Diskette voll?

- Incorrect ... option
  Sie haben in Ihrer Projektdatei eine Option angegeben, die der 
  Compiler nicht kennt.

- Out of memory
  Entfernen Sie alle residenten Programme, die nicht unbedingt 
  notwendig sind und/oder verkleinern Sie Ihre Module.

- Too many error or warning messages
  Die bei den ECompileroptionenF eingestellte, maximale Anzahl von
  Fehlermeldungen  oder Warnungen wurde erreicht.

- Unable to create output file 'XXXXXX'
  Die Objektdatei konnte nicht angelegt werden. Ist die Diskette/Datei 
  schreibgeschtzt? Existiert der Pfad?Assembleroptionen                                          EALTERNATEF-I
----------------------------------------------------------------------

Mit ( EOptionsF/Assembler ) kann man den Assembler konfigurieren. Die
folgenden Schalter regeln die Assemblierung:

    -1   68010-Befehle zulassen.          (MC68010 insruction set)
    -2   68020-Befehle zulassen.          (MC68020 insruction set)
    -3   68030-Befehle zulassen.          (MC68030 insruction set)
    -4   68040-Befehle zulassen.          (MC68040 insruction set)
    -5   68851-Befehle zulassen.          (MC68851 insruction set)
    -8   68881-Befehle zulassen.          (MC68881 insruction set)
    -S   Supervisor-befehle zulassen.     (Privileged instructions)
    -Y   Informationen fr Pure Debugger erzeugen
                                          (Add debug information)
    -B   DRI-Object Format erzeugen (keine Debug-Information mglich)
                                          (Generate DRI Object-Format)
    -C   Include-Dateien nicht ausgeben.  (No include line listing)
    -F   Nichtzutreffende Teile bei der bedingten Assemblierung
         nicht ausgeben.                  (No false condition listing)
    -M   Keine Makro-Zeilen ausgeben.     (No macro line listing)
    -A   Alle Makros expandiert ausgeben. (List all macro lines)
    -P   Listing ausgeben                 (Print a listing)
    -U   Nicht definierte Labels und Symbole werden als extern
         deklariert betrachtet.           (Undefined symbols external)
    -V   Ausfhrlichen Bericht ausgeben.  (Verbose message output)

Im Eingabefeld (Include directory) wird der Pfad angegeben, unter
dem Includedateien zu finden sind. Unter (Output directory) wird
der Pfad definiert, unter dem die erzeugten Objekt-Dateien (*.O)
abgelegt werden sollen. Darberhinaus kann man unter (Define macro)
ein Makro definieren.Linkeroptionen                                             EALTERNATEF-O
----------------------------------------------------------------------

Mit ( EOptionsF/Linker ) kann man dan Linker konfigurieren. Die folgen-
den Schalter regeln den Linkvorgang:

     -G   Globale Symbole in Symboltabelle einfgen.
          (Add global symbols to the symbol table)
     -L   Lokale Symbole in Symboltabelle einfgen.
          (Add local symbols to the symbol table)
     -Y   Informationen fr Pure Debugger hinzufgen.
          (Add debug information)
     -J   Neue Objektdatei (*.O) erzeugen.
          (Generate new object file)
     -F   Fastload-Bit nicht setzen (Fastload-Bit ab TOS 1.4).
          (Don't set fastload bit)
     -R   Das Programm wird in ST-RAM geladen (nur auf Atari TT).
          (Load program to ST-RAM)
     -M   Malloc-Aufrufe reservieren ST-RAM (nur auf Atari TT).
          (Mallocs for ST-RAM)
     -V   Ausfhrliche Mitteilungen im Fenster 'EMessagesF'.
          (Verbose message output)

In den Eingabefeldern (Text segement address), (Data segement
address) und (BSS segement address), kann man die Startadresse
fr das TEXT-, DATA- und BSS-Segment festlegen, um ROM-fhigen
Code zu erzeugen. Darberhinaus kann man die Stack-Gre in
Bytes (Stacksize: ______ bytes) und die Heapgre in KBytes
einstellen (Heapsize: ______ K bytes). Die Heapgre wird
jedoch nur auf TT-Rechnern beachtet. Der Pfad unter dem der
Linker die Bibliotheksdateien finden kann, wird unter (Library
directory) angegeben.

Der Linker verarbeitet sowohl das neue Pure-Objektformat, als
auch das DRI-Objektformat. Das Format einer Objektdatei erkennt
er automatisch.
Das Pure-Objektformat ist so kompakt, da es kein seperates
Bibliotheksformat gibt. Wenn Sie eine Bibliothek erstellen wollen,
linken Sie die Objektdateien einfach zu einer neuen Objektdatei
zusammen.EOptionsF/Load...                                            EALTERNATEF-J
----------------------------------------------------------------------

... ldt die Parameter der integrierten Entwicklungsumgebung (fr
Editor, Compiler, Linker und Assembler) aus einer Datei, die mittels
EOptionsF/ESave ''F gespeichert wurde und per EDateiauswahlboxF
geawhlt werden kann. In der Voreistellung heit sie PC.CFG. Pure C
ldt diese Datei beim Start automatisch. Falls Sie einige Optionen
vorbergehend verndert haben, knnen Sie mit 'Load...' den
ursprnglichen Zustand wieder herstellen.EOptionsF/Save ''                                            EALTERNATEF-H
----------------------------------------------------------------------

... speichert die eingestellten Parameter der integrierten Entwick-
lungsumgebung (fr Editor, Compiler, Linker und Assembler) in der
aktuellen Konfigurationsdatei. Sie trgt den Namen 'PC.CFG', falls
nicht mittels ( EOptionsF/Load...) eine andere *.CFG-Datei
ausgewhlt wurde. Ist die Editoroption 'Auto Save' aktiv, so wird
beim Verlasen von Pure C diese Datei automatisch gesichert.

In einer *.CFG Datei wird die Gesamtkonfiguration von Pure C
gespeichert, d.h.: Wird Pure C verlassen und neu gestartet, so hat
sich NICHTS verndert! Lediglich Help-Windows werden geschlossen.'Alternate Codes' in Pure C (Project Kommandos)
----------------------------------------------------------------------

  Taste(n)      Funktion
----------------------------------------------------------------------

  ALTERNATE-A   *.S-Datei des aktuellen Fensters assemblieren
                ( ECompileF/ EAssemble ''F )
  ALTERNATE-C   *.C-Datei des aktuellen Fensters compilieren
                ( ECompileF/ ECompile ''F )
  ALTERNATE-D   EMake ''F ausfhren und Debugger starten
                ( EProjectF/ EDebug ''F )
  ALTERNATE-E   externes Programm ausfhren ( ECompileF/ EExecute...F )
  ALTERNATE-I   Assembleroptionen einstellen ( EOptionsF/ EAssemblerF )
  ALTERNATE-J   Konfigurationsdatei laden ( EOptionsF/ ELoad...F )
  ALTERNATE-H   Konfigurationsdatei spechern ( EOptionsF/ ESave ''F )
  ALTERNATE-L   link aktuelles Project ( EProjectF/ ELink ''F )
  ALTERNATE-M   make aktuelles Project ( EProjectF/ EMake ''F )
  ALTERNATE-O   Linkeroptionen einstellen ( EOptionsF/ ELinkerF )
  ALTERNATE-R   run aktuelles Project ( EProjectF/ ERun ''F )
  ALTERNATE-S   externe Datei assemblieren ( ECompileF/ EAssemble...F )
  ALTERNATE-U   Compileroptionen einstellen ( EOptionsF/ ECompilerF )
  ALTERNATE-V   externe Datei assemblieren ( ECompileF/ ECompile...F )
  ALTERNATE-X   make all aktuelles Project ( EProjectF/ EMake all ''F )
  ALTERNATE-Z   Shelloptionen einstellen ( EOptionsF/ EShellF )Der Editor von Pure C
----------------------------------------------------------------------

Da der Editor fr den Atari-Benutzer ungewohnt sein drfte, bedarf er
einer ausfhrlicheren Erklrung.
Zu den Besonderheiten dieses Editors zhlen die EBlockoperationenF,
wobei zuvor ein Textabschnitt EselektiertF werden mu.
Es knnen bis zu sechs Editorfenster geffnet, und auf diese Weise
mehrere Programmtexte gleichzeitig bearbeitet werden. Allerdings
bentigt das 'EHelpF' und der Compiler fr seine EMessagesF auch jeweils
ein Fenster, so da Ihnen im ungnstigsten Fall vier Fenster zum
Editieren brig bleiben.
Die Bedienung der GEM-Fenster wird Ihnen vom Desktop her bekannt sein.
Im 'EMessagesF'- und 'Help'-Fenster kann nicht editiert werden, ein mar-
kierter EBlockF kann aber vom 'Help'-Fenster in ein Quelltextfenster
kopiert werden.

Querverweis   EEditorfunktionenF im berblick'Messages'
----------------------------------------------------------------------

Das 'Messages'-Fenster wird von Compiler, Assembler und Linker ge-
ffnet, um Fehler oder EWarnungenF auszugeben.
Nachdem eine Zeile in diesem Fenster EselektiertF wurde, kann mittels
der EFind ErrorF-Funktion der Fehler (oder die Warnung) direkt im
entsprechenden Quelltext angesprungen werden. Falls ntig wird dazu
der Quelltext in den Speicher geladen.Liste der Editor-Funktionen:
----------------------------------------------------------------------

Tastenkombination   | Erklrung
--------------------+-------------------------------------------------
Return              | Neue Zeile wird eingefgt.
Backspace           | Lscht ein Zeichen bzw. eine Tabulatorstelle
                    | vor dem Cursor.
                    | Steht der Cursor am Zeilenanfang, springt.
                    | er an das Ende der vorherigen Zeile.
Delete              | Lscht ein Zeichen bzw. eine Tabulatorstelle
                    | nach dem Cursor.
                    | Steht der Cursor am Zeilenende, rckt die
                    | nachfolgende Zeile auf.
Tab                 | Cursor springt zur nchsten Tabulatorstelle
                    | Diese kann ber die Editoroptionen
                    | eingestellt werden.
Home                | Cursor springt an den Textanfang.
Shift-Home          | Cursor springt an das Textende.
Arrow-up            | Cursor springt eine Zeile nach oben.
Arrow-down          | Cursor springt um eine Zeile nach unten.
Arrow-left          | Cursor springt um ein Zeichen (bzw. eine
                    | Tabulatorstelle) nach links.
Arrow-right         | Cursor springt um ein Zeichen (bzw. eine
                    | Tabulatorstelle) nach rechts.
Shift-arrow-up      | Cursor springt um eine Seite nach oben.
Shift-arrow-down    | Cursor springt um eine Seite nach unten.
Shift-arrow-left    | Cursor springt an den Zeilenanfang.
Shift-arrow-right   | Cursor springt an das Zeilenende.
Control-arrow-left  | Cursor springt ein Wort nach links.
Control-arrow-right | Cursor springt ein Wort nach rechts.Die Blockoperationen des EEditorsF
----------------------------------------------------------------------

... lassen sich in drei Abschnitte aufteilen.

- zuerst wird ein Textabschnitt EselektiertF.
- Dann wird er durch 'ECopyF' oder 'ECutF' in einen Zwischenspeicher
  kopiert und bleibt dort bis zum nchsten 'Copy'- bzw. 'Cut'-Befehl.
  Whrend 'Copy' nur den selektierten Textabschnitt kopiert, wird er
  durch 'Cut' anschlieend im Text gelscht.
  Hinweis: ECONTROLF-Y (Zeile lschen) kopiert die gelschte Zeile
           auch in den Zwischenspeicher.
- Nun kann mit 'EPasteF' der im Zwischenspeicher befindliche Text-
  abschnitt an die aktuelle Cursorposition angehngt werden, oder
  ein selektierter Textabschnitt durch den im Zwischenspeicher
  befindlichen Text ersetzt werden.

Mit EShift RightF bzw. EShift LeftF unter dem Menpunkt EEditF kann
ein Block um eine Tabulatorstelle nach rechts bzw. links verschoben
werden.
Mit EUndoF lassen sich Blockoperationen rckgngig machen.Blockselektierung
----------------------------------------------------------------------

Zur Blockselektierung stehen mehrere Mglichkeiten zur Auswahl:

- Mit gedrckter linker Maustaste wird ber den gewnschten Text-
   abschnitt gefahren.
- Mit gedrckter SHIFT-Taste und einem Klick auf die linke Maus-
   taste wird der Textabschnitt zwischen Cursor- und Maus-Position
   selektiert.
   Hinweis: Der Cursor bleibt durch Textscrollen mit der Maus
            (z.B. durch verschieben der Scrollbalken) an seiner
            alten Position. So knnen auch Textabschnitte, die grer
            sind als das Fenster selektiert werden.
- Ein Doppelklick selektiert ein einzelnes Wort.
- Durch SHIFT und 'Doppelklick' wird eine Zeile selektiert.
- ECONTROLF-N selektiert den gesammten Text.
- Ein Doppelklick auf eine Klammer ( '(', ')', '[', ']', '{' oder
  '}' ) selektiert den durch ffnende und schlieende Klammer umge-
  benen Textausschnitt (Verschachtelungen werden bercksichtigt).

Querverweis   EBlockoperationenF'Control Codes' in Pure C (Editor Kommandos)
----------------------------------------------------------------------

  Taste(n)      Funktion
----------------------------------------------------------------------
  ESC           Umschalten von Editorbildschirm auf Ausgabebildschirm
                und zurck.
  SHIFT/SHIFT   Unterbrechen des Compilers whrend eines bersetzungs-
                vorgangs (bzw. whrend des Linkens).
  CONTROL-B     Klammerebenen prfen (ESearchF/ECheck BracesF)
  CONTROL-C     Selektierten Text in Zwischenspeicher kopieren.
                ( EEditF/ ECopyF ).
  CONTROL-D     Selektierten Text ausdrucken.
  CONTROL-E     Steht der Cursor auf einer Fehlermeldung, wird nach
                dem Fehler im Quelltext gesucht(ESearchF/EFind ErrorF)
  CONTROL-F     Der Text wird nach einem String durchsucht.
                ( ESearchF/ EFind...F ).
  CONTROL-G     Die Suche nach dem String wird fortgesetzt.
                ( ESearchF/ EFind SameF ).
  CONTROL-H     Text berladen ( EFileF/ EAbandonF )
  CONTROL-I     Nach selektiertem Text suchen.
                ( ESearchF/ EFind SelectionF )
  CONTROL-J     Selektierten Text um eine Tabulatorposition nach
                links verschieben. ( EEditF/ EShift LeftF )
  CONTROL-K     Selektierten Text um eine Tabulatorposition nach
                rechts verschieben. ( EEditF/ EShift RightF )
  CONTROL-L     Anspringen von Zeile Nummer ... im aktiven Fenster.
                ( ESearchF/ EGoto Line...F ).
  CONTROL-M     Quelltext des aktiven Fensters speichern als...
                ( EFileF/ ESave as...F ).
  CONTROL-N     Gesammten Text selektieren ( EEditF/ ESelect AllF ).
  CONTROL-O     C-Quelldatei ffnen ( EFileF/ EOpen .CF ).
  CONTROL-P     Datei ausdrucken ( EFileF/ EPrintF ).
  CONTROL-Q     Pure C verlassen.
  CONTROL-R     Einen String duch einen anderen ersetzen.
                ( ESearchF/ EReplace...F ).
  CONTROL-S     Quelltext des aktiven Fensters speichern.
                ( EFileF/ ESaveF ).
  CONTROL-T     Stringersetzen fortfhren ( ESearchF/ EReplace SameF).
  CONTROL-U     Schlieen des aktiven Fensters ( EFileF/ ECloseF ).
  CONTROL-V     Text aus Zwischenspeicher kopieren ( EEditF/ EPasteF ).
  CONTROL-W     Das Fenster wechseln ( EEditF/ ECycle WindowsF ).
  CONTROL-X     Selektierten Text in den Zwischenspeicher kopieren.
                und im Fenster lschen ( EEditF/ ECutF ).
  CONTROL-Y     Eine Zeile lschen und in Zwischenspeicher kopieren.Projektdateien
----------------------------------------------------------------------

Eine Projektdatei ist eine einfache Liste von Quelltext- und Objekt-
dateien, sowie Bibliotheken, die an einem Programmprojekt beteiligt
sind.
In der ersten Zeile der Projektdatei steht der sptere Programmname.
Als Voreinstellung dient der Name der Projektdatei mit der Dateier-
weiterung '.PRG'. Wenn als Ausgabedatei die aktuelle Datei durch das
Zeichen '*' angegeben wurde, dann wird der Name der Datei im aktiven
Editorfenster verwendet. Die Dateierweiterung kann man jedoch auch ex-
plizit vorgeben, z.B. '*.TTP'. Auch Wildcards  im Programmnamen
in Kombination  mit einer Pfadangabe sind erlaubt. Ein Beispiel:

       \tools\special\*.ttp =
       ...

Die  Projektverwaltung  holt  sich  vom  Top-Window  nur den
Dateinamen nicht jedoch den Zugriffspfad.

Ab der zweiten Zeile knnen globale Optionen fr Linker, Assembler und
Compiler angegeben werden. Diese mssen die Form haben
               '.L[<Liste der Optionen>]'.
Hierbei steht der Buchstabe L fr Linker, C fr Compiler und S fr den
Assembler.
Bevor nun die Aufzhlung der Dateien, die compiliert und gelinkt werden
sollen, folgen kann, mu aus syntaktischen Grnden eine Zeile mit dem
'='-Zeichen eingefgt werden.
Fr die darauf folgende Auflistung, der am Projekt beteiligten
Dateien, sind nur bestimmte Dateierweiterungen erlaubt:

                 .C              C-Quelltexte
                 .S              Assemblerquelltexte
                 .O bzw. .OO     Objektdateien
                 .PRJ            Projektdatei
                 .LIB            Bibliotheken

Falls keine Erweiterung angegeben wurde, wird angenommen, da es sich
um eine C-Quelldatei handelt. Wenn als Dateiname nur der '*' vorhanden
ist, so wird an dieser Stelle die Datei des aktiven Fensters benutzt
(dh. als Dateiname wird der Name im Titelbalken des aktuellen Fensters
genommen). Diese Standardvorgabe ist natrlich nur fr eine Datei
mglich.
Hinter einem Dateinamen knnen dann nochmals lokale Optionen fr Com-
piler und Assembler in der Form '[<Liste der Optionen>]' kommen.
Mit dem Zeichen ';' werden Kommentare eingeleitet. Smtliche Zeichen
einer Zeile, die dem ';' folgen, werden daraufhin ignoriert.
Projektdateien knnen mit dem EEditorF erstellt werden.
Alle Dateien werden zunchst im Projektverzeichnis gesucht und dann im
aktuellen Verzeichnis. 'DEFAULT.PRJ ist als Standard-Projektdatei
eingestellt.

Die Projektverwaltung bercksichtigt auch File Dependencies. Die
Syntax der Projektdatei lautet:

       ModName [ ( FileName [, ...] )] [ >[< ModOptions >]< ]

Das Modul ModName wird auch dann neu bersetzt, wenn eine der durch
FileName spezifizierten Dateien gendert wurde.

Innerhalb einer Projektdatei knnen Sie Bezug auf weitere Unter-
Projektdateien nehmen, indem Sie deren Namen angeben. Dies ermglicht
es Ihnen, eignene Bibliotheken als Teilprojekte zu erzeugen und
automatisch in das Hauptprogramm einzubinden.
Bibliotheken, die als Unterprojekte definiert sind, lassen sich somit
entweder einzeln oder in einem Durchlauf mittels der bergreifenden
Projektdatei erzeugen.

HINWEIS:  Da der Projektmanager das Datum und die Uhrzeit der Dateien
          berprft und entsprechend compiliert, assembliert, und
          linkt ist es wichtig die Systemzeit vorher einzustellen.Der Help-Compiler
----------------------------------------------------------------------

Mit dem Help-Compiler knnen Sie eine eigene Help-Datei erzeugen,
auf deren Inhalt Sie aus Pure Debugger und der integrierten
Entwicklungsumgebung von Pure C zugreifen konnen.
Der Aufruf des Help-Compilers geschieht mit der Kommandozeile

    HC commandfile

Als einziges Argument wird der Name einer EBefehlsdateiF bergeben.
Diese enthlt die Optionen, den Namen der zu erzeugenden Help-
Datei und eine Liste der EQuelldateienF.Befehlsdateien fr den Help-Compiler
----------------------------------------------------------------------

Am Anfang einer Befehlsdatei werden die Optionen angegeben, wobei
jede Option in eine neue Zeile geschrieben werden mu:

--------------------------------------------------------------
Option        Beschreibung
--------------------------------------------------------------
L           Diese Option fhrt zum Anlegen einer Log-Datei.
            Diese enthlt alle wahrend der Ubersetzung aus-
            gegebenen Meldungen, so auch Warnungen und
            Fehler.
N           Wenn Sie diesen Schalter setzen, prft der Help-
            Compiler die Quelltexte auf syntaktische Korrekt-
            heit und Ausfhrbarkeit von Querverweisen. Eine
            Help-Datei wird nicht erzeugt.
T=n         Der Help-Compiler expandiert alle Tabulatoren
            in Leerzeichenfolgen. Die Zahl n gibt an,
            wieviel Leerzeichen fur einen Tabulator erzeugt
            werden sollen. Voreingestellt sind 4 Leerzeichen.
            Fr n gilt: 0 < n <= 9.
V           Diese Option fhrt zur Ausgabe von Meldungen zum 
            jeweiligen Stand der bersetzung.
W           Dieser Schalter veranlat den Help-Compiler die 
            bersetzung beim Auftreten von Warnungen
            abzubrechen.
--------------------------------------------------------------

Danach folgt der Name der zu erzeugenden Help-Datei. Schlielich
werden die Namen der Quelltextdateien aufgefhrt. Auch diese
Angaben mssen in separaten Zeilen stehen. Kommantare in 
Befehlsdateien werden durch ein Semikolon (;) eingeleitet und
hren am Zeilenende auf. Eine mgliche Befehlsdatei fr ein
benutzerdefiniertes Help knnte wie folgt aussehen:

; -----------------------------------------
; Beispiel fur benutzerdefiniertes Help
; -----------------------------------------

-LT=8V          ; Log-File anlegen
                ; Ablauf kommentieren
                ; Tabs werden durch 8 statt 4 Blanks ersetzt

USR.HLP         ; Name der Help-Datei

USR1.TXT        ; Liste der Quelltexte
USR2.TXT

; usw.

Hinweis: Der Name der benutzerdefinierten Help-Datei mu USR.HLP
         lauten und im selben Verzeichnis abgelegt werden, wie
         die anderen Help-Dateien, die im Pure-C-Paket enthalten
         sind.Aufbau eines Help-Quelltextes
----------------------------------------------------------------------

Ein Help-Quelltext besteht aus einer Folge von Help-Screen-
Beschreibungen. Ein Help-Screen ist ein mit einem oder mehreren
Namen versehenes Stck Text, das im Help-Fenster nach Anfordern
einer Hilfestellung ausgegeben wird.

Help-Screens
Eine Help-Screen-Beschreibung beginnt mit dem reservierten Wort
screen und endet mit dem reservierten Wort end. Um end von der
Silbe "end" zu unterscheiden, mu allen reservierten Worten, die
innerhalb einer Screen-Beschreibung vorkommen, ein Backslash (\)
vorangestellt werden. Um im bersetzten Help-Screen einen Backslash
darzustellen, mssen in der Quelle zwei unmittelbar aufeinander-
folgende Backslashes geschrieben werden:

screen( "name1", "name2" )
Damit auch nach tausend Screens nicht Schlu ist,
sondern erst nach \\end!\end

Wie Sie dem Beispiel entnehmen knnen, folgt auf screen eine
in Klammern eingeschlossene und durch Kommata getrennte Liste
von Screennamen. Ein Screenname wird durch doppelte Anfhrungs-
zeichen begrenzt. Ein Screen mu mindestens einen Namen haben,
beispielsweise screen( "Single name" ). 
Alle Namen eines Screens werden in den automatisch generierten
Index der Help-Datei aufgenommen. Der Inhalt des Screens beginnt
in der auf die schlieende Klammer folgenden Zeile.

Damit ein Screen kontextsensitiv, das heit durch Textselektion
und anschlieendem Drcken der Help-Taste erreichbar wird, mu
der entsprechende Screenname mit einem Attribut versehen werden.
Falls gewnscht, kann zwischen Gro- und Kleinschreibung unter-
schieden werden. Anhand des folgenden Beispiels soll der Gebrauch
der Attribute erklrt werden:

screen(    "Normaler Name",
            sensitive( "Gro?/Klein ist egal" ),
            capsensitive( "GROSS" ),
            capsensitive( "Gross" ))
...
\end

Das Attribut sensitive besagt, da der Screen ber den durch
das Attribut festgelegten Namen kontextsensitiv abrufbar ist,
dabei aber nicht zwischen Gro- und Kleinschreibung unterschieden
wird. Diese Unterscheidung findet statt, wenn der Name mit
capsensitive vereinbart wurde. Beachten Sie, da die Attribute
keine Namenslisten zulassen, sondern fr jeden Namen einzeln
gesetzt werden mssen. Wird kein Attribut angegeben, ist der
Screen nur ber Querverweise anderer Screens zu erreichen.

Querverweise zwischen Help-Screens
Es gibt zwei verschiedene Arten von Querverweisen zwischen Help-
Screens. Bei der ersten Form stimmt eine Textstelle mit dem
referenzierten Screennamen berein. Hufig jedoch gibt es
Unterschiede zwischen der Textstellen und dem Screennamen,
beispielsweise weil im Text eine Beugung des Screennamens
verwendet wird.
Eine normale Referenz (d.h. die Textstelle stimmt mit dem
Screennamen berein) wird erzeugt, indem die Textstelle mit
\# eingeschlossen wird. Zeilenumbrche innerhalb von Querver-
weisen sind nicht gestattet:

screen( "Querverweis" )
...\end

screen( "NoName" )
So sieht ein \#Querverweis\# aus,
der Sie zum Screen "Querverweis" fhrt!\end

Die andere Form von Querverweisen gestattet die Verknpfung
eines beliebigen Stck Textes mit einem Screen:

screen( "Querverweis" )
...\end

screen( "NoName" )
\link( "Querverweis" )Alle Wege\# fhren zum Screen 
"Querverweis"!\end

Hier ist eine Referenz fr den Text "Alle Wege" auf den Screen
"Querverweis" hergestellt worden. Ein solcher Querverweis wird
durch das reservierte Wort \link eingeleitet, das als Argument
den Namen des referenzierten Screens erhlt. Direkt nach der
schlieenden Klammer des Arguments steht der Text, der den 
Querverweis reprsentiert. Dieser wird durch \# beendet.
Querverweise mit link auf Screens aus anderen Help-Dateien sind
nicht mglich.Fehlermeldungen und Warnungen des Help Compilers
----------------------------------------------------------------------

Die Fehler sind gem ihrer Wichtigkeit in Kategorien geordnet
und innerhalb dieser alphabetisch sortiert.

Warnungen
Warnungen weisen auf mgliche Fehler innerhalb von Quelltexten
hin. Eine Help-Datei wird trotzdem erzeugt und diese wird in
aller Regel auch durchaus benutzbar sein.

Reference to unknown screen
Sie erhalten diese Warnung, falls ein Querverweis auf einen nicht
existierenden Help-Screen erzeugt werden sollte. Wenn ein kon-
textsensitiver Screen in einer anderen Help-Datei vorhanden ist,
knnen Sie diese Warnung ignorieren. link-Querverweise auf Screens
anderer Help-Dateien sind nicht mglich!

Missing parameter
Missing parameter list
In einem screen-Befehl wurde am Ende einer Liste von Screennamen
ein einzelnes Komma gefunden, nach dem kein Parameter mehr folgte.


Fehler
Fehler knnen in der Befehlsdatei oder in Quelltexten auftreten.
Bei Fehlern in der Befehlsdatei wird die bersetzung erst gar nicht
gestartet. Handelt es sich um Fehler in einem Quelltext, wird mit
der bersetzung fortgefahren, jedoch keine Help-Datei erzeugt.

'=' expected in option
Nach der Option wird ein Gleichheitszeichen erwartet.

Can't break keyword
Pending keyword delimiter
Querverweise durfen Zeilenumbrche nicht berschreiten. Schreiben
Sie den gesamten Querverweis in eine Zeile.

Doubly defined screen name
Ein Screen mit demselben Namen existiert bereits. Benennen Sie
einen der beiden Screens um.

Illegal option character
Die angegebene EOptionF existiert nicht.

Missing end of screen
Fur einen Screen wurde kein \end gefunden. Dieser Fehler wird erst
am Ende eines Quelltextes erkannt.

Pending end of string
Strings, also beispielsweise Screennamen, mssen in einer Zeile
stehen und knnen nicht umgebrochen werden. Es knnte auch sein,
da Sie die doppelten Anfhrungszeichen zur Markierung des
Stringendes vergessen haben.

Screen too long
Screen-Inhalte drfen nicht langer als 32 KByte sein. Teilen Sie
den Inhalt des Screens auf mehrere Screens auf. Dieser Fehler kann
auch auftreten, wenn Sie am Ende eines Screens \end vergessen haben.

Too many parameters
Der link-Befehl darf nur auf einen Screen verweisen.

Too many source files in command file
Die maximale Anzahl an Quelltexten ist auf 64 Dateien beschrnkt.

Unknown statement
Der gelesene Befehl existiert nicht. Innerhalb einer Screen-
Beschreibung kann dieser Fehler auftreten, wenn Sie eine Backslash
schreiben wollten. Dieser leitet jedoch Befehle ein. Schreiben Sie
stattdessen zwei Backslashes.

Use of illegal character
Der ASCII-Character 29 darf in Quelltexten nicht benutzt werden.

Wrong parameter type
Der angegebene Parameter mu ein String sein.

Wrong scope for statement
Der angegebene Befehl darf an dieser Stelle nicht bentzt werden.
Kommentare und screen drfen ausschlielich auerhalb von Screen-
Beschreibungen verwendet werden, \link, \# und \end innerhalb.


Fatale Fehler
Tritt ein Fehler aus dieser Kategorie auf, wird die bersetzung
sofort abgebrochen.

Out of memory
Sie haben zu wenig Arbeitsspeicher frei. Entfernen Sie alle
residenten Programme und Accessories. Starten Sie den Help-
Compiler dann vom Desktop und unternehmen einen neuen Versuch.

Read error
Aus der angegebenen Datei konnte nicht gelesen werden. Mglicher-
weise ist sie defekt.

Too many screens
Ihre Quelltexte enthalten zu viele Screen-Beschreibungen. In
einer Help-Datei sind maximal 4096 Help-Screens erlaubt.

Unable to open output file
Die Ziel-Datei kann nicht angelegt werden. Entweder ist auf dem
Ziellaufwerk nicht gengend Platz vorhanden oder es ist schreib-
geschtzt bzw. eine gleichnamige schreibgeschtzte Datei
existiert bereits.

Unable to open command file
Der Help-Compiler kann die Befehlsdatei nicht finden. Entweder
ist Ihnen ein Schreibfehler unterlaufen oder der Pfadname
stimmt nicht.

Unable to open source file
Der Help-Compiler kann die angegebene Quelltextdatei nicht
finden. Entweder ist Ihnen ein Schreibfehler unterlaufen oder
der Pfadname stimmt nicht.

Write error
In die Zieldatei konnte nicht geschrieben werden. Mglicherweise
ist auf dem Ziellaufwerk kein Platz mehr vorhanden.