Home
Up
Intro
Contents
Chapter
1
2
3
4
5
6
7
8
9
10
Design
Assert
Timing
EBNF
Report
Pas
Last Changed: Nov. 19, 1997
This is a conversion from Oberon text to HTML. The converter software is still under development,
and some features or information may be missing in this converted version.
HTML hypertext facilities are not yet active in this document.
To exploit the interactive facilities, use Oberon System 3 and the source of this text,
available as ASCII-coded Oberon System 3 documents. A previous version is also available for Oberon V4.
To access this and other additional material use
ftp.
For the convenience of our students, most of this information and the related material is in German.
Sorry if this is not one of your languages.
Einführung in die Programmiersprache Oberon.
02: Rahmen und Spuren
In diesem Kapitel werden Elemente der Oberon-Benutzungsoberfläche eingeführt.
Neben dem schon bekannten Aktivieren brauchen wir dazu zwei weitere Grundaktionen,
Positionieren und Selektieren.
Wie das geschieht hängt wieder von dem Gerät ab, an dem Sie arbeiten.
Diese Tasten müssen Sie sich merken.
(Macintosh) Merke:
Positionieren =>
Maustaste
Aktivieren =>
ctrl-Taste
Selektieren =>
option/alt-Taste
(X-Windows etc.) Merke:
Positionieren =>
linke Maustaste
Aktivieren
=> mittlere Maustaste
Selektieren
=> rechte Maustaste
Für andere Systeme und verschiedenen Maus-Konfigurationen finden
sie entsprechende Konventionen in der jeweiligen Einführung, die zu
Ihrem Oberon System gehört.
Positionieren Sie im Text-Inhalt, so erscheint an der gewählten
Stelle eine Einfügungsmarke. Wenn Sie nun zum Beispiel über die
Tastatur Text eingeben, so wird der Text an dieser Stelle eingefügt.
"Selektieren" wird bei Text benutzt, um eine Textstelle für die weitere
Bearbeitung zu kennzeichnen. Das Selektieren gibt es in zwei Varianten: Der
Zeiger kann an eine bestimmte Stelle geführt werden, bevor "Selektieren"
gedrückt wird (diese Variante werden wir später insbesondere
benutzen, um graphische Elemente zu selektieren). Oder man schiebt den Zeiger
von einer Stelle an eine andere: man bewegt den Mauszeiger an eine Stelle,
drückt dann "Selektieren" und bewegt den Zeiger bei gedrücktem
"Selektieren" an eine andere Stelle.
Oberon hat ein eigenes Fenstersystem. Jedes Fenster (window, viewer)
kann mehrere Rahmen (frames) haben. Einen Rahmen,
den Rollbalken, haben wir bereits kennengelernt. In einem weiteren Rahmen
kann der eigentliche Inhalt des Fensters dargestellt werden, etwa ein Text.
Üblicherweise haben die Fenster einen weiteren Rahmen, den Menürahmen
(zum Beispiel als schmaler Rahmen am oberen Rande des Fensters, farb-invertiert
oder grau/farbig unterlegt).
Oberon teilt den Bildschirm in Spuren (tracks) auf.
Auf der rechten Seite sehen Sie die Systemspur. Hier erscheinen Systemnachrichten,
Warnungen etc. Diese Spur enthält jetzt zwei oder mehr Textfenster.
Auf der linken Seite sehen Sie die Benutzer-Spur, die ein Fenster mit diesem
Text enthalten sollte.
Sie können die Aufteilung verändern, indem Sie ein Menu-Fenster
am Menurahmen auf eine neue Position schieben: Den Mauszeiger in den Menürahmen
positionieren und die Maus bewegen (während "Positionieren" gedrückt
bleibt). Wenn Sie "Positionieren" loslassen, bekommt der Rahmen eine neue
Position und Grösse. Probieren Sie's. Die
Aufteilung in Spuren ist dabei geschützt. Sie können
ein Fenster nur von einer Spur in eine andere bewegen, wenn sie an der neuen
Position zusätzlich "Aktivieren" drücken, bevor sie "Positionieren"
loslassen.
Anstelle ein Fenster manuell zu positionieren und damit die Grösse
zu verändern, können Sie auch die Kommandos im Menurahmen aktivieren.
Wenn Sie System.Grow aktivieren, wird der jeweilige
Rahmen vergrössert. Wenn Sie System.Close
aktivieren, wird der Rahmen geschlossen oder, wenn er vergrössert war,
um eine Stufe verkleinert. Schliessen Sie den Rahmen
mit dem ersten Kapitel, und vergrössern Sie diesen Rahmen von Kapitel
02. Sie werden nicht gewarnt, wenn der Rahmen geschlossen wird (vielleicht
wollten Sie ihn ja nur verkleinern). Aber wenn Sie es sofort bereuen, so
sind sie gesichert. Das Kommando
System.Recall
sorgt dafür, dass der zuletzt geschlossene Rahmen wieder geöffnet
wird.
Alle Fenster und Rahmen sind - wie das gesamte Oberon-System - erweiterbar.
Der Benutzer kann die vorhandene Funktionalität modifizieren oder ergänzen.
So werden Sie, je nach Konfiguration, im Menurahmen etwa anstelle des Textes
System.Grow nur Grow finden.
Oft wird dieser Eintrag wieder auf System.Grow führen.
Dies liegt jedoch an demjenigen, der das System konfiguriert hat: Oberon
erzwingt diese Konsistenz nicht - sie ist in der Verantwortung des Benutzers
und/oder Programmierers.
Alle Komponenten von Oberon sind erlaubte Quellen für Kommandos.
Es spielt keine Rolle, wo das Kommando eingegeben wird. Sie können
es, wenn Sie es irgendwo noch auf dem Bildschirm sehen, dort aktivieren.
Oder Sie können die Worte irgendwo eintippen (zum Beispiel in einem
der System-Rahmen) und dann aktivieren. Wenn Sie zum Beispiel in diesem laufenden
Text Desktops.OpenDoc Kurs/Kap01.Start aktivieren, erhalten
Sie wieder ein Fenster mit dem Anfang des Kurses (das Sie sofort wieder schliessen
können, wir brauchen es nicht mehr). Das Kommando Desktops.OpenDoc
Kurs/Kap01.Start hat aber neben dem eigentlichen Kommando Desktops.OpenDoc
noch eine Zusatzinformation, nämlich was geöffnet werden soll:
das Kapitel Oberon.Kurs.Start. Diese Zusatzinformation ist ein Parameter
für das Kommando Desktops.OpenDoc.
Kommando mit Parametern:
xxxx.yyyy par
Kommandos und Parameter müssen nicht unmittelbar gemeinsam auf dem
Bildschirm erscheinen. Einige Kommandos erlauben es, eine Liste von mehreren
Parametern einzugeben. Bei Kommandos mit einer variable langen Liste braucht
Oberon dann einen Hinweis, um das Ende dieser Liste zu erkennen. Als Konvention
wird das Zeichen ~ benutzt, um das Ende der Liste zu
markieren. (Macintosh-Tastenkombination: Option n, dann Leertaste)
Ende der Parameter-Liste:
xxxx.yyyy par1 par2 par3 ~
Kommando-Konventionen:
Ein ^
in der Parameterliste bedeutet, dass die Parameterliste mit der
aktuellen Selektion (der zuletzt markierten Textstelle) fortgesetzt wird.
Aktuelle Selektion als Parameter-Fortsetzung:
xxxx.yyyy ^
Eine Textstelle wird selektiert, indem Sie auf den Anfang des
Texts gehen, dort "Selektieren" wählen, und dann den Zeiger zum Ende
der Textstelle bewegen, während "Selektieren" gedrückt bleibt.
Kommandos können die Selektion als Eingabebereich betrachten und nur
auf den selektierten Bereich zugreifen, oder die Eingabe auf den Anfang der
Selektion umleiten und dann weiterlesen. Hierfür gibt es keine einheitliche
Konvention. Insbesondere für kritische Kommandos (z.B. zum Löschen
einer Datei) sollte auch bei Selektionen das Ende der Parameterliste immer
wie oben angegeben markiert werden.
Ein @ in
der Parameterliste bedeutet, dass die aktuelle Selektion (die zuletzt markierte
Textstelle) als Parameter in die Parameterliste eingefügt wird.
Aktuelle Selektion als Parameter-Einfügung
xxx.yyy @ par2 par3
(Diese Konvention wird nur von wenigen Kommandos unterstützt.)
Ein * in
der Parameterliste steht für das gegenwärtig markierte Fenster.
Er kann etwa anstelle des Namens dieses Fensters benutzt werden. Das Kommando
bezieht sich dann auf den Inhalt des Fensters.
Aktuelle Markierung als Parameter:
xxx.yyy * par2
Ein Fenster wird explizit markiert, wenn der Maus-Zeiger
im Fenster ist und Markieren gedrückt wird. Im markierten Fenster erscheint
dann vorübergehend eine Stern-Markierung.
(Macintosh) Merke:
Markieren =>
"Enter"-Taste (im Ziffernblock)
oder
"F1"-Taste
(X-Windows etc.) Merke:
Markiere =>
"Setup"-Taste
(Oberon für Windows) Merke:
Markiere =>
"F1"-Taste
Im Fenster Desktops.Tool finden Sie den Eintrag Desktops.OpenDoc
^. Bitte benutzen Sie diesen Eintrag, um weiter mit dem Kurs zu arbeiten.
Aktivieren Sie
System.Open Kurs/Kurs.Inhalt
um ein Inhaltsverzeichnis in der System-Spur zu bekommen. Selektieren
Sie dort das Kapitel, das Sie interessiert. Aktivieren Sie Desktops.OpenDoc
^ im Fenster Desktops.Tool, um dieses Kapitel zu sehen.
Einführung in die Programmiersprache Oberon. Kurs/Kap02.Text
gs (c) G. Sawitzki, StatLab Heidelberg
<http://statlab.uni-heidelberg.de/projects/oberon/kurs/>
Home
Up
Intro
Contents
Chapter
1
2
3
4
5
6
7
8
9
10
Design
Assert
Timing
EBNF
Report
Pas