|
|
|
Omikron Basic stellt acht Menüs zur Verfügung, die nachfolgend im Einzelnen besprochen werden:
- Apple
Datei
Bearbeiten
Suchen
Cursor
Modus
Programm
Fenster
Ü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.
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:
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.
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.
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ü.
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.
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.
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:
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.
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.
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.
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:
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.
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.
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.
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.
![]()
Mit Hilfe der Einträge in diesem Menü kann der Cursor innerhalb eines Programmfensters bewegt werden. Im Einzelnen sind folgende Möglichkeiten vorhanden:
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.
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.
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.
Dieses Menü enthält alle grundlegenden Einstellungen für die Arbeitsweise des Editors. Dazu gibt es folgende Menüpunkte:
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).
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.
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.
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.
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.
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.
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.
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.
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.
Dieses Menü enthält alle Befehle, die zum Debuggen und Compilieren des BASIC-Programms, sowie zur Erzeugung einer Omikron Basic Library notwendig sind.
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.
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.
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.
|
Support | Bestellen | Start | Home: http://www.berkhan.de |
|
© 1997-2001 |