2. Der Editor Inhalt | 4. Grundlagen

Kapitel 3

Die Menüs des Editors

Omikron Basic stellt acht Menüs zur Verfügung, die nachfolgend im Einzelnen besprochen werden: 

Apple
Datei
Bearbeiten
Suchen
Cursor
Modus
Programm
Fenster



Apple 

Über Omikron Basic ...
Wie bei allen Programmen auf dem Mac üblich, ist von hier aus die Copyright-Box des Editors erreichbar. Außerdem können von hier aus alle Accessories aufgerufen werden..

Der Dialog 'Über Omikron Basic' enthält neben der Information über das Copyright die Daten Ihrer Registrierung für das Programm, sowie die aktuelle Versionsnummer und das Release-Datum des Omikron Basics.

 

 
Datei

Dieses Menü enthält alles, was mit dem Laden und Speichern von Dateien zu tun hat. Außerdem befindet sich hier die Möglichkeit, Programmtexte auszudrucken und Omikron Basic zu beenden.

Die Menüpunkte im einzelnen:

Neu ...
Öffnen ...
Letzte öffnen ...
Neue Ansicht
Verdoppeln
Schließen
Alles schließen
Speichern
Speichern als
Basic ...
Text ...
Drucker einstellen ...
Drucken ...
Omikron Basic beenden


Neu ...

Es öffnet sich eine modale Dialogbox mit dem Titel 'Neues Programm', in der Sie zunächst einige Angaben machen müssen, die im Folgenden genau besprochen werden.


Neues Programm

Programmname
An dieser Stelle können Sie Ihrem Programm gleich einen neuen Namen geben. Wird der vorgegebene Name "NoName.BAS" übernommen, so fragt der Editor beim ersten Speichern des Programms nach, unter welchem Namen das Programm gespeichert werden soll. Als Pfad wird zunächst der zuletzt zum Speichern verwendete Pfad bzw. der Programmpfad von Omikron Basic selbst gewählt, wenn zuvor noch kein Programm gespeichert wurde.

Reservierter Speicher
Hier können Sie angeben, wieviel Speicher für das neue Programm zunächst vom Editor reserviert werden soll. Im Allgemeinen brauchen Sie diese Zahl nicht zu verändern. In Ausnahmefällen kann es jedoch zu der Fehlermeldung kommen, dass nicht genug Speicher reserviert wurde. Dann sollten Sie hier einfach einen größeren Wert eintragen. Bei insgesamt knappem RAM kann die Zahl natürlich auch verringert werden.

Achtung: Wenn anschließend noch eine Library oder ein größerer Block hinzugeladen werden sollen, so muß natürlich dafür gesorgt werden, daß auch entsprechend viel Speicher vorher reserviert wird.

Zeilennummern
Hier wird eingestellt, ob der Editor vor der Eingabe jeder Zeile eine Zeilennummer erwartet. Es wird empfohlen, diese Option ausgeschaltet zu lassen, weil es sich im Allgemeinen ohne Zeilennummern besser arbeiten lässt. Diese Einstellung kann aber auch später noch im Modus-Menü mit 'Einstellungen > Program ...' geändert werden.

Standardvariablentyp
Der untere Teil des Dialogs enthält fünf Textfelder, die mit String, Double Float, Single Float, Long Integer und Short Integer beschriftet sind.
Mit Hilfe dieser Eingabezeilen kann bestimmt werden, welche Variablen der Editor ohne Postfix darstellt. Die Voreinstellung ist so, dass alle Variablen von Typ Long Integer ohne Postfix dargestellt werden. Wenn es Ihnen lästig ist, die Postfixe immer hinschreiben zu müssen, können Sie aber z.B. auch folgende Eingaben in die Felder machen:

String A-E
Double Float F-J
Single Float K-O
Long Integer P-T
Short Integer U-Z

Dann sind alle Variablen, die mit Buchstaben von A bis E beginnen Strings, solche, die mit F-J anfangen vom Typ Double Float usw.

Es sind auch Aufzählungen möglich wie z.B. A-E,S,X-Z.

Werden einem Buchstaben mehrere Variablentypen zugewiesen, so gilt die letzte Zuweisung. Auch die Festlegung von Variablentypen kann später noch im Modus-Menü über 'Einstellungen > Program ...' geändert werden.

[Abbruch]
Mit diesem Button kann das Öffnen eines neuen Fensters abgebrochen werden. Alternativ kann man auch auf [Escape] drücken.

[OK]
Damit wird ein neues Programmfenster entsprechend den obigen Einstellungen geöffnet. Alternativ können Sie auch auf [Return] drücken.


Öffnen ...

Es öffnet sich eine Dateiauswahlbox. Voreingestellt ist der Pfad, unter dem zuletzt ein Programm geladen wurde. Die gilt auch, wenn Sie Omikron Basic zwischenzeitlich neu gestartet haben.
Wenn die Datei mit Omikron Basic gespeichert wurde, erkennt der Editor automatisch, um welche Art von Datei es sich handelt. Dateien, die mit anderen Editoren erstellt wurden, müssen im TEXT-Format vorliegen und werden von Omikron Basic immer als Programmdateien behandelt. Bei Programmdateien im TEXT-Format öffnet sich zunächst die Dialogbox 'Neues Programm' in der Sie die zuvor beschriebenen Einstellungen vornehmen können. Da der Editor bei einer Datei im TEXT-Format nicht genau wissen kann, wieviel Speicher sie nach der Tokenisierung benötigt, schätzt der Editor die dafür erforderliche Speichermenge und trägt sie in das Feld 'Reservierter Speicher' ein. Gegebenenfalls müssen Sie diesen Wert vergrößern, falls sich die Datei wegen Speichermangels nicht laden lässt.

Nach der Bearbeitung dieses Dialogs wird der Text geladen und in BASIC-Code umgesetzt. Bei langen Programmen kann dies etwas dauern, weil der ganze Quelltext tokenisiert werden muß. Da der Editor mehrere Programme parallel bearbeiten kann, wird für den neuen Programmtext auch ein neues Fenster geöffnet.

Hinweis: Es ist zu empfehlen, vor dem Laden von Programmen im TEXT-Format die Deklarationsüberwachung im Dialog 'Einstellungen > Allgemein' im Modus-Menü abzuschalten, da man sonst ständig auf nicht deklarierte Symbole hingewiesen wird.

Eine Datei kann auch geöffnet werden, indem das Datei-Icon auf das Omikron Basic Programm-Icon gezogen wird oder mit einem Doppelklick auf das Datei-Icon..

Achtung: Programme, die mit einer Version älter als 3.0 erstellt wurden und im BASIC-Format vorliegen, können vom Editor nicht geladen werden.


Letzte öffnen

Wenn Omikron Basic ordnungsgemäß beendet wird, werden zuvor alle Informationen über Position und Größe der geöffneten Fenster und der nichtmodalen Dialogboxen gespeichert. Mit diesem Menüpunkt ist es nun möglich, diese letzte Einstellung wiederherzustellen.

Hinweis: Standardmäßig ist der Editor so eingestellt, dass er schon bei Programmstart die letzte Einstellung automatisch wiederherstellt. Dieses Verhalten kann über 'Einstellungen > Allgemein' aus dem Modus-Menü abgeschaltet werden.

Achtung: Wenn dieser Menüpunkt angeklickt wird, werden zunächst alle bereits vorhandenen Fenster geschlossen und danach der Zustand vor der letzten Programmbeendigung wiederhergestellt.


Neue Ansicht

Zu dem im obersten Fenster befindlichen Programm wird ein weiteres Fenster geöffnet. Dementsprechend ist dieser Menüpunkt nur anwählbar, wenn das oberste Fenster ein Programmfenster ist. Im Gegensatz zu 'Verdoppeln' wird aber keine Kopie des Programms im RAM erstellt, sondern beide Fenster enthalten weiterhin dasselbe Programm. Veränderungen in einem Fenster werden im anderen auch sofort dargestellt. Mit Hilfe dieses Menüpunktes kann also an mehreren Stellen zugleich in einem Programm gearbeitet werden, denn es lassen sich auch mehr als zwei Fenster für ein Programm öffnen.


Verdoppeln

Dieser Menüpunkt ist nur anwählbar, wenn das oberste Fenster ein Programmfenster ist. Von dem Programm wird im RAM eine Kopie angelegt und diese Kopie in einem neu geöffneten Fenster angezeigt. Die beiden Fenster (und damit die darin enthaltenen Programmtexte) sind danach unabhängig voneinander. Änderungen in dem einen Fenster haben also keine Auswirkung in dem anderen. Sie können nur daran unterschieden werden, dass in der Titelzeile ein ".Kopie" an den Dateinamen angehängt wird. Da beide Fenster aber noch denselben Dateinamen benutzen, öffnet sich beim ersten Speichern zunächst eine Dateiauswahlbox, damit Sie der Kopie einen anderen Namen geben können. So lassen sich eventuelle Datenverluste verhindern.


Schließen

Das oberste Fenster kann mit diesem Menüpunkt geschlossen werden. Ist das oberste Fenster ein Programmfenster, in dem seit dem letzten Speichern noch etwas verändert wurde, so erfolgt zunächst noch eine Sicherheitsabfrage. Diese Abfragen lassen sich über 'Einstellungen > Allgemein' aus dem Modus-Menü auch abschalten.


Alles schließen

Hier werden alle Fenster mit Ausnahme der nichtmodalen Dialogboxen geschlossen.


Speichern

Wenn das oberste Fenster ein Programmfenster ist, kann dieser Menüpunkt ausgewählt werden. Das Programm wird dorthin gespeichert, von wo es geladen wurde oder wohin es zuvor bereits gespeichert wurde. Wenn der Programmname "NoName.BAS" ist, dann wird das Anklicken dieses Menüpunkts automatisch in 'Speichern als' umgewandelt, zuvor also eine Dateiauswahlbox dargestellt.


Speichern als

Dieser Menüpunkt enthält ein Untermenü mit zwei Einträgen.

BASIC ...
Diese Option ist nur anwählbar, wenn das oberste Fenster ein Programmfenster ist. Für Omikron Basic Programme sollte Sie immer dieses Format wählen, da Programme im BASIC-Format sehr schnell gespeichert und geladen werden können und auf dem Speichermedium auch weniger Platz benötigen als Programme im TEXT-Format. Wenn Sie Ihr Programm allerdings in einen anderen Editor laden möchten, müssen Sie es im TEXT-Format speichern, da das BASIC-Format nur von Omikron Basic verstanden wird.

TEXT ...
Über diesen Menüpunkt kann der Inhalt beliebiger Fenster gespeichert werden, also z.B. auch Suchfenster, Compilerfenster oder Variablen-Fenster. Bei Programmfenstern sollten Sie diese Option nur verwenden, wenn Sie beabsichtigen, die Datei in einen anderen Editor zu laden.

Achtung: Vor dem Speichern eines Programms im TEXT-Format müssen unbedingt alle eingeklappten Bereiche ausgeklappt werden, da sonst nur die sichtbaren Titelzeilen gespeichert werden. Verwenden Sie dazu am besten den Menüpunkt 'Alles ausklappen' aus dem Modus-Menü.


Seite einrichten ...

Es öffnet sich die Layout-Dialogbox des Druckertreibers. Darin können Sie je nach Treiber diverse Einstellungen vornehmen. Beim Verlassen der Box wird aber noch nichts gedruckt.

Hinweis: Der Omikron Basic Editor benutzt zum Drucken den gleichen Font und die gleichen Fontattribute, die für die Ausgabe auf dem Bildschirm eingestellt wurden. Das kann dazu führen, daß die ausgedruckte Schrift zu groß erscheint. Wenn Sie z.B. die Standardeinstellung von 12 Punkten Monaco bold verwenden, empfiehlt es sich, in dieser Dialogbox eine Verkleinerung von 80% einzustellen, um ein gut lesbares Druckergebnis zu erhalten. Alternativ kann man auch in der Dialogbox Einstellungen eine kleinere Schrift (z.B. 10 Punkte) wählen.


Drucken ...

Der Inhalt des obersten Fensters (bzw. ein darin definierter Block) kann auf den Drucker ausgegeben werden. Bei Aufruf des Menüpunktes erscheint zunächst eine modale Dialogbox, in der Sie folgende Einstellungen vornehmen können:


Drucken

Im oberen Bereich befinden sich vier Felder, mit denen Sie die Position und Größe des Programmtextes auf dem Papier beeinflussen können. Dabei ist zu beachten, dass die Angaben in Buchstaben und nicht in Pixeln zu machen sind.

X-Offset
Hier wird der linke Rand eingestellt, den Omikron Basic auf dem Papier läßt. Wenn man hier einen Offset von 5 eingibt, bleibt genug Platz, um das Papier zu lochen.

Y-Offset
So viele Zeilen läßt Omikron Basic auf jedem Blatt oben frei.

Breite
Hier wird die Anzahl der Zeichen eingestellt, die Omikron Basic maximal in eine Zeile druckt. Wenn die angegebene Zahl nicht auf die eingestellte Papiergröße paßt, wird die Zahl auf den maximal möglichen Wert reduziert, so daß keine Zeichen verloren gehen. Man kann damit erreichen, das an der rechten Seite genug Platz bleibt (z.B. für handschriftliche Kommentare).

Höhe
So viele Zeilen druckt Omikron Basic auf eine Seite. Wenn mehr Zeilen angegeben sind, als auf die eingestellte Papiergröße passen, wird die Zahl auf den maximal möglichen Wert reduziert, so daß keine Zeilen verloren gehen.

Nur Block drucken
Falls in dem zu druckenden Fenster ein Block markiert ist, so kann mit dieser Checkbox festgelegt werden, dass nicht das ganze Programm, sondern nur der Block ausgedruckt werden soll.

ASCII 0-31 -> 32
Die ASCII-Zeichen 0-31 enthalten zum Teil Steuerzeichen für den Drucker. Zum Teil sind sie auch gar nicht vernünftig druckbar. Um unerwünschte Druckeffekte zu verhindern, kann der Editor hier angewiesen werden, alle ASCII-Zeichen unter 32 durch Leerzeichen zu ersetzen.

In Farbe drucken
Wenn Sie einen Farbdrucker verwenden, werden die Programmlistings auch in Farbe ausgedruckt, sofern die 'Farbige Darstellung' eingeschaltet ist. Um trotzdem einen monochromen Ausdruck zu erhalten, können Sie mit dieser Checkbox den Ausdruck in Farbe abschalten. Farbige Blockmarkierungen werden übrigens nicht gedruckt, um einen zu hohen Tinten- bzw. Tonerverbrauch zu vermeiden.

Seitenzahlen
Wenn diese Option eingeschaltet ist, werden Programmlistings und andere Ausdrucke mit Seitenzahlen versehen. Die Nummer steht immer in der Mitte am unteren Ende des Blattes. Wenn Sie z.B. längere Listings ausdrucken, hilft diese Funktion, die einzelnen Blätter in der richtigen Reihenfolge abzuheften.

[Seite einrichten ...]
Mit diesem Button erreichen Sie die Layout-Dialogbox des Druckertreibers. Der Button hat also die gleiche Funktion wie der zuvor besprochene, gleichnamige Menüpunkt und dient nur der Bequemlichkeit.

Da Omikron Basic bis zu 4096 Zeichen pro Zeile erlaubt, auf ein DIN A4 Blatt aber im Allgemeinen kaum mehr als 80 Zeichen nebeneinander passen, werden längere Zeilen beim Ausdrucken umgebrochen. Dabei erfolgt die Auftrennung der Zeilen nach Möglichkeit zwischen Wörtern oder Tokens, so dass der Text gut lesbar bleibt. Die neue Zeile wird auf die gleiche Höhe eingerückt wie die alte, wodurch die Programmstrukturen deutlich sichtbar bleiben.

[Abbruch]
Wenn Sie doch nichts drucken wollen, können Sie mit diesem Button den Prozess abbrechen. Alternativ kann man auch auf [Escape] drücken.

[Drucken]
Wenn Sie alle Einstellungen Ihren Wünschen entsprechend vorgenommen haben, klicken Sie auf diesen Butten oder drücken [Return]. Danach erscheint die Arbeits-Dialogbox des Druckertreibers. Darin können Sie je nach Treiber diverse weitere Einstellungen vornehmen und den Druckvorgang endgültig starten.


Omikron Basic beenden

Mit diesem Menüpunkt beenden Sie Omikron Basic. Wenn ein Programmtext verändert, aber noch nicht gespeichert wurde, erscheint zunächst eine Sicherheitsabfrage, sofern diese eingeschaltet sind. Das betreffende Fenster wird zuvor nach vorne geholt, so dass deutlich wird, welches Programm gemeint ist. Falls dies auf mehrere Programmtexte zutrifft, so erscheint die Abfrage mehrfach. Wenn Zweifel bestehen, sollte man zunächst 'Abbruch' wählen und dann alle wichtigen Daten einzeln sichern.


 

Bearbeiten

In diesem Menü befindet sich alles, was mit der Bearbeitung von Texten zu tun hat. Darum ist dieses Menü nur anwählbar, wenn ein Fenster mit editierbarem Text aktiv ist. Für Fenster, die nur Ausgaben enthalten (z.B. Such- oder Compilerfenster), stehen die Funktionen dieses Menüs nicht zur Verfügung.
Die meisten der hier aufgeführten Funktionen arbeiten mit Blöcken. Ein Block ist ein spezieller Bereich eines Textes, den Sie frei definieren können. Er wird vom Editor farbig unterlegt dargestellt. Im Unterschied zu den meisten Apple-Programmen ermöglicht Omikron Basic die Definition von permanenten Blöcken. Diese bleiben auch bei Tastendruck erhalten und können sogar editiert werden. Dadurch sind wesentlich effizientere Blockoperationen möglich als Sie es vielleicht von anderen Programmen her kennen.
Es gibt zwei Arten von Blöcken: Einzeilige Blöcke erstecken sich nur über eine Zeile eines Textes und können an beliebigen X-Positionen beginnen und enden, während sich mehrzeilige Blöcke über beliebig viele Zeilen erstrecken können, dafür aber immer am Anfang einer Zeile beginnen und am Ende einer Zeile enden. Dieses Verhalten ergibt sich daraus, dass Omikron Basic Programmtexte zeilenweise tokenisiert, stellt in der Praxis aber keinen Nachteil dar.

Im Einzelnen stehen folgende Funktionen zur Verfügung:

Undo
Ausschneiden
Kopieren
Ersetzen
Einsetzen
Löschen
Alles Selektieren
Tokencode einsetzen
Tokencode verschieben
Block transferieren
Blockanfang setzen
Blockende setzen
Block verstecken
Block zuladen ...
Block speichern ...
MEMORY BLOCK laden ...
Library zuladen ...

Undo

Die letzte Änderung wird rückgängig gemacht. Dabei arbeitet die Undo-Funktion in zwei Stufen. Beim ersten Anwählen wird nur die aktuelle Programmzeile restaueriert. Wenn Sie die Undo-Funktion danach nochmal aufrufen, werden auch Änderungen zurückgenommen, die sich über mehrere Programmzeilen erstrecken (z.B. mehrzeilige Blockoperationen). Danach ist die Funktion nicht mehr anwählbar bis wieder Änderungen am Programm vorgenommen werden.


Ausschneiden

Der markierte Bereich wird aus dem Programm entfernt und als ASCII-Text in das Clipboard geschrieben.Von dort aus kann er an anderer Stelle wieder eingesetzt oder auch in andere Programme übernommen werden.

Achtung: Der auszuschneidende Block darf keine eingeklappten Bereiche enthalten , da sonst nur die Titelzeilen in das Clipboard geschrieben würden. Diese müssen also vorher ausgeklappt werden.


Kopieren

Der markierte Bereich wird kopiert und als ASCII-Text in das Clipboard geschrieben.Von dort aus kann er an anderer Stelle eingesetzt oder auch in andere Programme übernommen werden. Wenn Sie z.B. ein paar Programmzeilen in eine E-Mail übertragen möchten, können Sie dafür diese Funktion verwenden..

Achtung: Der zu kopierende Block darf keine eingeklappten Bereiche enthalten , da sonst nur die Titelzeilen kopiert würden. Diese müssen also vorher ausgeklappt werden.


Ersetzen

Falls im Fenster ein Block definiert ist, wird dieser zunächst gelöscht. Danach wird der ASCII-Text, der sich gerade auf dem Clipboard befindet, an der Stelle des alten Blocks eingefügt. Hiermit kann man also den Inhalt eines Block durch den Text, der sich gerade auf dem Clipboard befindet, ersetzen.


Einsetzen

Der ASCII-Text, der sich gerade im Clipboard befindet, wird an der Cursorposition eingefügt. Der Text kann auch von anderen Programmen auf das Clipboard übertragen worden sein, so dass es mit dieser Funktion möglich ist, Programmtexte aus anderen Editoren zu übernehmen. Zum Beispiel können Sie diese Funktion benutzen, um die Programmbeispiele aus dem Handbuch in Omikron Basic Programmfenster zu übertragen.

Hinweis: Wenn man nur Blöcke innerhalb desselben Programmfensters bewegen will, sollte man statt der 4 Funktionen 'Ausschneiden', 'Kopieren', 'Ersetzen' und 'Einsetzen' besser die Menüpunkte 'Tokencode einsetzen' und 'Tokencode verschieben' benutzen. Diese arbeiten nämlich auf Tokencode-Ebene und sind dadurch besonders bei größeren Programmen um ein Vielfaches schneller.
In ungünstigen Fällen kann durch die Benutzung von 'Ausschneiden', 'Kopieren','Ersetzen' und 'Einsetzen' sogar Information verloren gehen, da der Tokencode mehr Informationen enthält, als der gelistete ASCII-Text (z.B. wenn Bereiche eingeklappt sind oder wenn im Programmtext die ASCII-Steuerzeichen CHR$(10),CHR$(13) bzw. CHR$(26) vorkommen).


Löschen

Der im obersten Fenster markierte Block wird gelöscht. Er kann mit 'Undo' aber noch wieder zurückgeholt werden.


Alles Selektieren

Das gesamte Programm wird als Block markiert.


Tokencode einsetzen

Der im obersten Fenster markierte Block wird ebenfalls im obersten Fenster an der Cursorposition eingefügt. Der Block bleibt weiterhin an der alten Position markiert. Diese Funktion kann auch durch Drücken der Maustaste in Verbindung mit der Befehlstaste aufgerufen werden.


Tokencode verschieben

Der im obersten Fenster markierte Block wird ebenfalls im obersten Fenster an die aktuelle Cursorposition verschoben. Der Block bleibt an der neuen Position markiert.


Block transferieren

Der im zweitobersten Programmfenster markierte Block wird im obersten Fenster an der Cursorposition eingefügt. Der Block bleibt weiterhin in beiden Fenstern markiert.

Achtung: Der zu kopierende Block darf keine eingeklappten Bereiche enthalten , da sonst nur die Titelzeilen kopiert würden. Diese müssen also vorher ausgeklappt werden.


Blockanfang setzen

An der Cursorposition im obersten Fenster wird der Blockanfang festgesetzt. Wenn bereits ein Blockende definiert wurde, so wird der resultierende Block anschließend angezeigt. Mit diesem Menüpunkt kann auch ein bereits bestehender Block verändert werden. Auch ein Zeilenblock kann mit dieser Funktion definiert werden, wenn Blockanfang und Blockende in dieselbe Zeile gesetzt werden.
Den Blockanfang kann man auch durch gleichzeitiges Drücken der [Shift] Taste und der Maustaste verändern, wenn sich der Cursor vor dem Blockanfang befindet, sonst wir dadurch immer das Blockende verändert.


Blockende setzen

An der Cursorposition im obersten Fenster wird das Blockende festgesetzt. Wenn bereits ein Blockanfang definiert wurde, so wird der resultierende Block anschließend angezeigt. Mit diesem Menüpunkt kann auch ein bereits bestehender Block verändert werden. Auch ein Zeilenblock kann mit dieser Funktion definiert werden, wenn Blockanfang und Blockende in dieselbe Zeile gesetzt werden.
Das Blockende kann man auch durch gleichzeitiges Drücken der [Shift] Taste und der Maustaste verändern, wenn sich der Cursor hinter dem Blockanfang befindet, sonst wir dadurch immer der Blockanfang verändert.

Block verstecken

Der im obersten Fenster definierte Block wird nicht mehr im Fenster angezeigt. Mit versteckten Blöcken sind keinerlei Block-Operationen mehr möglich. Der Block bleibt aber weiterhin definiert.
Wenn der Block versteckt ist, dann wird er durch Anklicken dieses Menüpunktes wieder sichtbar gemacht, die letzte Block-Definition also wieder aktiviert.


Block zuladen ...

An der Cursorposition kann ein als TEXT-Datei gespeicherter Programmtext in das Fenster eingefügt werden.

Hinweis: Am besten vorher im Dialog 'Einstellungen > Allgemein' aus dem Modus-Menü die Deklarationsüberwachung abschalten, um die ständigen Nachfragen nach nicht deklarierten Symbolen zu vermeiden.


Block speichern ...

Der im obersten Fenster definierte Block wird als TEXT-Datei gespeichert.

Achtung: Eingeklappte Bereiche müssen vorher ausgeklappt werden, da sonst nur die Titelzeilen gespeichert würden.


MEMORY_BLOCK laden ...

Bei Aufruf dieses Menüpunktes erscheint zunächst ein Dialog, in dem die Nummer eingegeben werden muß, unter der der Block in Zukunft angesprochen werden soll. Dies muß eine genau zweistellige Zahl sein. Wenn diese eingegeben und die Position für den Block im Programmtext gefunden wurde, dann erscheint ein Fileselektor, in dem die Datei mit den Daten für den Block ausgewählt werden kann.

Hinweis: Um einen MEMORY_BLOCK wieder aus einem Programm zu entfernen, muß man wie folgt vorgehen:
1. Den Befehl MEMORY_BLOCK aus dem Programm entfernen.
2. Den Menüpunkt 'Aufräumen' aus dem Programm-Menü anklicken.


Library zuladen ...

Es erscheint eine Dateiauswahlbox, in der die Library ausgewählt werden muß, die hinzugeladen werden soll. Die Library wird in der letzten Zeile des Programms dargestellt.

 

Suchen

In diesem Menü finden Sie Funktionen zum Finden, Ersetzen und Vergleichen sowie die Möglichkeit, eine Liste mit allen in einem Programm verwendeten Symbolen zu erstellen. Alle Funktionen in diesem Menü funktionieren nur mit Programmfenstern.

Folgende Menüpunkte des Suchen-Menüs stehen zur Verfügung:

Finden ...
Ersetzen ...
Vergleichen ...
Fortsetzen
nach Cursor
nach Doppelpunkt
nächste Zeile
Symbolliste


Finden ...

Omikron Basic erlaubt die Suche nach Texten, Tokens, Definitionen oder Fehlern. Wenn das gesuchte Token im Programmfenster gerade irgendwo dargestellt wird, so läßt sich die Tokenliste auch ganz ohne Dialog erstellen. Einfach das gesuchte Token mit einem Doppelklick anklicken. Wird dabei die [Alt] Taste gedrückt gehalten, so wird keine Tokenliste erstellt, sondern an die Stelle gesprungen, an der dieses Token definiert ist. Das funktioniert logischerweise nur bei Prozeduren, Funktionen und Labels.

Beim Anklicken des Menüpunkts öffnet sich zunächst eine nichtmodale Dialogbox, in der Sie folgende Einstellungen vornehmen können:


Finden

Im oberen Bereich der Dialogbox befindet sich eine Gruppe von sechs Radiobuttons, mit denen Sie den Suchtyp bestimmen können. Dabei wird bei den ersten vier der gefundene Eintrag direkt im Programmfenster angezeigt, während bei den letzten beiden das Ergebnis in einem separaten Fenster aufgelistet wird. Durch Anklicken eines Treffers in diesem Suchfenster kann man erreichen, dass der Cursor im zugehörigen Programmfenster an die gewünschte Stelle springt.

Text
Der Programmtext wird wie ein ASCII-Text nach einer Zeichenkombination durchsucht.

Token
Es wird nach Omikron Basic Befehlen oder Funktionen oder nach selbst definierten Variablen-, Prozeduren oder Funktionsnamen gesucht. Wenn Sie nach Symbolen wie z.B. Variblennamen suchen, sollten Sie diese Option der Suche nach Texten vorziehen, da nur die Stellen gefunden werden, an denen das gesuchte Symbol auch tatsächlich auftritt und nicht die Stellen, an denen sich zufällig die gleiche Zeichenfolge in einem anderen Kontext befindet (z.B. als Teil eines anderen Variablennamens oder in einem Kommentar). Ausserdem ist die Suche nach Tokens wesentlich schneller als die Suche nach Texten.

Definition
Es wird nach der Definition einer selbstdefinitierten Prozedur oder Funktion oder einem Label gesucht.

Fehler
Es wird nach einer Zeile mit einem Syntax-Fehler gesucht.

Text listen
Der Programmtext wird wie ein ASCII-Text nach einer Zeichenkombination durchsucht. Im Unterschied zu der Text-Option werden die Treffer im Programmfenster aber nicht direkt angesprungen, sondern das Ergebnis wird in einem separaten Fenster aufgelistet.

Token listen
Das Programm wird aus Token-Ebene durchsucht. Im Unterschied zu der Token-Option werden die Treffer im Programmfenster aber nicht direkt angesprungen, sondern das Ergebnis wird in einem separaten Fenster aufgelistet.

Hinweis: Die Suche nach Text liefert nur Fundstellen im Bereich des auch im Fenster sichtbaren Programmtextes. Das heisst, ein Text wird in eingeklappten Programmteilen nicht gefunden. Die Suche nach Tokens findet hingegen auch das Vorkommen dieses Tokens in eingeklappten Bereichen. Als Fundstelle erscheint dann die Falte, an der der Programmtext aufgeklappt werden kann.

Suchtext
In der Eingabezeile kann man angeben, wonach gesucht werden soll. Bei der Suche nach Fehlern kann hier logischerweise nichts eingegeben werden.
Wenn Sie nach Tokens suchen, müssen Sie folgendes beachten: Beim Suchen nach einer Variablen oder einer Funktion müssen Sie gegebenenfalls auch das Postfix mit angeben. Die Dimension des gesuchten Tokens geben Sie an, indem Sie hinter den Namen Klammern setzen, die ein Komma weniger enthalten als die Dimension des gesuchten Tokens beträgt. Zum Beispiel würde die Angabe "Var(,)" die Suche nach einem zweidimensionalen Feld mit dem Namen "Var" bewirken. Wollen Sie dagegen nach einer gleichnamigen Prozedur oder Funktion mit zwei Parametern suchen, so müssen Sie "PROC Var(,)" oder kürzer "P Var(,)" bzw. "FN Var(,)" eingeben. Wenn die Dimension des gesuchten Tokens nicht angegeben wird, so sucht der Editor nach dem Namen mit der niedrigsten Dimension. Wenn vor dem Namen kein PROC, -, bzw. FN angegeben wird, so wird zuerst nach einer Variablen, danach nach einer Prozedur, dann nach einem Label und schließlich nach einer Funktion mit dem angegebenen Namen gesucht.

[Block übernehmen]
Dieser Button ist nur anwählbar, wenn im Programmfenster ein einzeiliger Block markiert ist. Durch Anklicken des Buttons wird der Block in die Eingabezeile übernommen. Diese Methode ist wesentlich praktischer, als der Umweg über das Clipboard mit 'Kopieren' und 'Ersetzen'.

Unterhalb der Eingabezeile können Sie mit vier Radiobuttons den Bereich festlegen, in dem gesucht werden soll.

Alles
Es wird das gesamte Programm durchsucht.

Anfang bis Cursor
Es wird der Bereich vom Anfang des Programms bis zur Cursorposition durchsucht.

Block
Es wird nur innerhalb eines Blockes, der im zugehörigen Programmfenster definiert sein muss, gesucht. Diese Option ist sehr nützlich, wenn man nur einen ganz bestimmten Bereich durchsuchen will.

Cursor bis Ende
Es wird ab der Cursorposition bis zum Programmende gesucht.

Manchmal ist es nützlich, einen Text von hinten nach vorne zu durchsuchen. Darum gibt es in der Finden-Dialogbox zwei Radiobuttons, mit denen Sie die Suchrichtung festlegen können.

Vorwärts
Der gewählte Bereich wird von vorne nach hinten durchsucht.

Rückwärts
Der gewählte Bereich wird von hinten nach vorne durchsucht.

Am Ende der Dialogbox befinden sich noch zwei Checkboxen, die nur anwählbar sind, wenn nach Texten gesucht wird und mit denen folgende Einstellungen vorgenommen werden können:

Groß- und Kleinschreibung unterscheiden
Wenn diese Checkbox aktiviert ist, wird zwischen Groß- und Kleinschreibung unterschieden.

Kommentare überspringen
Wenn diese Checkbox aktiviert ist, werden alle Kommentare ignoriert. Dies sind Teile des Programmtextes, die keinen ausführbaren Code enthalten und nur der Erläuterung dienen. Darum ist es häufig auch nicht sinnvoll, in diesen Bereichen zu suchen. Kommentare werden mit einem Hochkomma oder einem REM-Befehl eingeleitet und werden in der Standardeinstellung des Editors grün dargestellt.
Die Aktivierung dieser Funktion verringert die Suchgeschwindigkeit etwas, da in jeder Zeile zunächst immer festgestellt werden muss, ob sich darin ein Kommentar befindet.

[Finden]
Wenn Sie alle Eingaben Ihren Wünschen entsprechend vorgenommen haben, können Sie auf diesen Button klicken oder [Return] drücken. Damit wird die Suche gestartet. Der Finden-Dialog wird dabei aber nicht geschlossen, so dass Sie durch Klicken in das Dialogboxfenster gleich nach etwas anderem suchen können.
Als nichtmodaler Dialog kann der Finden-Dialog aber auch jederzeit durch Klicken in ein anderes Fenster verlassen werden. In diesem Fall geschieht nichts.


Ersetzen ...

Neben der üblichen Funktion, einen gegebenen Text durch einen anderen zu ersetzen, bietet der Omikron Basic Editor auch die Möglichkeit, Variablen und andere Symbole einfach umzubenennen. Das geschieht durch Änderung des Eintrags in der internen Namenstabelle des Programms und geht wesentlich schneller, als das stückweise Ersetzen des Symbolnamens an allen Stellen, an denen das Symbol im Programm vorkommt.

Beim Anklicken des Menüpunkts öffnet sich zunächst eine nichtmodale Dialogbox, in der Sie folgende Einstellungen vornehmen können:


Ersetzen

Im oberen Bereich der Dialogbox können Sie über zwei Radiobuttons wählen, ob Sie Text ersetzen oder Token umbenennen wollen.

Text ersetzen
Der Programmtext wird wie ein ASCII-Text nach einer Zeichenkombination durchsucht, die jeweils durch eine andere Zeichenfolge ersetzt wird.

Token umbenennen
Mit dieser Option kann der Name eines Symbols (Variable, Prozedur, Function etc.) auf einfache, schnelle und sichere Weise geändert werden. Die Änderung des Namens erfolgt intern in der Namenstabelle des Programms. Versehentliche Fehler durch Mehrdeutigkeiten sind dadurch ausgeschlossen. Wenn Sie also ein Symbol umbenennen wollen, sollten Sie immer diese Option wählen.

Hinweis: Das Ersetzen von Texten funktioniert nur in Bereichen, die auch im Fenster sichtbar sind. Das heisst, ein Text wird in eingeklappten Programmteilen nicht ersetzt. Das Umbenennen von Tokens funktioniert hingegen auch in eingeklappten Bereichen.

Suchen nach
In der Eingabezeile kann man angeben, was ersetzt bzw. umbenannt werden soll.
Wenn Sie ein Token umbenennen wollen, müssen Sie folgendes beachten: Beim Umbenennen einer Variablen oder einer Funktion müssen Sie gegebenenfalls auch das Postfix mit angeben. Die Dimension des umzubenennenden Tokens geben Sie an, indem Sie hinter den Namen Klammern setzen, die ein Komma weniger enthalten als die Dimension des Tokens beträgt. Zum Beispiel würde die Angabe "Var(,)" ein zweidimensionales Feld mit dem Namen "Var" identifizieren. Wollen Sie dagegen eine gleichnamige Prozedur oder Funktion mit zwei Parametern umbenennen, so müssen Sie "PROC Var(,)" oder kürzer "P Var(,)" bzw. "FN Var(,)" eingeben. Wenn die Dimension des Tokens nicht angegeben wird, so sucht der Editor nach dem Namen mit der niedrigsten Dimension. Wenn vor dem Namen kein PROC, -, bzw. FN angegeben wird, so wird zuerst nach einer Variablen, danach nach einer Prozedur, dann nach einem Label und schließlich nach einer Funktion mit dem angegebenen Namen gesucht.

Ersetzen durch
In dieser Eingabezeile kann man angeben, durch was der gesuchte Text ersetzt werden bzw. wie der neue Name lauten soll.
Wenn Sie ein Token umbenennen wollen, dürfen Sie hier weder Angaben über die Dimension noch den Variablentyp (kein Postfix) oder die Art des Tokens (Variable, Prozedur etc.) machen. Mit 'Token umbenennen' können Sie nur den reinen Namen ändern, nicht aber den Typ, die Dimension oder gar die Art des Symbols. Wenn Sie z.B. bei 'Suchen nach' "Var_1#(,,)" eingegeben haben, so geben Sie in dieses Feld nur "Var_0" ein (ohne Postfix und Dimensionsangaben), um den Namen entsprechend zu ändern.

Hinweis: Wenn Sie den Typ einer Variablen im gesamten Programmtext ändern wollen, z.B. weil Ihnen aufgefallen ist, dass die von Ihnen definierte Long-Integer-Variable nie Werte außerhalb des Bereichs von Short-Integern annehmen kann, dann bleibt Ihnen nur folgender Weg: Klappen Sie das gesamte Programm aus (Modus/Alles ausklappen) und ersetzen Sie dann den betreffenden Variablennamen mit der Funktion 'Text ersetzen', wobei Sie bei 'Suchen nach' das alte und bei 'Ersetzen durch' das neue Postfix angeben. Falls der alte Variablentyp vom Editor ohne Postfix dargestellt wird, so dürfen Sie dies bei 'Suchen nach' natürlich nicht angeben.

[Block übernehmen]
Dieser Button ist nur anwählbar, wenn im Programmfenster ein einzeiliger Block markiert ist. Durch Anklicken des Buttons wird der Block in die Eingabezeile übernommen, in der sich gerade der Cursor befindet. Diese Methode ist wesentlich praktischer, als der Umweg über das Clipboard mit 'Kopieren' und 'Ersetzen'.

Die Felder unterhalb der Eingabezeilen sind nur anwählbar, wenn die Option 'Text ersetzen' gewählt wurde, da sich die Umbenennung eines Tokens immer global auswirkt und daher weder die Angabe eines Bereichs noch die übrigen Einstellungen sinnvoll wären.

Alles
Es wird im gesamten Programm gesucht und ersetzt.

Anfang bis Cursor
Es wird nur im Bereich vom Anfang des Programms bis zur Cursorposition gesucht und ersetzt.

Block
Es wird nur innerhalb eines Blockes, der im zugehörigen Programmfenster definiert sein muss, gesucht und ersetzt. Diese Option ist sehr nützlich, wenn man nur einen ganz bestimmten Bereich verändern will.

Cursor bis Ende
Es wird ab der Cursorposition bis zum Programmende gesucht und ersetzt.

Manchmal ist es nützlich, die Textersetzung von hinten nach vorn durchzuführen. Darum gibt es in der Ersetzen-Dialogbox zwei Radiobuttons, mit denen Sie die Suchrichtung festlegen können.

Vorwärts
Der gewählte Bereich wird von vorne nach hinten bearbeitet.

Rückwärts
Der gewählte Bereich wird von hinten nach vorne bearbeitet.

Am Ende der Dialogbox befinden sich noch drei Checkboxen, mit denen folgende Einstellungen vorgenommen werden können:

Bei jedem gefundenen Eintrag nachfragen
Wenn diese Checkbox aktiviert ist, wird immer, wenn der Editor den Suchtext gefunden hat, eine kleine Dialogbox präsentiert, die Ihnen die Möglichkeit gibt, zu entscheiden, ob der gefundene Eintrag ersetzt werden soll oder nicht oder ob die Suche komplett abgebrochen werden soll.

Groß- und Kleinschreibung unterscheiden
Wenn diese Checkbox aktiviert ist, wird zwischen Groß- und Kleinschreibung unterschieden.

Kommentare überspringen
Wenn diese Checkbox aktiviert ist, werden alle Kommentare ignoriert.

[Ersetzen] bzw. [Umbenennen]
Wenn Sie alle Eingaben Ihren Wünschen entsprechend vorgenommen haben, können Sie auf diesen Button klicken oder [Return] drücken. Damit wird der Vorgang gestartet. Der Ersetzen-Dialog wird dabei aber nicht geschlossen, so dass Sie durch Klicken in das Dialogboxfenster gleich mit dem Ersetzen bzw. Umbenennen fortfahren können.
Als nichtmodaler Dialog kann der Ersetzen-Dialog aber auch jederzeit durch Klicken in ein anderes Fenster verlassen werden. In diesem Fall geschieht nichts.



Vergleichen ...

Wenn man an einem längeren Programm Änderungen an verschiedenen Stellen vorgenommen hat, kann es passieren, dass dieses Programm dadurch nicht mehr läuft oder sich nicht mehr compilieren lässt. Durch Vergleich mit einem älteren, noch funktionsfähigen Programm lassen sich mit dieser Funktion nun leicht alle Stellen aufspüren, die verändert wurden. Toppen Sie dazu zunächst nacheinander die beiden Fenster, die miteinander verglichen werden sollen.

Beim Anklicken des Menüpunkts öffnet sich dann eine nichtmodale Dialogbox, in der Sie folgende Einstellungen vornehmen können:

Vergleichen

Im oberen Bereich der Dialogbox werden die Namen der Programme angezeigt, die verglichen werden sollen. Diese sind das oberste und das zweitoberste Programmfenster. Unterhalb dieser Angaben können Sie mit vier Radiobuttons den Bereich festlegen, in dem verglichen werden soll.

Alles
Es wird die gesamten Programme verglichen.

Anfang bis Cursor
Es wird der Bereich vom Anfang der Programme bis zur niedrigsten Cursorposition von einem der Programme verglichen.

Block
Es wird nur innerhalb der Blöcke, die in den zugehörigen Programmfenstern definiert sein müssen, verglichen. Diese Option ist sehr nützlich, wenn man nur einen ganz bestimmten Bereich vergleichen will.

Cursor bis Ende
Es wird ab der höchsten Cursorposition der Programme bis zum Programmende verglichen.

Achtung: Wenn Sie hier etwas anderes als 'Alles' auswählen, müssen Sie dafür sorgen, das die Cursor bzw. Blöcke in beiden Programmen geeignet eingestellt werden.

Manchmal ist es nützlich, einen Text von hinten nach vorne zu vergleichen. Darum gibt es in der Vergleichen-Dialogbox zwei Radiobuttons, mit denen Sie die Richtung festlegen können.

Vorwärts
Der gewählte Bereich wird von vorne nach hinten verglichen.

Rückwärts
Der gewählte Bereich wird von hinten nach vorne verglichen.

Am Ende der Dialogbox befinden sich noch zwei Checkboxen, mit denen folgende Einstellungen vorgenommen werden können:

Groß- und Kleinschreibung unterscheiden
Wenn diese Checkbox aktiviert ist, wird zwischen Groß- und Kleinschreibung unterschieden.

Kommentare überspringen
Wenn diese Checkbox aktiviert ist, werden alle Kommentare ignoriert. Bei Vergleichen ist es meist sinnvoll, diese Checkbox zu aktivieren, da die Lauffähigkeit von Programmen nicht von Unterschieden in den Kommentaren beeinflusst wird.

[Vergleichen]
Wenn Sie alle Eingaben Ihren Wünschen entsprechend vorgenommen haben, können Sie auf diesen Button klicken oder [Return] drücken. Damit wird der Vergleich gestartet. Hat der Editor einen Unterschied zwischen beiden Programmen gefunden, werden die Cursor in beiden Fenstern auf die unterschiedliche Stelle gesetzt. Sie können gegebenenfalls sofort Veränderungen vornehmen und danach den Vergleich fortsetzen. Verwenden Sie dazu die Menüpunkte, die nachfolgend besprochen werden.
Als nichtmodaler Dialog kann der Vergleichen-Dialog jederzeit durch Klicken in ein anderes Fenster verlassen werden. In diesem Fall geschieht nichts.

Hinweis: Beim Vergleich werden führende Leerzeichen ignoriert. Zeilen werden also als gleich erkannt, wenn sie zwar unterschiedlich eingerückt, ansonten aber identisch sind. Zeilennummern werden in den Vergleich mit einbezogen, wenn Sie angezeigt werden. Wenn der Vergleich ohne Berücksichtigung unterschiedlicher Zeilennummern erfolgen soll, müssen Sie die Anzeige vorher in beiden Fenstern abschalten.


Fortsetzen

Dieser Menüpunkt bezieht sich auf die Funktionen 'Suchen', 'Ersetzen' und 'Vergleichen' und dient dazu, einen bereits gestarteten Vorgang geeignet fortzusetzen. Dazu gibt es ein Untermenü mit drei Einträgen:

nach Cursor
Die Operation wird hinter der aktuellen Cursorposition fortgesetzt. Wenn als Richtung 'Rückwärts' ausgewählt wurde, wird natürlich vor dem Cursor fortgefahren.

nach Doppelpunkt
Die Operation wird hinter dem nächsten Doppelpunkt fortgesetzt. Wenn als Richtung 'Rückwärts' ausgewählt wurde, wird natürlich vor dem vorherigen Doppelpunkt fortgefahren.

nächste Zeile
Die Operation wird in der nächsten Zeile fortgesetzt. Wenn als Richtung 'Rückwärts' ausgewählt wurde, wird natürlich in der vorherigen Zeile fortgefahren.


Symbolliste

Wenn ein Programmfenster getoppt ist, können Sie über diesen Menüpunkt eine Liste mit allen in diesem Programm verwendeten Symbolen (Namen von Variablen, Prozeduren, Funktionen etc.) aufrufen. Links wird angezeigt, wie oft das jeweilige Symbol im Programm verwendet wird. Danach kommt der Name mit Postfix für den Datentyp. Bei mehrdimensionalen Variablen wird auch noch die Dimension durch in Klammern gesetzte Kommas angezeigt. Dabei ist die Dimension um eins größer als die Anzahl der Kommas.
Mit der Maus können Sie jeweils ein Symbol markieren. Dies wird dann gelb unterlegt dargestellt und kann mit den weiter unten beschriebenen Funktionen gezielt angesprungen oder gelistet werden.

Über das PopUp-Menü links oben kann die Symbolliste nach verschiedenen Kriterien sortiert werden:

[Unsortiert]
Die Symbole sind so angeordnet, wie sie in der Variablentabelle stehen. Dies entspricht im wesentlichen einer chronologischen Anordnung. Die Symbole befinden sich also in der Reihenfolge, in der sie definiert wurden.

[Benutzt]
Die Symbole werden danach sortiert, wie oft sie im Programm verwendet wurden. Dabei werden gleich häufig verwendete Symbole alphabetisch angeordnet. Man kann also sofort erkennen, welche Symbole irgendwann mal definiert, dann aber nicht mehr verwendet wurden (Benutzt = 0). Diese sollten Sie mit der Funktion 'Aufräumen' entfernen.

[Name]
Es wird nach dem Symbolnamen sortiert. Dabei wird nur der reine Name berücksichtigt, vorangestellte "PROC" oder "FN" werden ignoriert. Bei Namensgleichheit wird nach Symboltyp sortiert.

[Typ]
Die Symbole werden nach dem Datentyp angeordnet. Ganz oben stehen die Strings, gefolgt von Double-Float, Single-Float, Long-Integer, Short-Integer, Byte und Flag. Dahinter stehen Prozeduren und Label. Am Ende befinden sich die Funktionen FN und FNEX jeweils wieder nach Rückgabetyp sortiert. Bei Typgleichheit wird alphabetisch sortiert. Bei längeren Programmen hilft Ihnen diese Anordnung, um sehr schnell bestimmte Prozeduren, Label oder Funktionen anzuspringen.

[Dimension]
Als Sortierkriterium dient die jeweilige Dimension der Symbole. Bei Dimensionsgleichheit wird alphabetisch sortiert.

Rechts vom PopUp-Menü befinden sich noch drei Buttons, mit denen Sie spezielle Funktionen ausführen können:

[Updaten]
Die Symbolliste wird aktualisiert, z.B. weil Sie zwischenzeitlich neue Variablen deklariert, eine Library oder einen Block zugeladen haben.

Hinweis: Wenn die Symbolliste neu sortiert wird, erfolgt automatisch ein Aktualisierung.

[Anspr.]
Dieser Button ist nur anwählbar, wenn in der Symbolliste eine Prozedur, ein Label oder eine Funktion ausgewählt wurde. Dann kann man mit diesem Button an die Stelle springen, an der dieses Symbol definiert ist. Mit dieser Methode gelangen Sie auch in sehr langen Programmen schnell zum gewünschten Ziel. Diese Funktion kann auch durch Doppelklick auf das Symbol bei gedrückter [alt] Taste ausgelöst werden.

[Listen]
Es öffnet sich ein neues Fenster, in dem alle Stellen aufgeführt werden, an denen das ausgewählte Symbol vorkommt. Diese Funktion kann auch durch Doppelklick auf das Symbol ausgelöst werden.

 

Cursor

Mit Hilfe der Einträge in diesem Menü kann der Cursor innerhalb eines Programmfensters bewegt werden. Im Einzelnen sind folgende Möglichkeiten vorhanden:

Zur letzten Position
Gehe zu ...
Gehe zum Blockanfang
Gehe zum Blockende
Cursorz. nach oben
Cursorz. nach unten
Setze Markierung
Entferne Markierung
Marke anspringen


Zur letzten Position

Der Cursor wird an die Stelle gebracht, wo sich der Editor zuletzt die Cursorposition gemerkt hat. Der Editor merkt sich die alte Cursorposition bei einem Doppelklick in das Fenster ('Token listen ...), bei einem 'Gehe zu ...', und wenn der Editor die Cursorposition verändert (z.B. beim Laden einer Library). Da der Editor sich bis zu 10 alte Positionen merkt, kann auch nacheinander mit diesem Menüpunkt zurückgesprungen werden.


Gehe zu ...

Es öffnet sich eine nichtmodale Dialogbox, in der Sie das Sprungziel angeben können.

Gehe zu

In dieser Dialogbox befinden sich eine Eingabezeile und zwei Buttons. Diesen Dialog kann man auch erreichen, indem man auf die Y-Anzeige in der Infozeile eines Programmfensters klickt.

Springe zu
In dieser Eingabezeile kann eine Zeilennummer, ein Label oder eine Definition angegeben werden. Dorthin springt dann der Cursor.

Achtung: Wenn hier eine Zeilennummer angegeben wird, so ist damit die Nummer der BASIC-Zeile gemeint und nicht die fortlaufende Numerierung des Editors, die in der Infozeile angezeigt wird.

[Block übernehmen]
Dieser Button ist nur anwählbar, wenn im Programmfenster ein einzeiliger Block markiert ist. Durch Anklicken des Buttons wird der Block in die Eingabezeile übernommen. Diese Methode ist wesentlich praktischer, als der Umweg über das Clipboard mit 'Kopieren' und 'Ersetzen'.

[Springen]
Wenn Sie das Sprungziel angegeben haben, klicken Sie auf diesen Button oder drücken die [Return] Taste. Der Cursor im Programmfenster wird dann an die gewünschte Stelle gestzt. Die Dialogbox bleibt dabei geöffnet, so dass Sie gleich an die nächste Stelle springen können.


Gehe zum Blockanfang

Der Cursor springt zum Anfang des markierten Blocks. Das funktioniert auch bei versteckten Blöcken.


Gehe zum Blockende

Der Cursor springt zum Ende des markierten Blocks. Das funktioniert auch bei versteckten Blöcken.


Cursorzeile nach oben

Der Cursor bleibt in derselben Zeile, die Zeile wird aber als oberste in dem Fenster dargestellt.


Cursorzeile nach unten

Der Cursor bleibt in derselben Zeile, die Zeile wird aber als unterste in dem Fenster dargestellt.


Setze Markierung

Im unteren Teil des Menüs sind zehn freie Menüeinträge. Mit diesem Menüpunkt werden in den ersten freien dieser Menüeinträge die nächsten 24 Zeichen hinter dem Cursor in der aktuellen Zeile eingetragen. Ein Klick auf diesen Menüpunkt springt dann genau an diese Stelle. Sie sollten beim Setzen der Markierungen darauf achten, daß der Cursor an einer aussagekräftigen Stelle innerhalb der Zeile steht. Denn der Eintrag im Menü beginnt genau an der Stelle, an der der Cursor beim Setzen der Markierung stand. Wenn das das Zeilenende war, dann sehen Sie anschließend im Menü nur einen leeren Eintrag, der allerdings ohne Probleme angesprungen werden kann.

Hinweis: Eine bestimmte Markierung können Sie auch setzen, indem Sie die entsprechende Funktionstaste zusammen mit der Control-Taste drücken. Zum Beispiel würde [Ctrl]+[F3] das dritte Sprungziel setzen.


Entferne Markierung

Ein mit 'Setze Markierung' belegter freier Menüeintrag wird wieder gelöscht. Und zwar genau derjenige, vor dem sich das Häkchen befindet. Um einen bestimmten Menüeintrag zu löschen, muß dieser also ggf. erstmal angesprungen werden.


Marke anspringen

Durch das Anklicken eines der zehn Einträge am unteren Ende des Menüs wird die entsprechende Zeile im Programmtext angesprungen. Das geht natürlich nur dann, wenn die Markierung vorher auch gesetzt worden ist. Die zuletzt angesprungene Marke wird mit einem Häkchen markiert.

Hinweis: Eine bestimmte Markierung können Sie auch anspringen, indem Sie die entsprechende Funktionstaste zusammen mit der Alternate-Taste drücken. Zum Beispiel würde [Alt]+[F5] das fünfte Sprungziel anspringen.


  

Modus

Dieses Menü enthält alle grundlegenden Einstellungen für die Arbeitsweise des Editors. Dazu gibt es folgende Menüpunkte:

Neu nummerieren ...
Zeichen wiederholen ...
Passwort eingeben ...
Bereich einklappen
Alles ausklappen
Einstellungen
Allgemein ...
Programm ...
Speicher ...
Shortcuts ...
Einstellungen laden ...
Einstellungen speichern ...
Voreingestellte Farben

Neu nummerieren ...

Wenn Sie ohne Zeilennummern arbeiten, benötigen Sie diese Funktion nicht, ansonsten können Sie damit Ihrem Programm neue Zeilennummern geben. Dazu erscheint zunächst eine modale Dialogbox:


Neu nummerieren

In der Dialogbox befinden sich vier Eingabezeilen, die wir jetzt besprechen wollen:

Von Editorzeile
Hiermit geben Sie die erste Zeile an, ab der neu nummeriert werden soll. Dabei ist nicht die eventuell links angezeigte BASIC-Zeilennummer gefragt, sondern die fortlaufende Zeilennummer des Editors, die links oben in der Infozeile bei "Y=" angezeigt wird.

Bis Editorzeile
Hiermit geben Sie die letzte Zeile an, die noch neu nummeriert werden soll. Dabei ist nicht die eventuell links angezeigte BASIC-Zeilennummer gefragt, sondern die fortlaufende Zeilennummer des Editors, die links oben in der Infozeile bei "Y=" angezeigt wird.

Startnummer
Hier muss die Nummer angegeben werden, mit der die Neunummerierung starten soll.

Schrittweite
Die Schrittweite gibt an, wie groß die Differenz zwischen zwei aufeinander folgenden Zeilennummern sein soll.

[Abbruch]
Mit diesem Button können Sie den Vorgang abbrechen. Alternativ kann man auch auf [Escape] drücken.

[OK]
Damit wird das Programm im obersten Fenster neu nummeriert. Alternativ können Sie auch auf [Return] drücken.

Hinweis: Wenn Sie ein Programm, das mit Zeilennummern geschrieben wurde, künftig ohne Zeilennummern weiterverwenden wollen, so sollten Sie es in Einerschritten neu durchnummerieren. Der Umstieg ist natürlich nur möglich, wenn das Programm keine Befehle enthält, die sich direkt auf bestimmte Zeilennummern beziehen (z.B. GOTO 100).


Zeichen wiederholen ...

Hier kann ein Zeichen vervielfältigt werden. Dazu wird zunächst eine modale Dialogbox geöffnet.


Zeichen wiederholen

Um ein Programm übersichtlich zu gestalten, kann man zum Beispiel verschiedene Bereiche des Programms durch eine Reihe von gleichen Zeichen (z.B. *,-,_ oder ') abtrennen. Das können Sie leicht mit dieser Funktion erreichen.

Anzahl
Hier geben Sie an, wieviele Zeichen nebeneinander eingefügt werden sollen. Wenn die Trennlinie quer über das ganze Programmfenster gehen soll, wären das bei der Standardeinstellung 255 Zeichen.

[Abbruch]
Mit diesem Button können Sie die Dialogbox vorzeitig verlassen. Alternativ kann man auch auf [Escape] drücken.

[OK]
Damit wird das Zeichen vor dem Cursor an der Cursorposition so oft eingefügt, wie bei 'Anzahl' angegeben wurde. Alternativ können Sie auch auf [Return] drücken.


Passwort eingeben ...

Eingeklappte Bereiche können mit einem Passwort vor dem Ausklappen geschützt werden. Um das Passwort einzugeben, erscheint zunächst der folgende modale Dialog:


Passwort eingeben

Passwort
Hier geben Sie das Passwort ein. Es kann aus maximal 6 Buchstaben und Zahlen bestehen. Die eingegebenen Zeichen werden auf dem Bildschirm nicht dargestellt, sondern durch dicke Punkte symbolisiert. Wenn Sie das Passwort wieder löschen wollen, geben Sie einfach nichts ein.

[Abbruch]
Mit diesem Button können Sie die Passworteingabe abbrechen. Alternativ kann man auch auf [Escape] drücken.

[OK]
Damit wird das Passwort aktiv. Alle Programmteile, die ab jetzt eingeklappt werden, sind mit diesem Passwort geschützt. Das bedeutet, daß sie später nur dann wieder ausgeklappt werden können, wenn zuvor das richtige Passwort eingegeben wurde. Alternativ können Sie auch auf [Return] drücken.


Bereich einklappen

Wenn der Cursor in einer Zeile steht, die mit DEF PROC oder DEF FN beginnt, dann wird die gesamte Prozedur bzw. Funktion für die Darstellung im Fenster in einer Zeile (nämlich dieser Definitionszeile) zusammengefaßt. Erkennbar ist eine solche Einklappung an einem Rechteck vor diesem Schlüsselbegriff.
Die nächste Zeile, die im Fenster noch dargestellt wird, ist dann die Zeile hinter der Zeile mit dem END_PROC- bzw. END_FN-Befehl.
Der Editor klappt automatisch bis zum ersten unbedingten RETURN, END_PROC bzw. END_FN ein. Eine Prozedur kann also mehrere RETURNs enthalten. Solange sie innerhalb einer IF... THEN... ELSE... ENDIF Anweisung stehen, werden sie beim Einklappen nicht berücksichtigt. Entsprechend kann auch ein Bereich eingeklappt werden, der mit einer öffnenden und einer schließenden geschweiften Klammer definiert worden ist.
Wenn sich der Cursor beim Anwählen dieses Menüpunktes bereits in einer eingeklappten Zeile befindet, dann wird diese Zeile ausgeklappt. Dieser Menüpunkt dient also auch dazu, bereits eingeklappte Bereiche wieder auszuklappen.

Achtung: Wenn ein eingeklappter Bereich als TEXT gespeichert wird, dann wird nur die Titelzeile dieses Bereichs gespeichert. Der in dem eingeklappten Bereich enthaltene Programmtext geht also verloren.

Hinweis: In die Zeile, die einen eingeklappten Bereich repräsentiert, können Sie keine Eingaben machen. Jegliche Veränderung dieser Zeile wird automatisch aufgehoben, wenn der Cursor die Zeile verläßt.


Alles ausklappen

Alle eingeklappten Bereiche werden wieder ausgeklappt.

Achtung: Da es keine Funktion 'Alles einklappen' gibt, ist es unter Umständen eine Menge Arbeit, einen langen, vollständig eingeklappten Programmtext wieder einzuklappen, wenn er mit dieser Funktion ausgeklappt worden ist. Sie sollten also vorher gut überlegen, ob das vollständige Ausklappen wirklich notwendig ist.


Einstellungen

Dieser Menüpunkt dient dazu, die Arbeitsweise von Omikron Basic Ihren eigenen Bedürfnissen optimal anzupassen. Dazu gibt es ein Untermenü mit vier Einträgen:

Allgemein ...
Es öffnet sich zunächt eine nichtmodale Dialogbox.


Allgemeine Einstellungen

Diese Dialogbox besteht aus vier Unterdialogen, die man über eine Leiste von Reitern im oberen Teil der Dialogbox auswählen kann.

Achtung: Die gemachten Einstellungen werden erst wirksam, wenn Sie auf den Button 'Ausführen' am Ende der Dialogbox geklickt oder [Return] gedrückt haben.

Die einzelnen Unterdialoge wollen wir jetzt im Detail besprechen:

Allgemein

Tabulatorlänge in Zeichen
Hiermit wird eingestellt, um wieviele Zeichen der Cursor beim Druck auf die Tabulator-Taste nach rechts rückt.

Zeichen pro Zeile
Damit können Sie die Anzahl der Zeichen festlegen, die maximal in einer Programmzeile vorkommen dürfen. In den allermeisten Fällen müsste die Voreinstellung von 255 Zeichen völlig ausreichen, da Programme durch allzu vollgeschriebne Zeilen sehr unübersichtlich werden. In Sonderfällen, wenn z.B. sehr viele Einzelparameter an eine Prozedur oder Funktion übergeben werden müssen, kann es durchaus sinnvoll sein, die Zeilenbreite zu vergrößern.

Sicherheitsabfragen
In bestimmten Fällen macht der Editor eine Sicherheitsabfrage, bevor er die von Ihnen gewählte Funktion ausführt. Wenn Sie z.B. Omikron Basic beenden, ohne die gemachten Änderungen am Programm vorher abzuspeichern, erscheint solch eine Abfrage. Mit dieser Checkbox können Sie die Sicherheitsabfragen ein- oder ausschalten.

Auto-Backup
Vielleicht ist es Ihnen ja schon mal passiert, dass Sie Änderungen an einem Programm vorgenommen haben, das geänderte Programm dann unter gleichem Namen gespeichert und danach festgestellt haben, dass Sie doch noch das ursprüngliche Programm brauchen. Wenn diese Checkbox aktiviert ist, werden solche Probleme dadurch vermieden, dass eine bereits bestehende Datei gleichen Namens beim Speichern automatisch mit der Endung *.BAK versehen wird und damit erhalten bleibt.
Wenn z.B. Ihr Programm "Test.BAS" heisst, dann wird beim Speichern eine bereits auf der Festplatte vorhandene Datei gleichen Namens in "Test.BAK" umbenannt, bevor "Test.BAS" gespeichert wird. Dadurch bleibt die alte Datei unter dem Namen "Test.BAK" erhalten.

Deklarationen überwachen
Der Editor kann davor warnen, wenn eine Variable, Funktion oder Prozedur benutzt wird, obwohl sie noch nicht deklariert worden ist. Im Falle der Variablen ist eine Deklaration eine einfache Zuweisung. Die automatische Deklarationsüberwachung schützt Sie vor allem vor Tippfehlern. Wenn Sie z.B. eine Variable mit dem Namen 'Counter' in Ihrem Programm benutzen und bei der nächsten Verwendung versehentlich 'Conter' eintippen, so werden Sie darauf aufmerksam gemacht, daß 'Conter' noch nicht deklariert wurde. Dadurch wird vermieden, dass das Programm fälschlicherweise mit der Variablen 'Conter' statt Counter' rechnet. Das funtioniert natürlich nur, wenn nicht zuvor irgendwo schon 'Conter' deklariert wurde.
Ein weiteres Beispiel wäre der Aufruf einer Prozedur aus der Extension Library. Wenn Sie hierbei den Namen falsch schreiben oder eine falsche Anzahl an Parametern übergeben, werden Sie sofort auf diesen Fehler aufmerksam gemacht.
Die Deklarationsüberwachung funktioniert am sichersten, wenn Sie in regelmaßigen Abständen mit der Funktion 'Aufräumen' im Programm-Menü dafür sorgen, dass sich keine Variablen-Leichen (Variablen, die irgendwann mal deklariert wurden, aber im ganzen Programm nicht mehr benutzt werden) in der Variablentabelle ansammeln.

Compilerfenster automatisch schließen
Wenn Sie Ihr Programm compilieren, öffnet Omikron Basic zunächst ein neues Fenster, in dem der Compiliervorgang dokumentiert wird. Mit diesem Schalter können Sie nun einstellen, dass das Fenster automatisch wieder geschlossen wird, wenn die Compilierung erfolgreich durchgeführt werden konnte. Wenn ein Fehler oder eine Warnmeldung auftreten, bleibt das Fenster in jedem Fall offen, damit Sie der Ursache auf den Grund gehen können.

Bei Programmstart letzte Einstellung öffnen
Wenn Omikron Basic ordnungsgemäß beendet wird, werden zuvor alle Informationen über Position und Größe der geöffneten Fenster und der nichtmodalen Dialogboxen gespeichert. Wenn diese Checkbox aktiviert ist, werden beim nächsten Programmstart alle Fenster und nichtmodalen Dialogboxen automatisch wieder geöffnet.

Maße des ersten Fensters
Die hier angegebenen Daten bestimmen Position und Größe des ersten vom Editor geöffneten Programmfensters. Nachfolgende Fenster werden ein bischen weiter nach rechts und nach unten versetzt, aber in der gleichen Größe geöffnet. Natürlich können alle Fenster danach immer noch verschoben und in der Größe verändert werden. Alle Angaben beziehen sich auf die äußeren Abmessungen des Fensters.


Darstellung

Alle Postfixe anzeigen
Die verschiedenen Variablentypen werden in Omikron Basic durch Postfixe unterschieden. Dabei können Namen mit bestimmten Anfangsbuchstaben für bestimmte Typen definiert werden, die der Editor dann normalerweise ohne Postfix anzeigt. Wie das geht, ist bei 'Neues Programm, Standardvariablentyp' beschrieben. Wenn diese Checkbox aktiv ist, werden auch diese Default-Typen sowie konstante Fließkommazahlen mit Postfix dargestellt.

Exponentialdarstellung
Wenn diese Checkbox eingeschaltet ist, stellt der Editor alle Fließkommazahlen in der Exponentialschreibweise dar (z.B. 123450000000000 gibt in Exponentialdarstellung 1.2345D+14). Bei ausgeschalteter Checkbox wird versucht die Zahl auszuschreiben, sofern dies möglich ist.

Farbige Darstellung
Omikron Basic unterstützt sogenanntes Color-Coding. Dabei können Befehle, Strukturbefehle, Funktionen, Operatoren, Konstanten, Kommentare etc. in verschiedenen Farben dargestellt werden. Wenn man das nicht übertreibt, kann die Übersichtlichkeit eines Programms dadurch erheblich verbessert werden. Für Anhänger der "Monochromie" ist dieses Verhalten natürlich abschaltbar. Wie man die einzelnen Farben verändern kann, erfahren Sie anschließend im Unterdialog 'Farben'.

ASCII 202 -> 32 wandeln
Wenn Sie die Beispielprogramme aus den Online-Handbüchern durch 'Kopieren' und 'Einsetzen' in Omikron Basic Fenster übertragen möchten, empfiehlt es sich, diesen Punkt anzuwählen. Viele Browser realisieren nämlich die Einrückung in Html-Dokumenten durch Einfügen von Zeichen mit dem ASCII-Wert 202. Dies ist bei Omikron Basic aber ein gültiges Zeichen für Variablennamen, wodurch es zu Fehlern beim Einsetzen kommt.
Wenn Diese Checkbox angewählt ist, werden dagegen alle ASCII 202 Zeichen in normale Leerzeichen umgewandelt, so dass die Programmzeilen vom Omikron Basic Editor korrekt interpretiert werden können.

Automatisch einrücken
Der Editor kann die Inhalte von Schleifen und IF...THEN...ELSE...ENDIF Konstruktionen automatisch einrücken. Das funktioniert auch, wenn mehrere Strukturbefehle in einer Zeile stehen. Um wieviele Zeichen diese Einrückung gehen soll, kann man hier einstellen. Außerdem kann dieses Feature hier auch ausgeschaltet werden.

Hinweis: Um ein altes Programm komplett der Einrückprozedur zu unterwerfen, brauchen Sie nur den Menüpunkt 'Neu Tokenisieren' aufzurufen.

Schriftgröße
Hier wird angezeigt, welche Schriftgröße gerade benutzt wird. Durch Anklicken kann man ein Popup-Menü öffnen, aus dem man eine andere Größe auswählen kann. Die eingestellte Schriftgröße gilt für alle Fenster mit Ausnahme der Dialogfenster, die wegen der festen Eingabemasken keine beliebige Schriftgröße erlauben.

Schriftfont
Mit diesem Popup-Menü kann man den gewünschten Font auswählen. Der eingestellte Font gilt für alle Fenster mit Ausnahme der Dialogfenster, die wegen der festen Eingabemasken keine beliebige Fontauswahl erlauben.
Da der Editor nur mit nichtproportionalen Fonts korrekt arbeitet, stehen auch nur solche zur Auswahl.

Schriftstil
Hier sehen Sie eine Gruppe von sieben Checkboxen, mit denen Sie die Attribute für den Schriftstil einstellen können. Jede Ckeckbox repräsentiert dabei ein Attribut. Es können mehrere Attribute gleichzeitig aktiviert werden.

Vektorfont
Diese Checkbox entscheidet, ob bevorzugt mit Vektorfonts oder Bitmapfonts gearbeitet werden soll. Da bei einigen Fonts bzw. Schriftgrößen das Erscheinungsbild der Schrift unterschiedlich ist, gibt diese Einstellung Ihnen eine zusätzlich Auswahlmöglichkeit.

Hinweis: Die Textausgabe ist bei Vektorfonts im allgemeinen langsamer als bei Bitmapfonts.


Farben

Wie Sie ja sicherlich schon bemerkt haben werden, unterstützt Omikron Basic so genanntes Color-Coding. Dabei werden verschiedene Komponenten eines Programms in verschiedenen Farben angezeigt. So lässt sich z.B. ein Programmtext viel besser lesen, wenn die Kommentare in einer anderen Farbe dargestellt werden, als das eigentliche Programm. Auch lassen sich Schleifen schon an der Farbe der Schleifenbefehle erkennen. Wie im vorherigen Kapitel besprochen, kann die farbige Darstellung auch abgeschaltet werden.

Im linken Teil der Dialogbox finden Sie 15 Radiobuttons, mit denen Sie auswählen, für welches Element die Farbe eingestellt werden soll. Danach können Sie aus der Palette im rechten Teil der Dialogbox mit der Maus die gewünschte Farbe herauspicken.

Im Einzelnen können für folgende Elemente die Farben eingestellt werden:

Hintergrund
Im Allgemeinen wählt man für den Hintergrund eine helle Farbe und für die Schrift eine dunkle Farbe. Wer lieber mit heller Schrift auf dunklem Grund arbeitet, kann die Hintergrundfarbe hier auch auf Schwarz, Blau oder einen anderen dunklen Ton einstellen.

Hintergrund im Block
Die Farbe einer Blockmarkierung.

Hinweis: Da der Text in einem Block wegen des Color-Codings nicht invertiert wird, sollte die Farbe des Blocks in der Helligkeit ähnlich sein, wie der Hintergrund. Also z.B. Gelb im Block, wenn der Hintergrund des Fensters weiss ist, weil sonst der Text im Block nicht mehr lesbar wäre.

Cursorzeile
Die Zeile, in der sich der Cursor gerade befindet. In dieser Zeile wird der gesamte Text in einer Farbe dargestellt. Der Editor weiss beim Eintippen ja nicht, was Sie eintippen werden ... ;-)

Befehle und Hilfszeichen
Alle Befehle, die nicht zu einer anderen Gruppe gehören, ebenso Zeichen wie Kommas, Punkte, Klammern etc.
Die hier eingestellte Farbe wird auch für die Ausgabe in Fenstern verwendet, die keine Programmfenster sind (z.B. Such-, Compiler- oder Speicherfenstern).

Fehlerzeile
Eine Zeile, in der es noch einen Syntaxfehler gibt. Die hier eingestellte Farbe wird auch für den Programmzeiger des Debuggers (kleines Dreieck) verwendet.

Kommentare
Texte, die mit einem Hochkomma oder dem REM Befehl beginnen. Solche Kommentare werden vom Compiler ignoriert und dienen nur der Erläuterung des Programms. Die hier eingestellte Farbe wird auch für die Breakpoints des Debuggers (kleine Ellipsen) verwendet.

BASIC-Funktionen
Alle im BASIC vorhandenen Funktionen, wie z.B. MIN, CHR$, ABS usw.

Strukturbefehle
IF, THEN, ELSE, ENDIF, FOR, NEXT, REPEAT, UNTIL, WHILE, WEND, SELECT, CASE, DEFAULT, OTHERWISE, END_SELECT. Nicht dazu gehören GOTO, GOSUB und ON.

Konstanten
Im Programmtext konstante Ausdrücke wie z.B. alles, was in Anführungszeichen steht, direkt angegebene Zahlen usw. Dies hat nichts mit dem COMPILER-Steuerwort DEF_CONST zu tun.

Variablen
Variablen, die Sie selbst deklariert haben.

Operatoren
+,-,*,/,<,>, AND, OR usw.

PROC- und FN-Definitionen
DEF, DEF PROC, END_PROC, END_FN, RETURN, aber nicht die Namen der Prozeduren und Funktionen. Dafür wird die Farbe der PROC- und FN-Aufrufe verwendet.

PROC- und FN-Aufrufe
Die Namen von Prozeduren und Funktionen und die Aufrufe von Prozeduren und Funktionen im Programmtext.

Label
Die Markierungen der Labels und die Sprungbefehle dorthin.

Eingeklappte Bereiche
Die Titelzeilen dieser Bereiche.

[Farbe ändern]
Falls Ihnen keine der 256 Default-Farben in der Palette zusagt, können Sie jeden einzelnen Farbton dieser Palette individuell verändern. Klicken Sie dazu diesen Button an. Es öffnet sich eine Dialogbox (der Color-Picker), mit der Sie einen beliebigen Farbton einstellen können.


Debugger

Mit diesem Unterdialog können Sie die Arbeitsweise des Debuggers Ihren individuellen Bedürfnissen anpassen. Eine genaue Beschreibung des Debuggers finden Sie in Kapitel 11, Der Source Code Debugger.

Im oberen Teil der Dialogbox können allgemeine Einstellungen der Debuggerfunktionen vorgenommen werden:

Zeichen pro Zeile in Variablenfenstern
Ebenso wie bei Programmfenstern kann auch bei Variablenfenstern die Anzahl der Zeichen, die in einer Zeile maximal dargestellt werden können, vom Benutzer eingestellt werden. Im Allgemeinen reicht die Standardeinstellung von 255 Zeichen aus. Wenn Sie allerdings längere Strings im Variablenfenster verfolgen möchten, kann es durchaus sinnvoll sein, diesen Wert zu erhöhen.

Verzögerung bei Animation [in msec]
Der hier eingestellt Wert gibt an, wieviele Millisekunden der Debugger zwischen zwei Befehlen wartet, wenn das Programm im Animationsmodus ausgeführt wird. Ein Wert von 1000 bedeutet also, dass die Befehle im Sekundentakt ausgeführt werden. Dabei wird die Ausführungszeit des Befehls selbst von der Verzögerungszeit abgezogen. Wenn ein Befehl z.B. schon 0.3 s für die Ausführung benötigt, wartet der Debugger nur noch 0.7 s, bis er den nächsten Befehl zur Ausführung bringt.

Variablenfenster permanent aktualisieren
Normalerweise wird der Inhalt von Variablenfenstern nur dann aktualisiert, wenn das Programm in Einzelschritten oder im Animationsmodus ausgeführt wird. Mit dieser Checkbox kann man nun festlegen, dass die Variablenfenster auch dann ständig die aktuellen Variableninhalte anzeigen, wenn Ihr Programm normal abläuft.

Speicherfenster permanent aktualisieren
Diese Checkbox bewirkt das gleiche wie die Vorherige, nur für Speicherfenster.

Bei Animation in PROCs und FNs eintreten
Normalerweise werden Prozeduren und Funktionen im Animationsmodus wie BASIC-Befehle behandelt. Mit dieser Checkbox kann bestimmt werden, dass in Prozeduren und Funktionen hineingesprungen wird und die darin enthaltenen Einzelbefehle schrittweise ausgeführt werden.


Der untere Teil der Dialogbox bezieht sich auf Speicherfenster, mit denen Sie sich den Inhalt des RAM-Speichers anzeigen lassen können. Dabei kann die Anzeige auf unterschiedlichste Weise erfolgen:

Bytes pro Gruppe
Mit diesem Popup-Menü legen Sie fest, wieviele Bytes nebeneinander dargestellt werden, bis ein Leerzeichen eingefügt wird.

Bytes pro Zeile
Dieser Wert gibt an, wieviele Bytes in einer Zeile angezeigt werden.

Adressen anzeigen in
Hier können Sie wählen, ob die Speicheradresse, die links in einem Speicherfenster angezeigt wird, als Dezimalzahl oder als Hexadezimalzahl dargestellt werden soll.

Bytes anzeigen in
Dieses Popup-Menü ermöglicht es, für die Anzeige des Speicherinhalts zwischen verschiedenen Zahlensystemen (von binär bis hexadezimal) zu wählen.

Zeichenkette anzeigen
Da sich der Inhalt einer 8-Bit Speicherzelle immer auch als ein Zeichen mit dem entsprechenden ASCII-Code interpretieren lässt, kann der Inhalt des Speichers auch als Folge von ASCII-Zeichen interpretiert werden. Sinnvoll ist dieses im Allgemeinen nur, wenn sich an der untersuchten Speicherstelle auch tatsächlich Textstücke (z.B. Inhalte von Stringvariablen) befinden. Ansonsten sieht man ein Schriftbild, das eher an altägyptische Hieroglyphen erinnert als an den Inhalt eines Computerspeichers ;-)
Mit dieser Checkbox kann die zusätzliche Anzeige des Speichers als Zeichenkette an- oder abgeschaltet werden.


Zum Schluss wollen wir noch die drei Buttons am Ende der Dialogbox besprechen. Sie sind bei allen vier Unterdialogen vorhanden, wirken aber immer nur auf den geraden angezeigten Dialog.

[Default]
Alle Einstellungen in diesem Unterdialog werden auf vom Editor vorgegebene Werte gesetzt. Benutzen Sie diese Funktion, wenn Sie sich bei der Einstellung total verzettelt haben und ein vernünftige Grundeinstellung wiederherstellen wollen.

[Undo]
Der Unterdialog wird in den Zustand zurückversetzt, in dem er sich vor dem letzten Anklicken von 'Ausführen' befand.

[Ausführen]
Die vorgenommenen Einstellungen werden ausgeführt und sind danach sofort sichtbar bzw. wirksam. Sie können also z.B. während einer Animation des Debuggers die Verzögerungszeit verändern und dann mit diesem Button aktivieren. Alternativ können Sie auch auf [Return] drücken. Die Dialogbox bleibt dabei geöffnet, so dass Sie sofort andere Einstellungen ausprobieren können.


Programm ...

Es öffnet sich die gleiche Dialogbox, die Sie schon von dem Menüpunkt 'Neu ...' kennen. Damit können Sie die dort gemachten Einstellungen nachträglich für jedes Programm individuell verändern. Mit Ausnahme des 'Reservierten Speichers' werden die hier gemachten Einstellungen beim 'Speichern als BASIC' zusammen mit dem Programm abgespeichert, beim 'Speichern als TEXT' gehen sie allerdings mit Ausnahme des Namens verloren.


Speicher ...

Beim Starten von Omikron Basic wird zunächst Speicher angefordert und für die verschiedenen Aufgaben von Editor, Compiler und Debugger eingeteilt. Mit diesem Menüpunkt können Sie die Menge des angeforderten Speichers und die Einteilung für die verschiedenen Zwecke einstellen.


Speichereinstellungen

Die Einstellungen in diesem modalen Dialog beziehen sich nur auf das Omikron Basic selbst und nicht auf die damit erstellten Programme. Es gibt folgende Einstellmöglichkeiten:

Maximale Anzahl der Fenster
Damit ist gemeint, wieviele Fenster (ohne die Dialogboxen) gleichzeitig geöffnet werden können. Diese Zahl sollte nicht größer als nötigt eingestellt werden, da die Verwaltung von Fenstern recht viel Speicher braucht. Eine Zahl von 20 oder 30 ist aber durchaus kein Problem und auch allemal ausreichend.

Maximale Zeilen für Listbuffer
Der Listbuffer wird benutzt, um bei den Suchfunktionen die gefundenen Einträge zu speichern. Außerdem benutzt der Compiler den Listbuffer für seine Ausgaben. Welche Größe sinnvoll ist, hängt von der Größe der Programme ab, die bearbeitet werden sollen. Und natürlich davon, wieviel RAM überhaupt vorhanden ist.

Maximale Variablen-Anzahl
Omikron.Basic kann maximal 16384 Variablen, Prozeduren bzw. Funktionen verwalten. Selbst sehr lange Programme (über 500 kB Token-Code) bringen es im Allgemeinen nicht über 2000 Variablen, so dass diese Einstellung nicht zu üppig ausfallen sollte. Dieser Wert wird erst benötigt, wenn das Programm compiliert wird. Für den Editor spielt er also keine Rolle. Bei RAM-Knappheit kann hier also erstmal gespart werden.

Maximale Zeilen-Anzahl
Omikron.Basic kann maximal 65536 Programm-Zeilen verwalten. Selbst sehr lange Programme (über 500 kB Token-Code) bringen es im Allgemeinen nicht über 10000 Zeilen, so dass diese Einstellung nicht zu üppig ausfallen sollte. Dieser Wert wird erst benötigt, wenn das Programm compiliert wird. Für den Editor spielt er also keine Rolle. Bei RAM-Knappheit kann auch hier also erstmal gespart werden.

Speicher für Programme
Hier geben Sie ein, wieviel Speicher der Editor für Programme reservieren soll. Wenn Sie nur kleine Programme schreiben wollen, reicht im Allgemeinen schon 1 MB, da der von Omikron Basic verwendete Tokencode sehr platzsparend ist. Wenn Sie dagegen viele Programme parallel laden wollen, sollten Sie hier etwas mehr reservieren.

Mindestens freilassen
Diverse MacOS-Funktionen fordern Speicher aus dem Application-Heap desjenigen Programmes an, aus dem heraus sie aufgerufen wurden. Dafür muß also etwas freibleiben. Wieviel das mindestens ist, können Sie hier einstellen.

Im unteren Teil der Dialogbox finden Sie noch Informationen über den freien Speicher in den verschiedenen Segmenten. Zur Erklärung der Begriffe siehe auch das Kapitel 'Speicherorganisation im Omikron Basic'.

BASIC-Programme
Dies ist die Menge an Speicher, die zurzeit zum Laden von BASIC-Programmen noch zur Verfügung steht. Dabei geht es nur um den reinen Programmcode. Compiler, Debugger und Ihre Programme selbst erhalten Speicher aus anderen Bereichen, die hier nicht aufgeführt sind.

Block-Storage-Segment
Diese Angabe dürfte für Sie von geringem Interesse sein. Sie zeigt an, wieviel Speicher dem Editor selbst noch für eigene Variablen, Felder, Strings und dergleichen zur Verfügung steht.

Application-Heap
Einige Funktionen des Betriebssystems, die vom Editor aufgerufen werden, benötigen Speicher im Application-Heap. Darum sollte hier immer etwas Platz sein. Wenn Sie z.B. beim Drucken von BASIC-Listings mal die Fehlermeldung -108 bekommen, kann es daran liegen, dass zu wenig vom Application-Heap frei ist. Erhöhen Sie dann einfach den Wert bei 'Mindestens freilassen'.


[Abbruch]
Mit diesem Button können Sie die Speichereinstellungen abbrechen. Alternativ kann man auch auf [Escape] drücken.

[OK]
Damit wird die Speichereinstellung durchgeführt. Vorher erscheint noch eine Sicherheitsabfrage, falls diese eingeschaltet sind. Alternativ können Sie auch auf [Return] drücken.

Achtung: Damit die Einstellungen wirksam werden, muss Omikron Basic oder sogar der ganze Computer neu gestartet werden (je nach Art der Änderung). Es sollten also vorher alle Programme gesichert werden.

Hinweis: Sollte es Ihnen durch ungünstige Einstellung mal passieren, dass sich Omikron Basic wegen Speichermangels nicht mehr starten läßt, dann gehen Sie bitte wie folgt vor, damit Sie nicht sämtliche Einstellungen (z.B. alle selbstdefinierten Shortcuts) neu vornehmen müssen:
Sorgen Sie dafür, dass Omikron Basic die NEWOMBAS.INF Datei beim Programmstart nicht mehr findet. Benennen Sie also die NEWOMBAS.INF mit dem Finder beliebig um. Starten Sie jetzt Omikron Basic. Da der Editor keine NEWOMBAS.INF findet, wird er Sie mit einer Dateiauswahlbox dazu auffordern, die Datei zu suchen. Brechen Sie die Suche mit dem Abbruch-Button ab. Omikron Basic startet jetzt mit seinen Default-Einstellungen. Wählen Sie jetzt den Menüpunkt 'Einstellungen laden ...' aus dem Modus-Menü, um Ihre umbenannte INF-Datei zu laden. Damit sind alle übrigen Einstellungen wie Farben und Shortcuts wieder vorhanden. Jetzt brauchen Sie die Speichereinstellungen nur noch auf Werte zu setzen, die Ihrer vorhandenen Hardware entsprechen und dann auf 'OK' zu klicken oder [Return] zu drücken. Damit werden alle Werte in eine neue NEWOMBAS.INF Datei geschrieben, Omikron Basic beendet und anschließend mit den Einstellungen in der neuen NEWOMBAS.INF Datei wieder gestartet.


Shortcuts ...
Im Omikron Basic Editor können fast sämtliche Tastaturkürzel selber eingestellt werden. Wer will, kann sogar die Bewegung des Cursors um ein Zeichen nach links auf den rechten Cursorpfeil legen (und umgekehrt natürlich auch). Um die Shortcuts zu verändern, wird dieser Menüpunkt aufgerufen. Es öffnet sich zunächst ein spezielles Fenster zum Definieren der Shortcuts:

Shortcuts definieren

In diesem Fenster sind alle shortcutfähigen Editor-Befehle mit ihrer jeweils aktuellen Belegung aufgelistet. Mit der Maus kann nun ein Shortcut, der verändert werden soll, angeklickt werden. Er erscheint dann hinterlegt mit der aktuellen Blockfarbe. Wenn jetzt eine Taste (bzw. eine Tastenkombination) gedrückt wird, dann wird diese als neuer Shortcut für den Befehl eingetragen und ist sofort aktiv. Die Modifier-Keys werden dabei durch die auf dem Mac dafür gebräuchlichen Zeichen symbolisiert. Da sämtliche Tastendrücke als neues Shortcutkürzel interpretiert werden, kann das Fenster nur mit der Maus bedient werden. Das gilt sowohl für das Schließen des Fensters als auch für die Markierung eines anderen Befehls, dessen Shortcut verändert werden soll.

Der Editor prüft, ob ein Shortcut eventuell für zwei oder mehr verschiedene Funktionen in der Liste steht. Es erscheint dann eine entsprechende Alertbox mit einer Warnmeldung. Sie können den Shortcut aber trotzdem einstellen. Normalerweise sollten Sie dann der anderen Funktion, der dieser Shortcut zugeordnet ist, einen anderen (oder keinen) Shortcut zuordnen. Es wird beim Drücken einer Tastenkombination natürlich immer nur eine Funktion ausgelöst, auch wenn ein Shortcut mehreren Funktionen zugeordnet ist. Wenn das der Fall ist, wird im Zweifel immer die Funktion ausgelöst, die in dem Shortcut-Fenster weiter oben steht.
Wenn Sie einer Funktion keinen Shortcut zuweisen wollen (z.B. um Fehlbedienungen zu vermeiden), dann müssen Sie nur die entsprechende Funktion im Shortcutfenster mit gedrückter Shift-Taste anklicken. Die eingestellten Shortcuts können in der NEWOMBAS.INF gespeichert werden. Wählen Sie dazu im Modus-Menü den Eintrag 'Einstellungen speichern ...' aus.

Hinweis: Die Tastatursteuerung von Fenstern (scrollen) funktioniert nur mit den Programmfenstern. Compilerfenster, Suchfenster und andere Fenstertypen können nicht per Tastatur gesteuert werden.

Im oberen Teil des Shortcutfensters befinden sich noch zwei Buttons mit folgenden Funktionen:

[Undo]
Die letzte Shortcutänderung wird zurückgenommen.

[Default]
Alle Shortcuts werden auf die voreingestellten Werte gesetzt.

Einstellungen laden ...

In Omikron Basic ist es möglich, die Voreinstellungen jeder einzelnen Dialogbox sowie der Shortcuts individuell zu speichern, so dass diese Einstellungen beim nächsten Programmstart automatisch zur Verfügung stehen. Dabei kann man auch mehrere INF-Dateien mit unterschiedlichen Einstellungen anlegen.
Mit diesem Menüpunkt können Sie nun eine beliebige INF-Datei oder Teile davon laden. Dazu öffnet sich zunächst eine Dialogbox. Im oberen Teil der Dialogbox befinden sich Checkboxen, mit denen Sie festlegen, welche Einstellungen geladen werden sollen. Jede Checkbox entspricht einer Dialogbox gleichen Namens, wobei die Checkbox, die der zuletzt geöffneten Dialogbox entspricht, bereits angekreuzt ist. Sie können hiermit also festlegen, ob Sie nur andere Shortcuts, Farben oder die Voreinstellungen für den 'Drucken' Dialog laden wollen.

[Alle]
Dieser Button bewirkt, dass alle Checkboxen angekreuzt werden. Dabei ändert der Button seinen Namen in [Einige]. Durch nochmaliges Anklicken wird der ursprüngliche Zustand wiederhergestellt.

[Abbruch]
Bricht den Vorgang ab. Alternativ kann man auch auf [Escape] drücken.

[Laden]
Es öffnet sich eine Dateiauswahlbox, mit der Sie die gewünschte Omikron Basic INF-Dateien auswählen können. Die darin enthaltenen Einstellungen (Farben, Shortcuts etc.) werden dann entsprechend den Einstellungen in der obigen Dialogbox übernommen. Alternativ können Sie auch auf [Return] drücken.


Einstellungen Speichern ...

Mit diesem Menüpunkt können Sie die Einstellungen, die Sie z.B. bei den Farben, den Shortcuts oder dem Debugger gemacht haben, in eine INF-Datei speichern. Wenn Sie dafür die NEWOMBAS.INF Datei wählen, die sich im gleichen Ordner wie das Omikron Basic Programm befindet, werden sie beim nächsten Programmstart automatisch geladen. Natürlich können Sie die Einstellungen auch unter anderem Namen oder an einem anderen Ort speichern. Dann muss die Datei später allerdings explizit mit 'Einstellungen laden ...' geladen werden, damit die darin enthaltenen Einstellungen wirksam werden.
Es öffnet sich zunächst eine Dialogbox, in deren oberem Teil sich Checkboxen befinden, mit denen Sie festlegen, welche Einstellungen gespeichert werden sollen. Jede Checkbox entspricht einer Dialogbox gleichen Namens, wobei die Checkbox, die der zuletzt geöffneten Dialogbox entspricht, bereits angekreuzt ist. Sie können hiermit also festlegen, ob Sie nur andere Shortcuts, Farben oder die Voreinstellungen für den 'Drucken' Dialog speichern wollen.

[Alle]
Dieser Button bewirkt, dass alle Checkboxen angekreuzt werden. Dabei ändert der Button seinen Namen in [Einige]. Durch nochmaliges Anklicken wird der ursprüngliche Zustand wiederhergestellt.

[Abbruch]
Bricht den Vorgang ab. Alternativ kann man auch auf [Escape] drücken.

[Speichern als ...]
Es öffnet sich eine Dateiauswahlbox, mit der Sie Ihrer neuen Omikron Basic INF-Datei einen Namen geben und festlegen können, wohin sie gespeichert werden soll.

[Speichern]
Die gegenwärtigen Einstellungen der Dialogboxen, deren zugehörige Checkboxen angeklickt sind, werden in die aktuelle NEWOMBAS.INF Datei gespeichert, so dass sie beim nächsten Programmstart automatisch wieder zur Verfügung stehen. Alternativ können Sie auch auf [Return] drücken.

Achtung: Wenn die Funktion 'Bei Programmstart letzte Einstellung öffnen' aus der Dialogbox 'Allgemeine Einstellungen' aktiv ist, wird der Inhalt der NEWOMBAS.INF Datei ignoriert und immer die Einstellung wiederhergestellt, die vor der letzten ordnungsgemäßen Beendigung von Omikron Basic bestand.


Voreingestellte Farben

Dieser Menüpunkt hat nur dann eine Wirkung, wenn Sie mit 256 Farben arbeiten. Manche Programme verstellen die Farbregister des aktuellen Ausgabegerätes für die Grafik (im Allgemeinen der Monitor), um z.B. die Farbpalette für ein Bild zu optimieren. Sollte es Ihnen passieren, dass plötzlich alle Farben verstellt sind (kann nicht durch Omikron Basic sondern nur durch andere Programme ausgelöst werden), so können Sie mit diesem Menüpunkt die Farbpalette wieder auf ihre Ausgangswerte zurücksetzen.


 

Programm

Dieses Menü enthält alle Befehle, die zum Debuggen und Compilieren des BASIC-Programms, sowie zur Erzeugung einer Omikron Basic Library notwendig sind.

Debuggen
Debuggersteuerung
Neues Speicherfenster
Neues Variablenfenster
Compilieren
Speichern & Compilieren
Compilieren & starten
Atari -> Mac
Aufräumen
Neu tokenisieren
Library erzeugen


Debuggen

Mit diesem Menüpunkt können Sie ein Programm im Debug-Modus compilieren und starten. Eine detaillierte Beschreibung des Debuggers finden Sie in Kapitel 11, Der Source Code Debugger.

Achtung: Ein mit 'Debuggen' gestartetes Programm kann während der Debuggingphase nicht editiert werden.


Debuggersteuerung

Wenn Sie ein Programm mit 'Debuggen' gestartet haben, öffnet sich automatisch eine kleine Dialogbox mit Steurungsknöpfen für den Debugger. Dabei handelt es sich um ein so genanntes Float-Fenster. Das ist ein Fenstertyp, der immer über allen anderen Fenstern dargestellt wird, so dass Sie jederzeit Zugriff auf die Steuerungselemente haben. Weil aber Float-Fenster erst ab System 9 unterstützt werden, haben wir für Besitzer älterer Betriebssysteme diesen Menüpunkt eingeführt. Damit können Sie diese Dialogbox jederzeit wieder nach vorne holen, falls sie durch Klicken in ein anderes Fenster in den Hintergrund geraten ist. Eine detaillierte Beschreibung der Steuerungselemente finden Sie in Kapitel 11, Debuggersteuerung.


Neues Speicherfenster

Damit lässt sich ein Fenster öffnen, mit dem man sich den Inhalt des RAM-Speichers ansehen kann. Eine genaue Beschreibung finden Sie in Kapitel 11, Speicherfenster. Es können auch mehrere Speicherfenster, die verschiedene Stellen des RAMs anzeigen, parallel geöffnet werden.


Neues Variablenfenster

Dieser Menüpunkt funktioniert ähnlich wie der Vorherige, nur dass ein Variablenfenster geöffnet wird. Eine genaue Beschreibung finden Sie in Kapitel 11, Variablenfenster. In einem Variablenfenster werden immer die Variablen des Programms angezeigt, das sich beim Öffnen des Variablenfensters oben befand. Es können auch mehrere Variablenfenster zu demselben oder zu verschiedenen Programmen parallel geöffnet werden. Dabei wird in der Titelzeile angezeigt, zu welchem Programm die Variablen gehören.


Compilieren ...

Das Programm im obersten Fenster wird compiliert. Es wird ein neues Fenster geöffnet, in dem der Compiler seine Ausgaben macht. Undefinierte bzw. unbenutzte Statements und Fehler werden aufgelistet. Nach Beendigung des Compiliervorgangs kann man die entsprechenden Programmstellen durch Anklicken im Compilerfenster anspringen. Die Compilierung kann durch [Esc] jederzeit unterbrochen werden. Der Inhalt des Compilerfensters kann als TEXT-Datei gespeichert werden (Menüpunkt Datei/Speichern als>TEXT ...). Auch das Drucken des Fensterinhalts ist möglich. Dazu muß allerdings die Option 'Compilerfenster automatisch schließen' im Menü Modus/Einstellungen > Allgemein/Allgemein ausgeschaltet sein oder ein Fehler auftreten, damit das Fenster nicht sofort nach der Beendigung des Compilierens wieder entfernt wird.


Speichern & compilieren

Dies ist eine Zusammenfassung der Menüpunkte Datei/Speichern und Programm/Compilieren. Und zwar in genau dieser Reihenfolge.


Compilieren & starten

Das Programm im obersten Fenster wird compiliert und der erzeugte Objectcode im gleichen Ordner gespeichert, in dem sich auch das Quell-Programm befindet. Danach wird das Programm sofort als so genannter Child-Prozess von Omikron Basic gestartet.
Bei der Namensgebung für das compilierte Programm geht Omikron Basic wie folgt vor:
Wenn das Quell-Programm eine Extension (z.B. ".BAS" oder ".BAK") besitzt, wird diese einfach abgeschnitten. Das compilierte Programm erhält also den gleichen Namen wie das Quell-Programm, jedoch ohne die Extension.
Wenn das Quell-Programm keine Extension besitzt, bekommt das compilierte Programm den Namen des Quell-Programms plus der Extension ".APP".


Atari -> Mac

Diesen Menüpunkt benötigen Sie nur, wenn Sie auf dem Atari entwickelte Programme auf den Mac portieren wollen. Wegen der zum Teil sehr gravierenden Unterschiede zwischen dem TOS und dem MacOS konnte das Omikron Basic für Macintosh nicht hundertprozentig kompatibel zu den Vorgängerversionen für Atari-Computer gemacht werden. Siehe das Kapitel 'Omikron Basic für Atari'. Es ist daher erforderlich, dass Sie an Ihrem Programm Änderungen vornehmen.

Wenn Sie diesen Menüpunkt anwählen, dann öffnet sich ein Suchfenster, in dem alle Programmstellen markiert werden, an denen eventuell Anpassungen vorgenommen werden müssen. Durch Anklicken der einzelnen Positionen können Sie an die jeweilige Programmstelle springen und die notwendigen Änderungen gemäß den Hinweisen im Kapitel 'Omikron Basic für Atari' vornehmen.


Aufräumen

Dieser Menüpunkt dient dazu, irgendwann mal deklarierte Variablen, Prozeduren oder Funktionen, die dann wieder gelöscht wurden und im Programm nicht mehr vorkommen, aus der Variablentabelle zu entfernen. Dadurch wird das *.BAS-Programm kürzer. An der Funktionsfähigkeit des Programms ändert sich dadurch aber nichts.
Diese Funktion sollte auf jedenfall aufgerufen werden, wenn Programmteile gelöscht wurden oder wenn eine Library entfernt wurde. Dadurch wird das Programm kürzer, die Sicherheit der Deklarationsüberwachung steigt und der Editor wird schneller, da die Variablentabelle nicht nach Karteileichen durchsucht werden muß. Da die Funktion nicht nur in der Variablentabelle sondern auch in der Variablenpointertabelle aufräumt, kann der Vorgang bei längeren Programmen und vielen Variablenleichen einige Zeit in Anspruch nehmen.
Da die Variablenleichen den Programmcode unnötig aufblähen und die Token-Suche verlangsamen, sollten Sie sich angewöhnen, diesen Menüpunkt in regelmäßigen Abständen aufzurufen. Je regelmäßiger Sie dies tun, desto schneller ist der Editor mit dem Aufruf fertig. Es empfiehlt sich, vor der Ausführung dieser Funktion Ihr Programm zur Sicherheit abzuspeichern.

Hinweis: Sie können das Aufräumen jederzeit mit einem Tastendruck abbrechen. Der Programmcode wird dadurch nicht beschädigt.


Neu tokenisieren

Diese Funktion hat eine ähnliche Wirkung wie 'Aufräumen', es wird jedoch anders vorgegangen. Zunächst wird das gesamte Programm ausgelistet, also vom Tokencode in einfachen Text umgewandelt. Danach werden der Tokencode sowie die Variablentabelle gelöscht und schließlich der ausgelistete Text wieder neu tokenisiert.
Nach der Durchführung dieser Funktion befinden sich die exportierten Symbol eventuell vorhandener Libraries am Anfang der Symboltabelle. Dahinter folgen Ihre eigenen Variablen in der Reihenfolge, in der sie im Programm auftauchen.

Hinweis: Man kann diese Funktion auch benutzen, um ein komplettes Programm der automatischen Einrückprozedur zu unterwerfen.


Library erzeugen

Dieser Menüpunkt ist nur anwählbar, wenn das oberste Fenster ein Programmfenster ist. Sie können diese Funktion benutzen, um aus dem Programm in dem obersten Fenster eine Library zu erzeugen. Dazu wird zunächst ein Dialog aufgerufen.

Library erzeugen

Hierbei handelt es sich um einen modalen Dialog, mit dem Sie die Arbeitsweise des Library-Makers beeinflussen können. Im Einzelnen gibt es folgende Einstellmöglichkeiten:

Version
In dieser Eingabezeile kann man eine Versionsnummer oder einen beliebigen anderen Text angeben, der dann später nach dem Hinzuladen Ihrer Library hinter dem BASIC-Statement LIBRARY CODE und dem Librarynamen angezeigt wird.

Datumsstempel
Mit dieser Ckeckboxen wird festgelegt, ob auch das Datum der Libraryerstellung in der LIBRARY CODE Zeile angezeigt werden sollen. Dazu wird das Datum ihres Computers eingetragen.

Zeitstempel
Mit dieser Ckeckboxen wird festgelegt, ob auch die Uhrzeit der Libraryerstellung in der LIBRARY CODE Zeile angezeigt werden sollen. Dazu wird die aktuelle Systemzeit ihres Computers eingetragen.

Hinweis: Wenn Sie Ihrer Library ein anderes Erstellungsdatum oder eine andere Erstellungszeit geben möchten, können Sie dieses auch in der ersten Zeile in Klartext eintragen und die Datums- bzw. Zeit-Checkbox abschalten.

Nur END_PROC/END_FN benutzen
In Omikron Basic können Sie eine Prozedur oder Funktion statt mit END_PROC bzw. END_FN auch mit einem RETURN abschließen. Es sind aber auch zusätzliche Ausgänge aus der Prozedur oder Funktion mit RETURN möglich. Dies macht es für den Library Maker schwierig, zu erkennen, an welchem RETURN die Struktur zu Ende ist. Wenn Sie also selbst eine Library programmieren wollen, in der Prozeduren oder Funktionen mit mehreren Ausgängen vorkommen, sollten Sie alle Prozeduren und Funktionen eindeutig mit END_PROC bzw. END_FN abschließen und diese Checkbox aktivieren.

Libraryfenster automatisch schließen
Wenn diese Checkbox aktiviert ist, wird bei der Herstellung einer Library das Libraryfenster nach der Fertigstellung automatisch geschlossen, sofern kein Fehler aufgetreten ist.

Im unteren Teil der Dialogbox befinden sich noch zwei weitere Checkboxen, mit denen Sie den Library Maker veranlassen können, ein Protokoll im Library Maker Fenster auszugeben.

Exportierte Symbole
Wenn diese Checkbox eingeschaltet ist, erhalten Sie eine Liste aller exportierten und importierten Symbole. Diese Liste können Sie zum Beispiel ausdrucken und als Grundlage für die Bedienungsanleitung zu Ihrer Library verwenden.

Unbenutzte Symbole
Wenn diese Checkbox eingeschaltet ist, wird am Ende eine Liste aller unbenutzten Symbole ausgegeben. Diese ist eine gute Hilfe, um überflüssige Programmteile in der Library aufzuspüren.

Hinweis: In der Liste mit den unbenutzten Symbolen erscheinen auch solche, die Sie irgendwann mal deklariert, später aber wieder aus Ihrer Library entfernt haben. Um ein klares Bild zu erhalten, sollten Sie diese vorher mit dem Menüpukt 'Aufräumen' aus Ihrem Quellcode entfernen.

Eine genaue Erklärung, was eine Library ist und was Sie bei der Erstellung einer Library beachten müssen, finden Sie in dem Kapitel
'Der Library Maker'.

[Abbruch]
Mit diesem Button können Sie die Dialogbox verlassen, ohne dass eine Library erzeugt wird. Alternativ kann man auch auf [Escape] drücken.

[OK]
Damit wird aus dem Programm im obersten Fenster eine Library erzeugt, die Sie dann über eine Dateiauswahlbox an geeigneter Stelle speichern können. Alternativ können Sie auch auf [Return] drücken.


 

Fenster

In dieses Menü trägt Omikron Basic die Namen aller geöffneten Fenster ein. Durch Anklicken eines Menüeintrags wird das entsprechende Fenster nach oben geholt. Die nichtmodalen Dialogboxen und alle Fenster, die über andere Menüpunkte erreicht werden können (z.B. das Fenster zum Einstellen der Shortcuts), werden nicht in dieses Menü eingetragen. Wenn Sie ein Fenster schließen, wird es automatisch auch aus dem Menü entfernt.

 

2. Der Editor Inhalt | 4. Grundlagen

Support | Bestellen | Start | Home: http://www.berkhan.de


© 1997-2001 Berkhan-Software