
        XX X
      XXXXXX    X
     XXX  XX   XX
     XX       XXX
     XX      XXXXXX  XXX  XX   XXX   XXX  XXXXX    XXXX
     XXX       XX     XXXXXXXX  XX    XX    XX      X
      XXXX     XX     XXX  XXX  XX    XX     XX    X
       XXXX    XX     XX        XX    XX      XX  X
         XXX   XX     XX        XX    XX       XXX
          XX   XX     XX        XX    XX        XX
          XX   XX     XX        XX    XX       X XX
     XX  XXX   XX   X XX        XXX  XXX      X   XX
     XXXXXX     XXXX  XX         XXXXXXXXX   X     XX
     X XX        XX  XXXX          XX XXX  XXXX   XXXXX   Version 1.0


  Ein grafischer Editor für Struktogramme und Programmablaufpläne


                  ****  **** *   *  ***          
                   *  * *    ** ** *   *
                   *  * ***  * * * *   *
                   *  * *    *   * *   *    
                  ****  **** *   *  ***

__________________________________________________________________________



Kurzbeschreibung
================

Mit Strux lassen sich schnell und bequem Struktogramme und Programm-
ablaufpläne (PAP) erstellen. Die erstellten Diagramme können als
Quelltext in einer beliebigen Programmiersprache gespeichert und so
in kurzer Zeit in ein lauffähiges, gut strukturiertes und kommentiertes
Programm umgesetzt werden.
Weiterhin besteht die Möglichkeit, Quelltexte in den Sprachen "C" und
"Pascal" einzulesen und als Struktogramm oder PAP darzustellen und
zu bearbeiten. Dies ist ideal zum Verstehen fremder Programme und
hilfreich zur Fehlersuche in eigenen Programmen.
Die Diagramme lassen sich auch als IFF-Grafik speichern oder ausdrucken.
Zu jeder Programmfunktion ist ein Hilfstext vorhanden, der angezeigt
werden kann, während man mit Strux weiterarbeitet.
  

Da Strux streng nach den Commodore Richtlinien (Styleguide) programmiert
wurde und konsequent die Möglichkeiten der Betriebssystemversion 2.0 
nutzt, wird
             Kickstart/Workbench 2.0 oder höher benötigt !

Wenn Sie noch Version 1.3 benutzen, sollten Sie eine Umrüstung auf
Version 2.0 oder 2.1 in Erwägung ziehen, es lohnt sich ! 
(nicht nur für Strux :-)


----------------------------------------------------------------------

Strux ist ein kommerzielles Programm. Diese Demo soll dazu dienen,
dass Sie Strux ausprobieren können, ohne gleich die Vollversion
kaufen zu müssen.

Die Vollversion kostet 98,- DM und enthält ein ausführliches,
gedrucktes Handbuch (65 Seiten, Ringbindung) mit vielen Beispielen.
Als registrierter Anwender bekommen Sie kostenlos Hilfe und
günstige Updates.

Bestellen können Sie Strux bei:

  Andreas Günther
  Alfener Weg 10
  W-4790 Paderborn   (bzw. ab 1.7.93:  33100 Paderborn)

(Versandkosten: Vorkasse: 5,- DM, Nachnahme: 10,- DM)


email: guenther@uni-paderborn.de

----------------------------------------------------------------------


Copyright
=========

Strux ist Copyright by Andreas Günther.
Diese Demo-Version des Programms darf weitergegeben werden, jedoch
müssen ALLE Dateien unverändert weitergegeben werden, also die
gesamte "StruxDemo"-Schublade. Die Strux-Demo darf in einem Archiv
gepackt werden (z.B. mit lharc).



Einschränkungen in der Demo-Version
===================================

- Das Speichern von Diagrammen und Clips im Strux-Format geht nicht.
- Zu einem Diagramm, welches mehr als 10 Blöcke enthält, kann
  kein weiterer Block hinzugefügt werden. So ist es aber möglich,
  sich die Beispiele anzuschauen.
- Es können nur Quelltexte eingelesen werden, die maximal 2000 Byte
  lang sind.



************************************************************************



Einführung in Strux
===================

Um von einer Idee zum fertigen Programm zu gelangen, sind mehrere
Schritte nötig:
- Spezifikation der Idee (genaue Beschreibung der Wünsche und 
  Anforderungen)
- Entwurf des Programms (Entwicklung eines Lösungsweges und der 
  Programmstruktur)
- Implementierung (d.h. Umsetzung in eine Programmiersprache und
  letztendlich in ein lauffähiges Programm)

Der Struktogramm-Editor Strux erleichtert dem Programmierer die Arbeit 
beim Entwurf der Programmstruktur und hilft beim Schritt zur 
Implementierung in einer beliebigen Programmiersprache.

Dazu läßt sich zunächst die Programmstruktur als Struktogramm oder
Programmablaufplan (PAP) bequem und übersichtlich am Bildschirm erstellen
und bearbeiten. Anschließend kann der Entwurf als "Quellcode-Gerüst"
für die eigentliche Implementierung gespeichert werden. 
Viele Programmierer überspringen die Phase des Entwurfs und versuchen 
sofort, das Programm zu implementieren. Dies wird aber bei etwas 
größeren Projekten sehr unübersichtlich und endet meist im Chaos. 

Wird jedoch erst die Programmstruktur mit Strux erstellt, so verliert 
man nicht die Übersicht, die Programme werden fehlerfreier und bekommen
so ganz nebenbei noch eine Kommentierung, was auch gern vernachlässigt 
wird.

Ebenfalls eignen sich Stuktogramme bzw. PAPs hervorragend zur Dokumentation
und Erklärung von Programmen und Algorithmen, da sie programmiersprachen-
unabhängig und übersichtlich sind. (Auch bei Problemen, die nichts mit 
Computern zu tun haben, lassen sich leicht Lösungswege entwickeln und 
anschaulich darstellen)

Um ein bestehendes (womöglich unkommentiertes) Programm verstehen zu
können, ist es sehr hilfreich, die Programmstruktur zu erkennen. Daher 
bietet Strux für die Sprachen PASCAL und C die Möglichkeit, Quelltext 
einzulesen und als Struktogramm bzw. PAP darzustellen und 
weiterzubearbeiten.




Bedienung
=========

Hier sollen zunächst einige grundlegende Dinge erklärt werden, um 
einen Eindruck von Strux zu bekommen. Weitere Erklärungen zu den 
einzelnen Funktionen werden in den Hilfstexten beschrieben, daher
wird hier nicht näher darauf eingegangen. (Im Handbuch sind 
natürlich alle Funktionen genau beschrieben)


Start
-----

Der Start des Programms erfolgt durch Anklicken des Piktogramms mit 
dem Namen "StruxDemo". Anschließend erscheint ein Fenster, die 
Arbeitsfläche von Strux, auf der Workbench.
Wenn Sie nun das Zoom-Symbol des Fensters betätigen (oben rechts),
wird seine Größe an den sichtbaren Bereich des Bildschirms angepaßt.


Verlassen des Programms
-----------------------
Wählen Sie dazu den Menüpunkt "Projekt » Strux Verlassen" aus oder
betätigen Sie das Schließsymbol des Fensters. Vor dem endgültigen 
Verlassen erfolgt noch eine Sicherheitsabfrage.


Hilfe
-----
Strux besitzt eine eingebaute Hilfe-Funktion, die jederzeit aufgerufen
werden kann. Es kann zu jedem Menüpunkt, jedem Fenster und zu einigen 
Begriffen jeweils ein erklärender Text angezeigt werden.

Hilfe zu Menüs und Menüpunkten:
  Menüpunkt wählen, jedoch die rechte Maustaste gedrückt halten, dabei
  die "Help"-Taste drücken.

Hilfe zu Fenstern:
  Wenn das Fenster angezeigt wird, einfach die "Help"-Taste drücken.

Begriffserklärungen:
  Im Hilfefenster das Symbol "Begriffe" anklicken und anschließend 
  den gewünschten Begriff auswählen.

Es erscheint ein Fenster, in dem der Hilfstext angezeigt wird. Mit dem
Rollbalken an der rechten Seite kann der Text verschoben werden. Während
das Hilfefenster angezeigt ist, kann mit Strux weitergearbeitet werden. 
Das Hilfefenster kann jederzeit durch Anklicken des Schließsymbols
entfernt werden.


Menüs
-----
Die Steuerung erfolgt vollständig über die Menüs. Die meisten Funktionen
besitzen eine zugehörige Taste, um ein schnelles Arbeiten zu ermöglichen.
Die zu den Funktionen gehörenden Tasten stehen in den Menüs und müssen
zusammen mit der rechten "AMIGA"-Taste betätigt werden.
In den Fenstern können die Symbole, bei denen ein Buchstabe unterstrichen
ist, außer mit der Maus auch mit der entsprechenden Buchstabentaste
betätigt werden. In Listen kann mit den Pfeiltasten geblättert werden.


Laden eines Projekts
--------------------
Um die folgenden Punkte dieser Kurzanleitung ausprobieren zu können, 
soll zunächst das Laden eines Projekts erklärt werden. Dazu wird der 
Menüpunkt "Projekt » Öffnen » Strux-Diagramm angewählt. Daraufhin 
erscheint ein Dateiauswahlfenster, dessen Bedienung bekannt sein 
dürfte. Es sollte nun ein Diagramm ausgewählt und "öffnen" betätigt 
werden. Anschließend wird das Diagramm geladen und angezeigt.


Darstellungsarten
-----------------
Ein Diagramm kann auf drei Arten dargestellt und bearbeitet werden: 
als Struktogramm, PAP oder Pseudocode. Es kann jederzeit zwischen den
Darstellungsarten umgeschaltet werden. Dazu wählen Sie den Menüpunkt
"Einstellungen » Diagramm" und wählen im dann erscheinenden Fenster 
die gewünschte Darstellung. Schließen Sie das Fenster mit "Benutzen".

Struktogramm:
  Das Projekt wird als Struktogramm dargestellt. (nach Nassi-Shneiderman,
  DIN 66261)
PAP:
  Das Projekt wird als Programmablaufplan (PAP) dargestellt. (nach
  DIN 66001 und DIN 66262)
Pseudocode:
  Das Projekt wird in schriftlicher Form als Pseudocode dargestellt.
  Die Befehle entsprechen dabei den Texten im Menü "Hinzufügen".

Ist ein Diagramm zu groß für das Strux-Fenster, wird nur ein Teil 
dargestellt. Der Ausschnitt kann mit den Rollbalken am rechten und 
unteren Rand des Fensters verschoben werden.


Auswahl eines Blocks
--------------------
Ein Block im Diagramm ist besonders markiert (mit einer anderen Farbe
unterlegt). Dies ist der "aktuelle Block", er entspricht etwa dem 
Cursor in einer Textverarbeitung. Z.B. werden neue Blocks immer an 
diesen Block angehängt, das Ausschneiden bezieht sich auf diesen 
Block usw.
Um einen Block auszuwählen, d.h. ihn zum aktuellen Block zu machen, 
klickt man ihn einfach mit der Maus an. Bei Konstrukten wie einer 
Auswahl (z.B. IF ... THEN) oder einer Schleife wird stets der gesamte
Block mit den anhängenden Verzweigungen bzw. Schleifenrumpf markiert 
und als ein Block betrachtet.

Weiterhin gibt es die Möglichkeit, die Pfeiltasten zu benutzen.




Der Zwischenspeicher (Clipboard)
================================

Wie z.B. bei Textprogrammen üblich, lassen sich auch hier Teile des
Diagramms ausschneiden oder kopieren und an anderer Stelle wieder
einfügen.
Das zuletzt ausgeschnittene Teil wird gespeichert, bis wieder
etwas ausgeschnitten oder kopiert wird. Der Speicher, in dem das Teil
aufbewahrt wird, heißt "Zwischenspeicher".
Der Text der ausgeschnittenen Blöcke kann auch in andere Programme
eingefügt werden, die den Zwischenspeicher (Clipboard) unterstützen.

(Leider erkennen aber einige Programme die Strux-Clips nicht, da sie
unsauber programmiert sind.
[Der IFF-Typ "CAT CLIP" wird dort nicht erkannt.])




Verfeinerungen
==============

Um einen Entwurf übersichtlich und gut strukturiert zu gestalten,
verwendet man Verfeinerungen. Damit kann ein beliebiger Block mit 
einem eigenen Diagramm genauer definiert werden. Taucht z.B. im 
Struktogramm ein Block "lies Datei von Diskette" auf, so sagt dieser 
Text kurzgefaßt alles, was man an diesem Punkt zum Verstehen des 
Struktogramms braucht. Das Lesen der Datei umfaßt selbst jedoch 
mehrere Schritte (öffnen der Datei, lesen, schliessen, Fehlerbehandlung 
usw.), die in einer Verfeinerug definiert werden können und vom 
Struktogramm aus unsichtbar sind.
Auch Unterprogramme, also Programmteile, die von mehreren Stellen aus 
aufgerufen werden, lassen sich durch Verfeinerungen realisieren.


Block verfeinern
----------------
Um den aktuellen Block zu verfeinern, wird der Menüpunkt 
"Verfeinerungen » Block verfeinern" gewählt. Es erscheint eine neue 
Arbeitsfläche, welche als Überschrift den Namen des Blocks enthält, 
der verfeinert wurde. Hier kann wie gewohnt ein Diagramm erstellt und 
bearbeitet werden. Dabei sind auch weitere Verfeinerungen möglich. 
Wenn ein Block schon verfeinert wurde, so gelangt man auch durch
einen Doppelklick auf diesen Block in die Verfeinerung. Ein verfeinerter 
Block wird durch Fettdruck angezeigt, wenn der Menüpunkt "Verfeinerungen 
» Zeigen ?" eingeschaltet ist.
Mit dem Menüpunkt "Verfeinerungen » Zurück zu höherer Ebene" kommt
man zum Block zurück, der verfeinert wurde. Man gelangt durch einen
Doppelklick auf den oberen Rand des Diagramms ebenfalls in die 
nächsthöhere Ebene.
Mit "Verfeinerungen » zu höchster Ebene" gelangt man in die höchste 
Ebene des Diagramms.



Verfeinerungen markieren
------------------------
Mit dem Menüpunkt "Verfeinerungen » Zeigen ?" kann ein- oder ausgeschaltet 
werden, ob die Verfeinerungen im Diagramm markiert werden sollen. Wenn
die Markierung eingeschaltet ist, werden sämtliche Verfeinerungen in 
Fettschrift dargestellt.
Die Markierung hat den Vorteil, daß man sofort erkennt, welche Blöcke schon 
verfeinert wurden.
Eine Verfeinerung kann von mehreren Blöcken gleichen Namens aufgerufen 
werden, das Diagramm der Verfeinerung existiert aber nur einmal und ist
an einem Block angehängt. Dieser Block (die "Hauptverfeinerung") wird 
andersfarbig beschriftet. Alle Operationen, die mit diesem Block ausgeführt
 werden (Ausschneiden, Kopieren, Drucken usw.) haben dann Wirkung auf die 
Verfeinerung. Wenn mit den nur durch Fettschrift markierten Blöcke 
Operationen ausgeführt werden, so haben diese keine Auswirkungen auf 
die Verfeinerung !


Hauptverfeinerung setzen
------------------------
Mit dem Menüpunkt "Bearbeiten » Verfeinerung setzen" wird die 
Hauptverfeinerung auf den aktuellen Block gelegt. (Der aktuelle Block 
muß natürlich eine Verfeinerung besitzen)
Dies kann erforderlich sein vor einer Operation, welche auch die 
Verfeinerungen betrifft. Soll z.B. die Verfeinerung nicht mitkopiert 
werden, weil sie sonst verdoppelt würde, so wird die Hauptverfeinerung 
außerhalb des zu kopierenden Bereichs gelegt.




Speichern als Quelltext
=======================
Menüpunkt: "Projekt » Speichern als » Text..."
Das Diagramm wird als ASCII-Text gespeichert. Dabei sind die Umsetzungen
der verschiedenen Arten von Blöcken in einer Übersetzungstabelle 
einstellbar (Menüpunkt "Einstellungen » Übersetzungstabelle..."). 
Dadurch besteht die Möglichkeit, ein Diagramm als Programmtext in einer 
beliebigen Sprache auszugeben. Es entsteht ein "Gerüst", welches die 
Programmstruktur enthält und aus dem dann einfach das fertige Programm 
erstellt werden kann.
Falls noch keine Übersetzungstabelle eingestellt wurde, wird eine
Fehlermeldung ausgegeben und man bekommt die Möglichkeit, eine Tabelle
zu öffnen.



Laden von Quelltexten
=====================
Es gibt noch die Möglichkeit, einen Quelltext in der Programmiersprache 
Pascal oder C als Textdatei zu laden und als Struktogramm bzw. PAP 
darzustellen. Dieses Diagramm kann dann wie gewohnt weiterbearbeitet 
werden. Dazu wird zuerst der Menüpunkt "Projekt » Öffnen » Text..."
gewählt. Es erscheint ein Dateiauswahlfenster, in welchem die Textdatei 
gewählt wird. In einem Fenster wird nun gefragt, ob es sich um ein 
Pascal- oder C-Programm handelt.
Anschließend kann in einem weiteren Fenster der gewünschte Programmteil 
gewählt werden. Hier kann der Ladevorgang auch abgebrochen werden.
Der Programmtext muß syntaktisch korrekt sein, da er sonst nicht 
umgewandelt werden kann.
Prozeduren und Funktionen werden in Verfeinerungen umgesetzt. Es gehen 
einige Informationen des ursprünglichen Programms verloren, wie z.B. 
Variablendeklarationen, allerdings liegt der Sinn dieser Funktion darin, 
die Programmstruktur zu veranschaulichen.
