|
|
|
Omikron Basic 6 stellt sieben Menüs zur Verfügung, die nachfolgend im einzelnen besprochen werden.
- Das Apple Menü
- Datei-Menü
- Bearbeiten-Menü
- Suchen-Menü
- Cursor-Menü
- Modus-Menü
- Editoreinstellungen
- Programm-Menü
Copyright
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 Copyright-Dialog enthält neben der Information über das Copyright die Daten Ihrer Registrierung für das Programm, sowie die aktuelle Versionsnummer und das Versionsdatum 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 die Arbeit mit dem Editor zu beenden.
Die Menüpunkte im einzelnen:
Dialogbox: Neues Programm
Um mit der Programmierung eines Programms völlig neu zu beginnen, muß
dieser Dialog aufgerufen werden. Es öffnet sich ein Dialogfenster, in welchem
dem neuen Programm zunächst ein Name gegeben werden sollte.
Programmname:
An dieser Stelle können Sie Ihrem Programm gleich einen neuen Namen geben. Wird
der vorgegebene Name 'NO_NAME.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 automatisch der eingestellte Arbeitspfad gewählt.
Reservierter Speicher:
Der voreingestellte Wert von 65536 Byte braucht im allgemeinen nicht verändert
zu werden. Die Einstellung dient dazu, festzulegen, wieviel Speicher zunächst
für das Programm reserviert werden soll. Bei insgesamt knappem RAM sollte sie
eventuell verringert werden. Daß sie vergrößert werden muß
ist eher unwahrscheinlich, da wohl kaum jemand mehr als 65536 Byte in einem Stück
programmieren wird.
Ausnahme: Wenn 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.
Falls sich beim Programmieren abzeichnet, daß der eingestellte Wert doch überschritten wird, so ist dies auch kein Problem: Einfach das Programm speichern, das Fenster schließen und anschließend das Programm neu laden. Dadurch werden erneut 65536 Bytes reserviert.
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äßt. Diese Einstellung
kann aber auch später noch im Modus-Menü mit 'Zeilennummern anzeigen' geändert
werden.
Standardvariablentyp:
Der untere Teil des Dialogs enthält fünf Textfelder, die mit DEFSTR, DEFDBL,
DEFSNG, DEFINTL und DEFINT beschriftet sind.
Mit Hilfe dieser Eingabezeilen kann bestimmt werden, welche Variablen der Editor
ohne Postfix darstellt. Im Interesse einer übersichtlichen Programmdarstellung
sollte in der Regel nur in eines dieser Felder "A-Z,_,*-ÿ" (damit
werden alle Buchstaben, der Unterstrich und alle Zeichen von 128 bis 255 dem Variablentyp
zugeordnet) eingetragen werden. Standardmässig stellt der Editor Long-Integer-Variablen
ohne Postfix dar. Man kann natürlich auch festlegen, daß z.B. alle Variablen,
die mit "S" anfangen, als Strings interpretiert werden, alle mit "D"
als doppelt genaue Fließkommazahlen, alle mit "L" als Long-Integer
und so weiter.
Öffnen ...
Wie nicht anders zu erwarten, kann mit Hilfe dieser Dateiauswahlbox ein BASIC-Programm
geladen werden. Da der Editor mehrere Programme parallel bearbeiten kann, wird für
den neuen Programmtext ein neues Fenster geöffnet.
Voreingestellt ist in der Dateiauswahlbox beim ersten Aufruf der eingestellte Arbeitspfad.
Ab dem zweiten Aufruf wird der zuletzt ausgewählte Pfad voreingestellt.
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..
Hinweis: Programme, die mit einer Version älter als 3.0 erstellt wurden, können vom Editor nicht geladen werden.
ASCII öffnen ...
Ein als ASCII-Text gespeichertes Programm kann hier in den Editor geladen werden.
Es erscheint zunächst eine Dateiauswahlbox, in welcher der zu ladende Programmtext
ausgewählt werden kann. Wenn diese verlassen wird, dann erscheint anschließend
der Dialog 'Neues Programm'. Nach der Bearbeitung dieses Dialoges wird der ASCII-Text
geladen und in BASIC-Code umgesetzt. Bei langen Programmen kann dies etwas dauern,
da der ganze Quelltext tokenisiert werden muß. Der geladene Text erscheint
in einem neuen Fenster.
Hinweis: Es ist zu empfehlen, vor dem Laden von ASCII-Texten die Deklarationsüberwachung
im Dialog Editoreinstellungen im Modus-Menü abzuschalten, da man sonst ständig
auf nicht deklarierte Symbole hingewiesen wird.
Neue Ansicht (s.a. Verdoppeln)
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 (s.a. Neue Ansicht)
Dieser Menüpunkt ist nur anwählbar, wenn das oberste Fenster ein Programm-Fenster
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, daß in der Titelzeile ein ".Kopie" an den Dateinamen angehängt
wird. Da beide Fenster aber noch denselben Dateinamen benutzen, sollte im allgemeinen
die Kopie zunächst mit 'Speichern als ...' mit einem neuen Namen versehen werden.
So lassen sich eventuelle Datenverluste verhindern.
Schließen
Das oberste Fenster kann mit diesem Menüpunkt geschlossen werden, wenn es sich
dabei nicht um ein Dialog-Fenster handelt. Ist das oberste Fenster ein Programm-Fenster,
in dem seit dem letzten Speichern noch etwas verändert wurde, so erfolgt zunächst
noch eine Sicherheits-Rückfrage.
Alles schließen (s.a. Schließen)
Hier werden alle Fenster geschlossen (siehe Schließen). Anwählbar ist
der Menüpunkt allerdings nur, wenn das oberste Fenster kein Dialog-Fenster ist.
Fenster tauschen
Anklicken dieses Menüpunktes befördert das unterste zum Editor gehörende
Fenster nach oben.
Speichern (s.a. Speichern als ...)
Wenn das oberste Fenster ein Programm-Fenster ist, kann dieser Menüpunkt ausgewählt
werden. Das Programm wird unter dem Namen und in dem Pfad gespeichert, die im Fenstertitel
angegeben sind. Wenn der Programm-Name 'NO_NAME.BAS' ist, dann wird das Anklicken
des Menüpunktes automatisch in 'Speichern als ...' umgewandelt.
Speichern als ... (s.a Speichern)
Wenn das oberste Fenster ein Programm-Fenster ist, dann kann das Programm mit Hilfe
der erscheinenden Dateiauswahlbox unter einem neuen Namen oder Pfad gespeichert werden.
Dateiauswahl: Such-Datei speichern:
Wenn das oberste Fenster ein Such-Fenster ist, dann kann der Inhalt als Datei gespeichert
werden. Sie kann mit 'Öffnen...' jederzeit wieder in den Editor geladen werden.
Dateiauswahl: Compiler-Meldungen speichern:
Wenn das oberste Fenster ein Fenster mit Compiler-Meldungen ist, so kann der Inhalt
als Datei gespeichert werden. Sie kann vom Editor später mit 'Öffnen ...'
auch wieder geladen werden.
Dateiauswahl: Shortcuts speichern
Wenn das oberste Fenster das Fenster mit den Shortcuts des Editors ist, so kann die
NEWOMBAS.INF (in der die Shortcuts gesichert werden) gespeichert werden.
ASCII speichern ...
Der Inhalt eines Programm-Fensters kann auch als ASCII-Text gespeichert werden. Dies
geschieht hier. Dabei wird die Einstellung 'Neues ASCII-Format' (im Modus-Menü/Editoreinstellungen
...) berücksichtigt.
Achtung: Vor dem Speichern als ASCII-Text müssen unbedingt alle eingeklappten
Bereiche ausgeklappt werden, da sonst nur die sichtbaren Titelzeilen gespeichert
werden.
Drucker einstellen ...
Es öffnet sich die PrStlDialog-Box 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 den
Bildschirm eingestellt wurden. Das kann dazu führen, daß die ausgedruckte
Schrift zu groß erscheint. Wenn Sie z.B. die Standardeinstellung von 14 Punkten
Monaco bold verwenden, empfiehlt es sich, in dieser Dialogbox eine Verkleinerung
von 70% einzustellen, um ein gut lesbares Druckergebnis zu erhalten. Alternativ kann
man auch in der Dialogbox Modus/Editoreinstellungen eine kleinere Schrift (z.B. 10
oder 12 Punkte) wählen.
Drucken ... (s.a. Menü Bearbeiten/Block
drucken ...)
Der Inhalt des obersten Fensters (bzw. ein darin definierter Block) kann auf den
Drucker ausgegeben werden. Bei Aufruf eines der beiden Menüpunkte erscheint
zunächst die PrJobDialog-Box des Druckertreibers. Darin können Sie je nach
Treiber diverse Einstellungen vornehmen. Nach dem Verlassen wird noch ein Dialog
des Editors angezeigt, in dem folgendes eingestellt werden kann:
Dialogbox: Drucken
X-Offset:
Hier wird der linke Rand eingestellt, den Omikron Basic auf dem Papier läßt.
Y-Offset:
So viele Zeilen läßt Omikron Basic auf jedem Blatt oben frei.
Druckbreite:
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.
Drucklänge:
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.
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.
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.
Wenn Sie einen Farbdrucker verwenden, werden die Programmlistings
auch in Farbe ausgedruckt, sofern Die 'Farbige
Darstellung' eingeschaltet ist. Um einen monochromen Ausdruck
zu erhalten, schalten Sie am besten Ihren Drucker auf Schwarzweiß. Farbige
Blockmarkierungen werden übrigens nicht gedruckt, um einen zu hohen Tinten-
bzw. Tonerverbrauch zu vermeiden.
Da Omikron Basic bis zu 255 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 daß der Text gut lesbar
bleibt. Die neue Zeile wird auf die gleiche Höhe eingerückt wie die alte,
wodurch Ihre Programmstrukturen deutlich sichtbar bleiben.
Beenden
Wenn ein Programmtext verändert, aber noch nicht gespeichert wurde, erscheint
zunächst eine Sicherheits-Rückfrage. Das betreffende Fenster wird zuvor
nach vorne geholt, so daß deutlich wird, welches Programm gemeint ist.
Falls dies auf mehrere Programmtexte zutrifft, so erscheint die Rückfrage mehrfach.
Wenn Zweifel bestehen, sollte man zunächst 'Abbruch' wählen und dann alle
wichtigen Daten "zu Fuß" sichern.
In diesem Menü befindet sich alles, was mit der Bearbeitung des Programmtextes
zu tun hat.
Zur Erläuterung hier eine kurze allgemeine Erklärung:
1. Grundsätzlich beziehen sich alle Funktionen dieses Menüs nur auf
Programm-Fenster. Für Such- und Compiler-Fenster sind sie nicht verfügbar.
2. Bei allen Menüpunkten dieses Menüs ist immer der Block in dem obersten
Fenster gemeint.
Ausnahmen: Bei 'Block kopieren' wird der Block aus dem zweitobersten Programm-Fenster in das oberste Programm-Fenster kopiert. Und bei 'Block zuladen' wird der Block von Diskette/Festplatte in das oberste Programm-Fenster an der aktuellen Cursor-Position eingefügt.
Falls Unklarheiten über die genaue Funktionsweise eines Block-Befehls bestehen, sollte vor dem Ausführen der Aktion mit 'Verdoppeln' ein neues Fenster geöffnet werden, mit dem die Operation ausgeführt wird. So lassen sich ärgerliche Datenverluste vermeiden.
Das Bearbeiten-Menü enthält folgende Menü-Punkte:
Undo Zeile
Alle Änderungen in der Zeile, in der sich der Cursor befindet, werden rückgängig
gemacht.
Ausschneiden
Der markierte Bereich wird aus dem Programm entfernt und als ASCII-Text in das Clipboard
geschrieben. Dabei wird die Einstellung 'Neues ASCII-Format' im Dialog 'Editoreinstellungen'
berücksichtigt.
Achtung: Der zu kopierende 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.
Dabei wird die Einstellung 'Neues ASCII-Format' im Dialog 'Editoreinstellungen' berücksichtigt.
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.
Einsetzen
Der ASCII-Text, der sich gerade im Clipboard befindet, wird an der Cursor-Position
eingefügt.
Hinweis: Wenn man nur Blöcke innerhalb desselben Programm-Fensters
bewegen will, sollte man statt der 3 Funktionen 'Ausschneiden', 'Kopieren' 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'
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 weder mit 'Undo
Zeile' noch mit 'Einsetzen' wieder zurückgeholt werden. Eventuell sollte vor
dem Löschen eines Blocks vorher 'Verdoppeln' aufgerufen werden, um den Programmtext
so notfalls noch einmal zur Verfügung zu haben.
Alles Selektieren
Das gesamte Programm wird als Block markiert
Tokencode einsetzen
Der im obersten Fenster markierte Block wird ebenfalls im obersten Fenster an der
Cursor-Position 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 Cursor-Position verschoben. Der Block bleibt an der neuen Position markiert.
Block kopieren
Der im zweitobersten Programm-Fenster markierte Block wird im obersten Fenster an
der Cursor-Position 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 Cursor-Position 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 Cursor-Position 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 Cursor-Position kann ein als ASCII-Datei gespeicherter Programm-Text in das
Fenster eingefügt werden.
Hinweis: Am besten vorher im Dialog Editoreinstellungen 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 ASCII-Datei gespeichert. Die Einstellung
'Neues ASCII-Format' (im Modus-Menü/ Editoreinstellungen ...) wird berücksichtigt.
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' anklicken.
LIBRARY zuladen ...
Es erscheint eine Dateiauswahlbox, in der die LIBRARY ausgewählt werden muß,
die hinzugeladen werden soll. Dies muß für jede zuzuladende LIBRARY einzeln
geschehen.
Block drucken ... (s.a. Drucken)
Diese Funktion entspricht exakt der Funktion Drucken, mit dem Unterschied, daß
nur der selektierte Bereich gedruckt wird.
Neu numerieren ...
Es erscheint die folgende Dialogbox:
Dialogbox: Zeilen neu numerieren
Der Bereich, für den diese Funktion wirkt, kann in den ersten beiden Zeilen
des Dialogs eingestellt werden. Außerdem kann man in dem Dialog noch festlegen,
mit welcher Zeilennummer die Neunumerierung beginnen soll und in welcher Schrittweite
die Numerierung erfolgen soll. In den meisten Fällen dürfte es jedoch sinnvoller
sein, ganz ohne Zeilennummern zu arbeiten.
Hinweis: Wenn Sie ein Programm, das mit Zeilenzummern geschrieben wurde, künftig ohne Zeilennummern weiterverwenden wollen, so sollten Sie es in Einerschritten neu durchnumerieren. 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).
Omikron Basic erlaubt die Suche nach Text, Tokens, Definitionen oder Fehlern.
Im Falle der Suche nach Text und Token läßt sich auch in einem eigenem
Fenster (sogenanntes Such-Fenster) eine Trefferliste ausgeben. In allen diesen Fällen
wird durch die entsprechenden Menüpunkte im Suchen-Menü derselbe Dialog
aufgerufen, aber jeweils mit einer unterschiedlichen Voreinstellung.
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.
Für 'Text ersetzen' und 'Token umbenennen' erscheint ebenfalls ein ähnlicher Dialog, der, abhängig vom gewählten Menüpunkt, ebenfalls unterschiedlich voreingestellt ist. In beiden Fällen läßt sich die Voreinstellung in dem Dialog aber noch verändern, so daß z.B. die Textsuche aufgerufen werden kann und im Dialog dann auf Fehlersuche umgeschaltet wird.
Folgende Menüpunkte des Suchen-Menüs stehen zur Verfügung:
Text suchen ...
Token suchen ...
Definition suchen ...
Fehler suchen ...
Nächsten Eintrag suchen
Vorherigen Eintrag suchen
Text listen ...
Token listen ...
Text ersetzen...
Token umbenennen...
Text vergleichen ...
Text suchen ...
Token suchen ...
Definition suchen ...
Fehler suchen ...
Diese vier Menüeinträge rufen alle die gleiche Dialogbox
auf, lediglich mit unterschiedlichen Voreinstellungen.
Dialogbox Sucheinstellungen (s.a.
Dialogbox: Suchen und Ersetzen)
Am oberen Rand dieses Dialoges kann eingestellt werden, wonach überhaupt gesucht
werden soll. Zur Wahl stehen:
Text, List Text:
Der Programmtext wird wie ein ASCII-Text nach einer Zeichenkombination durchsucht.
Token, List Token:
Es wird nach Omikron Basic Befehlen oder Funktionen oder nach selbst definierten
Variablen-, Prozeduren oder Funktionsnamen gesucht.
Definition:
Es wird nach der Definition einer selbstdefinitierten Prozedur oder Funktion oder
einem Label gesucht.
Error:
Es wird nach einer Zeile mit einem Syntax-Fehler gesucht.
In der Eingabezeile des Suchen-Dialogs kann man angeben, wonach gesucht werden soll.
Bei der Suche nach Fehlern kann hier logischerweise nichts eingegeben werden.
Es kann der gesamte Programmtext oder nur ein Teil davon durchsucht werden. Dies
wird mit der Button-Leiste unter der Eingabezeile bestimmt. Hinter der Frage 'Wonach
soll gesucht werden' kann ein einzeiliger Block in die Eingabezeile für die
Suche übertragen werden, indem der Block-Button aktiviert wird.
Die unterste Einstellung des Dialoges 'Groß- und Kleinschreibung unterscheiden'
ist nur für die Textsuche relevant.
Hinweis: Die Suche nach Text liefert nur Fundstellen im Bereich des auch im Fenster sichtbaren Programmtextes. D.h. ein String 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.
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.
Nächsten Eintrag suchen
Vorherigen Eintrag suchen
Diese beiden Menüpunkte rufen nicht den Suchen Dialog auf, sondern springen
gleich an die entsprechende Programmstelle. Dabei wird nach den Eingaben im Dialog
Suchen vorgegangen.
Text listen ...
Token listen ...
Die Dialogbox 'Sucheinstellungen' wird dargestellt.
Im Unterschied zu den vorherigen Funktionen wird nicht der Cursor auf die nächste
Fundstelle des Suchwortes gestellt. Stattdessen werden in einem weiteren Fenster
sämtliche Vorkommen des Suchwortes aufgelistet. Ein Klick auf eine Zeile in
diesem Fenster positioniert den Cursor an die entsprechende Stelle im Programm-Fenster.
Wird dabei die Befehlstaste gedrückt, so wird gleichzeitig das Suchfenster geschlossen.
Text ersetzen ...
Token umbenennen ...
Ein Dialog wird angezeigt.
Dialogbox: Suchen und Ersetzen (s.a. Dialogbox: Sucheinstellungen)
Dieser Dialog entspricht im wesentlichen dem Dialog 'Sucheinstellungen'
mit zwei Unterschieden:
1. Es kann ein Ersatztext eingegeben werden.
2. Im Fall von 'Text ersetzen ...' kann bei jeder einzelnen Fundstelle nachgefragt
werden, ob ersetzt werden soll. Dies ist beim 'Token umbenennen ...' prinzipbedingt
nicht möglich.
Es ist nicht notwendig, beim Umbenennen einer Variablen immer den Variablentyp mit anzugeben. Wenn das Variablen-Typ-Postfix nicht angegeben wird, dann benennt der Editor die Variable des Default-Typs um. In der Zeile mit dem neuen Namen ist es unbedeutend, ob ein Postfix angegeben wird. Der Editor ändert immer nur den Namen einer Variablen oder Funktion, aber nie den Typ.
Hinweis: Wenn Sie den Typ einer Variablen im gesamten Programmtext ändern
wollen, z.B. weil Ihnen aufgefallen ist, daß die von Ihnen definierte Long-Integer-Variable
nie Werte außerhalb des Bereichs von Short-Integer annehmen kann, dann bleibt
Ihnen nur folgender Weg: Klappen Sie das gesamte Programm aus (Modus-Menü/Alles
ausklappen) und ersetzen Sie dann den betreffenden Variablennamen mit der Funktion
'Text ersetzen ...'.
Text vergleichen ...
Ein Dialog wird angezeigt.
Dialogbox: Text vergleichen
Diese Funktion dient zum Vergleichen von Programmtexten.
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ähigem Programm lassen sich mit dieser Funktion nun leicht alle
Stellen aufspüren, die verändert wurden.
Vor dem Anwählen dieses Menüpunktes müssen zunächst nacheinander
die beiden Fenster getopt werden, deren Inhalt verglichen werden soll. Die Dialogbox
enthält dann in den oberen beiden Zeilen die Namen der zu vergleichenden Programmfenster.
Darunter kann man wie beim 'Suchen'-Dialog einen Bereich angeben, der verglichen
werden soll. Ausserdem kann noch eingestellt werden, ob die Zeilen von vorne nach
hinten 'Vorwärts' oder von hinten nach vorne 'Rückwärts' verglichen
werden sollen.
In der unteren Zeile der Dialogbox befinden sich vier Ausführungsknöpfe:
Klicken Sie zunächst auf 'Starten', um mit dem Vergleich anzufangen. Sobald
der Editor eine Stelle gefunden hat, die in beiden Fenstern unterschiedlich ist,
wird der Prozess angehalten und der Cursor in beiden Fenstern auf die unterschiedliche
Stelle gesetzt. Wenn Sie an dieser Stelle nichts ändern möchten, können
Sie auf 'Fortfahren nach Doppelpunkt' oder 'Fortfahren nächste Zeile' klicken.
Der Editor setzt seine Arbeit dann nach/vor dem nächsten Doppelpunkt bzw. in
der nächsten/vorhergehenden Zeile fort (je nach Richtung).
Für diese beiden Funktionen stehen auch Shortcuts zur Verfügung (F11=Fortfahren
nach Doppelpunkt und F12=Fortfahren nächste Zeile). Diese Shortcuts funktionieren
nur, wenn ein Programmfenster das oberste Fenster ist. Sie brauchen damit also nicht
ständig wieder den Dialog 'Text vergleichen ...' aufzurufen.
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.
Mit Hilfe der Einträge in diesem Menü kann der Cursor innerhalb eines Programm-Fensters bewegt werden. Im einzelnen sind folgende Möglichkeiten vorhanden:
Zur letzten Position
Der Cursor wird an die Stelle gebracht, wo sich der Editor zuletzt die Cursor-Position
gemerkt hat. Der Editor merkt sich die alte Cursor-Position bei einem Doppelklick
in das Fenster ('Token listen ...), bei einem 'Gehe zu ...', und wenn der Editor
die Cursor-Position 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 ...
In diesem Dialog kann eine Zeilennummer, ein Label oder eine Definition angegeben
werden. Dorthin springt dann der Cursor. Diesen Dialog kann man auch erreichen, indem
man auf die Y-Anzeige in der Infozeile eines Programmfensters klickt.
Hinweis: 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.
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.
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.
Dieses Menü enthält alle grundlegenden Einstellungen für die Arbeitsweise des Editors. Im einzelnen gibt es folgende Menüpunkte:
Zeilennummern anzeigen
Optional kann am Anfang jeder Zeile im Programmfenster eine Zeilennummer ausgegeben
werden. Dies kann hier ein- bzw. ausgeschaltet werden. Wenn die Zeilennummern eingeschaltet
sind, wird dies durch ein Häkchen vor dem Menüpunkt angezeigt.
Alle Postfixe anzeigen
Die im Menu Modus/Editoreinstellungen hinter DEFINT, DEFINTL, DEFSNG, DEFDBL und
DEFSTR eingestellten Defaul-Variablentypen werden durch diesen Menüpunkt insofern
aufgehoben, als daß auch bei den eingestellten Default-Typen das Postfix angezeigt
wird. Auch hinter konstanten Fließkomma-Ausdrücken wird jeweils das zugehörige
Postfix ausgegeben. Dieser Modus wird durch ein Häkchen vor dem Menüeintrag
angezeigt. Erneutes Anklicken schaltet diesen Modus wieder aus.
Zeichen wiederholen ...
Hier kann ein Zeichen vervielfältigt werden. In den nach Anklicken des Menüpunktes
erscheinenden Dialog muß nur die Anzahl angegeben werden. Das Zeichen vor dem
Cursor wird entsprechend häufig an der Cursorposition eingefügt.
Bereich einklappen (s.a. Bereich
ausklappen, Alles ausklappen)
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.
Achtung: Wenn ein eingeklappter Bereich als ASCII 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.
Bereich ausklappen (s.a.
Alles ausklappen, Bereich einklappen)
Ein mit 'Bereich einklappen' versteckter Bereich wird wieder ausgeklappt, d.h. im
Fenster wieder sichtbar gemacht.
Alles ausklappen (s.a. Bereich
ausklappen, Bereich einklappen)
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 der mit dieser Funktion ausgeklappt worden ist. Sie sollten also
vorher gut überlegen, ob das vollständige Ausklappen wirklich notwendig
ist.
Passwort eingeben ...
Eingeklappte Bereiche können mit einem Passwort vor dem Ausklappen geschützt
werden. Alle Programmteile, die nach Eingabe des Passwortes in diesen Dialog 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. Mit [Shift]+[Delete] in dem Dialog kann ein Passwort wieder gelöscht
werden.
Speichereinstellungen ...
Die Dialogbox 'Speichereinstellungen' wird dargestellt.
Dialogbox: Speichereinstellungen
Die in diesem Dialog möglichen Einstellungen beeinflussen die Menge an RAM,
die das Omikron Basic für eigene Verwaltungszwecke benötigt
Achtung: Bevor dieser Dialog mit 'OK' verlassen wird, sollten alle Programme gesichert werden, da zur Neuorganisation des Speichers alle Daten gelöscht werden müssen und das Programm neu gestartet werden muß. Der Load-Button führt hingegen nur dazu, daß eine NEWOMBAS.INF-Datei geladen und deren Speichereinstellungen in dem Dialog dargestellt werden.
Es gibt folgende Einstellmöglichkeiten:
Maximale Anzahl der Fenster:
Diese sollte nicht größer eingestellt werden, als benötigt. Und
vor allem nicht größer, als es das Betriebssystem erlaubt. Es ist jedoch
zu berücksichtigen, daß auch die Dialoge in Fenstern liegen.
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 daß 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.
Der gesamte Speicherbedarf für ein BASIC-Programm ergibt sich aus folgender Formel:
Bedarf = (650 + BZ * 50) * FZ + 10.4 * VZ + 4 * ZZ + RZ
FZ = Fensterzahl
BZ = Bufferzeilen
VZ = Variablenzahl
ZZ = Zeilenzahl
RZ = Reserviertes RAM
Variablenzahl und Zeilenzahl werden nur vom Compiler benötigt. Als Hilfe für die Einstellung der passenden Speichergröße werden im unteren Teil des Dialoges der freie Programm-Speicher, der freie BASIC-Speicher und der freie Heap-Speicher angezeigt. Zur Erklärung der Begriffe siehe das Kapitel 'Speicherorganisation im Omikron Basic'.
Reservierter Speicher:
Um das RAM möglichst wenig zu zerstückeln, reserviert der Editor allen
Speicher, den er benötigt, auf einen Schlag einmal zu Beginn. Wieviel dies ist,
hängt von der Einstellung hier ab. Sie können an dieser Stelle jedoch nicht
mehr Speicher anfordern, als im Applicationheap vorhanden ist. Die Größe
des Applicationheaps kann man vom Finder aus verändern. Dazu müssen sie
Omikron Basic zunächst beenden, dann das Programm-Icon im Finder selektieren
und 'Information' im Finder-Menü anklicken. Es öffnet sich eine Dialogbox,
in der Sie die bevorzugte Speichergröße einstellen können.
Mindestens freilassen:
Diverse MacOS-Funktionen fordern Speicher aus dem Applicationheap desjenigen Programmes
an, aus dem heraus sie aufgerufen wurden. Dafür muß also etwas freibleiben.
Wieviel das mindestens ist, können Sie hier einstellen. Sollte es Ihnen durch
ungünstige Einstellung mal passieren, daß sich der Editor 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 machen
müssen:
Sorgen Sie dafür, daß der Editor die NEWOMBAS.INF beim Programmstart
nicht mehr findet. Benennen Sie also die NEWOMBAS.INF mit dem Finder beliebig um.
Starten Sie jetzt den Editor. 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. Der Editor startet jetzt mit seinen Default-Einstellungen.
Rufen Sie jetzt den Dialog 'Speichereinstellungen ...' oder 'Editoreinstellungen
...' auf und klicken Sie den Load-Button an. Jetzt können Sie Ihre alte NEWOMBAS.INF
laden. Ändern Sie die Speichereinstellungen auf Werte, die Ihrer vorhandenen
Hardware entsprechen und speichern Sie die NEWOMBAS.INF mit dem Save-Button in einem
der beiden Dialoge.
![]()
Editoreinstellungen
...
Dieser Menüeintrag ruft den Dialog 'Editoreinstellungen' auf.
Dialogbox: Editoreinstellungen
In dieser Dialogbox können globale Einstellungen vorgenommen werden, die übernommen werden, wenn die Dialogbox mit 'OK' verlassen wird. Ausnahme: Bei Schriftfont, Schriftgröße und Schriftstil werden die Änderungen sofort wirksam.
Dieser Dialog läßt sich, entsprechend seiner optischen Gestaltung, in sechs Bereiche einteilen:
Voreinstellungen bei
Neu
Dieser Teil des Dialoges entspricht genau dem Dialog 'Neu ...'
Die Eingaben hier sind die Default-Einstellungen für diesen Dialog. Nähere
Erklärungen dazu sind deshalb dort zu finden.
Allgemeine Einstellungen
Exponentialdarstellung:
Wenn dieses Kästchen angekreuzt ist stellt der Editor alle Fließkommazahlen
in der Exponentialschreibweise dar, andernfalls wird versucht die Zahl auszuschreiben,
wenn dies möglich ist (z.B. 123450000000000 gibt in Exponentialdarstellung 1.2345D+14).
Auto-Backup:
Wenn diese Option aktiviert ist, dann wird eine bereits bestehende Datei gleichen
Namens beim Speichern automatisch mit der Endung *.BAK versehen.
TAB-Länge:
Hiermit wird eingestellt, in welchem Abstand die Tabulatoren gesetzt werden, d.h.
um wieviele Zeichen der Cursor maximal bei Druck auf die TAB-Taste automatisch 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 dürfte 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, gefährlichen, Situationen kann der Editor mit einer Nachfrage
warnen, wenn z.B. Datenverluste drohen. Wenn diese Warnungen die flüssige Arbeit
behindern, können sie hier ausgeschaltet werden.
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, daß 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 ExtensionLibrary.
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, daß sich keine Variablen-Leichen im Speicher ansammeln.
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, braucht dieses nur als ASCII gespeichert und dann neu geladen zu werden. Alternativ kann man auch das ganze Programm als Block markieren und dann den Block in ein vorher geöffnetes neues Fenster kopieren. (Achtung: Im neuen Fenster muß genug Speicher reserviert sein).
Compiler-Fenster 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, daß 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.
ASCII 202 -> 32:
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 Varaiblennamen, 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.
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. Siehe auch 'Farben einstellen'.
Farben:
Dieser Button öffnet die Dialogbox 'Farbeinstellungen'.
Dialogbox: Farbeinstellungen
In diesem Dialog können für alle Objekte und Elemente, die in den verschiedenen
Fenstern des Editors erscheinen können, die Farben festgelegt werden. Damit
ist eine sehr individuelle Gestaltung der Arbeitsumgebung möglich. Besonders
interessant ist dabei die Möglichkeit, in den Programmfenstern für verschiedene
Befehlsarten, Kommentare, Variablen etc. unterschiedliche Farben zu definieren (Color-Coding).
So lassen sich z.B. Schleifen schon an der Farbe der Schleifenbefehle erkennen. In
den 'Editoreinstellungen ...' kann die farbige Darstellung aber auch abgeschaltet
werden.
Für jedes Element muß die zugeordnete Farbe als Registernummer angegeben
werden. Wenn diese nicht bekannt ist, kann die Farbe auch aus einem PopUp-Menü
gewählt werden. Klicken Sie dazu den Button 'Farbe wählen' rechts unten
in der Toolbox an und halten Sie die Maus gedrückt. Bewegen Sie die Maus auf
die gewünschte Farbe und lassen Sie die Maustaste dann los. Es wird jetzt die
gewünschte Farbnummer in das Feld, in dem sich der Cursor gerade befindet, eingetragen.
Der Vorgang der Farbauswahl kann abgebrochen werden, indem man die Maus außerhalb
des PopUp-Menüs losläßt.
Im einzelnen können für folgende Elemente die Farben eingestellt werden:
Programmfenster:
Hintergrund:
Alles, was nicht Zeichen sind
Hintergrund im Block:
Die Blockmarkierung
Hinweis: Da der Text in einem Block 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 weiß ist. Sonst ist der Text im Block nicht mehr lesbar.
Cursorzeile:
Die Zeile, in der sich der Cursor gerade befindet. In dieser Zeile wird der gesamte
Text in einer Farbe dargestellt. Der Editor weiß beim Eintippen ja nicht, was
Sie eintippen werden ... ;-)
Befehle und Hilfszeichen:
Alle Befehle, die nicht zu einer anderen Gruppe gehören, und Zeichen wie Kommas,
Punkte, Klammern etc.
Die hier eingestellte Farbe wird auch für die Ausgabe in Such-, Compiler-, Shortcut-,
Variablen- und Speicherfenstern verwendet.
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:
Eben Kommentare.
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:
Dürfte klar sein
Operatoren:
+,-,*,/,<,>, AND, OR usw.
PROC- und FN-Definitionen:
DEF, DEF PROC, END_PROC, END_FN, RETURN. Aber nicht die Namen der Prozeduren und
Funktionen
PROC- und FN-Aufrufe:
Die Namen von Prozeduren und Funktionen und die Aufrufe von Prozeduren im Programmtext.
Nicht aber der Aufruf von Funktionen.
Label:
Die Markierung des Labels und der Sprungbefehle dorthin
Eingeklappte Bereiche:
Die Titelzeilen dieser Bereiche
Toolboxen:
Hintergrund:
Die hinterste Ebene der Dialoge
Vordergrund:
Die großen Boxen, die auf dem Hintergrund liegen und nicht selektierte Radio-Buttons
Befehlsknöpfe:
Alle Exit-Buttons
Auswahlknöpfe:
Selektierte Radio-Buttons
Schattenlinien:
Umrandung von Editfeldern und Buttons für den 3D-Effekt.
Der Dialog 'Farbeinstellungen' kann mit [Exit] wieder verlassen werden. Er kann
aber auch geöffnet bleiben.
Debugger:
Dieser Button öffnet die Dialogbox 'Debuggereinstellungen'.
Eine genaue Beschreibung dieser Dialogbox finden Sie in Kapitel 11, Der Source Code
Debugger.
Auf Standardwerte setzen:
Es werden alle Einstellungen auf die Standardwerte gesetzt, die der Editor auch benutzt,
wenn er keine NEWOMBAS.INF-Datei findet.
Schriftfont:
Hier wird angezeigt, welcher Font gerade benutzt wird. Durch Anklicken kann man ein
Popup-Menü öffnen, aus dem man einen anderen Font auswählen kann.
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.
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.
Schriftstil:
Hier sehen Sie eine Bitmaske (Binärzahl) die anzeigt, welche Stilflags gesetzt
sind (wie bei TEXT STYLE=). Durch Anklicken
der Maske öffnet sich ein Popup-Menü, in welchem die einzelnen Stile nochmal
namentlich aufgeführt sind. Ein aktiver Stil wird durch einen vorangestellten
Stern gekennzeichnet.
Es können mehrere Stilattribute parallel aktiv sein. Der oberste Eintrag in
dem Popup-Menü entspricht dem rechten Flag.
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.
Drucker-Einstellungen
Dieser Teil des Dialogs entspricht zum Teil dem Dialog 'Drucken
...'. Die Eingaben hier sind die Default-Einstellungen für diesen Dialog.
Nähere Erklärungen dazu sind deshalb dort zu finden.
Maße des ersten
Fensters
Die hier angegebenen Daten bestimmen Position und Größe des ersten vom
Editor geöffneten Programm-Fensters. Nachfolgende Fenster werden ein bischen
weiter nach rechts und nach unten versetzt, aber in der gleichen Größe
geöffnet.
Die gemachten Einstellungen können mit 'Save' in eine NEWOMBAS.INF Datei
gespeichert werden. Der Dialog kann mit 'Exit' verlassen werden. Er kann aber auch
geöffnet bleiben.
Arbeitspfad einstellen
...
In der erscheinenden Dateiauswahlbox kann der Arbeitspfad eingestellt
werden. Der Arbeitspfad ist derjenige Pfad, den Omikron.Basic direkt nach dem Start
als Pfad für das Laden/Speichern von Programmen vorgibt.
Shortcuts einstellen ...
Im 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 erscheint ein Fenster
mit einer Liste sämtlicher shortcutfähiger Editor-Befehle mit ihrer jeweils
aktuellen Belegung. Mit der Maus kann nun ein Shortcut, der verändert werden
soll, angeklickt werden. 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 kleine Buchstaben symbolisiert.
a=Auswahltaste, b=Befehlstaste, c=Controltaste, s=Shifttaste. 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 Shortcut-Fenster
mit gedrückter Shift-Taste anklicken. Die eingestellten Shortcuts können
in der NEWOMBAS.INF gespeichert werden. Wählen Sie dazu im Datei-Menü 'Speichern
als ...' aus, wenn das Shortcut-Fenster oben liegt. Sie können auch im Modus-Menü
entweder 'Speichereinstellungen ...' oder 'Editoreinstellungen ...' aufrufen und
dort den Save-Button anklicken.
Um eine Anpassung an die 'Human Interface Guidelines' von Apple zu ermöglichen,
werden Shortcuts, die die Befehlstaste enthalten und einen Menüpunkt steuern,
im entsprechenden Menüeintrag als Kombination aus dem Zeichen für die Befehlstaste
und dem Zeichen, das durch die übrigen ausgewählten Tasten definiert ist,
dargestellt. Wem das zu kompliziert ist, der sollte es einfach mal ausprobieren.
Hinweis: Die Tastatursteuerung von Fenstern (scrollen) funktioniert nur
mit den Programm-Fenstern. Compiler-Fenster und Trefferlisten von Suchfunktionen
(Such-Fenster) können nicht per Tastatur gesteuert werden.
Voreingestellte Farben
Die Farbregister für die Farben 0 bis 15 werden auf Omikron Basic Standardwerte
eingestellt. Die Farben 241 bis 255 werden auf die inversen Farbwerte eingestellt.
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. Falls diese
Dialogbox durch Klicken in ein anderes Fenster in den Hintergrund gerät, können
Sie die Box mit diesem Menüpunkt jederzeit wieder nach vorne holen.
Neues Speicherfenster
Damit lässt sich ein Fenster öffnen, mit dem man sich den Inhalt des RAM-Speichers
ansehen kann. Eine genaue Beschreibung der Speicherfenster
finden Sie in Kapitel 11, Der Source Code Debugger.
Neues Variablenfenster
Dieser Menüpunkt funktioniert ähnlich wie der Vorherige, nur dass ein Variablenfenster
geöffnet wird. Eine genaue Beschreibung der Variablenfenster
finden Sie in Kapitel 11, Der Source Code Debugger.
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 ASCII-Datei gespeichert werden (Menüpunkt
Datei/Speichern als ...). Auch das Drucken des Fensterinhalts ist möglich. Dazu
muß allerdings die Option 'Compiler-Fenster automatisch schließen' im
Menü Modus/Editoreinstellungen ausgeschaltet sein oder ein Fehler auftreten,
damit das Fenster nicht sofort nach der Beendigung des Compilierens wieder entfernt
wird.
Speichern & compilieren
(s.a Speichern, Compilieren ... )
Dies ist eine Zusammenfassung der Menüpunkte Datei/Speichern und Programm/Compilieren.
Und zwar in genau dieser Reihenfolge.
Compilieren & starten
(s.a. Compilieren ... )
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 gestartet, ohne daß das Omikron Basic vorher beendet wird.
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 6 nicht hundertprozentig
kompatibel zu den Vorgängerversionen für Atari-Computer gemacht werden.
Siehe das Kapitel 'Unterschiede zur Atari-Version'.
Es ist daher erforderlich, daß Sie an Ihrem Programm Änderungen vornehmen.
Wenn Sie diesen Menüpunkt anwählen, dann öffnet sich ein Such-Fenster,
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 'Unterschiede
zur Atari-Version' 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.
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.
Dialogbox: Libraryeinstellungen
In der ersten Zeile 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.
Mit den beiden folgenden Ckeckboxen wird festgelegt, ob auch die Uhrzeit und das
Datum 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
geben möchten, können Sie dieses auch in der ersten Zeile in Klartext eintragen
und die Datums-Checkbox abschalten.
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.
Wenn die erste 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.
Wenn die zweite Checkbox angekreuzt 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 irgenwann 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'.
|
Support | Bestellen | Start | Home: http://www.berkhan.de |
|
© 1997-2001 |