<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=ARexx</id>
	<title>ARexx - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=ARexx"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=ARexx&amp;action=history"/>
	<updated>2026-06-01T05:41:44Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=ARexx&amp;diff=255905&amp;oldid=prev</id>
		<title>imported&gt;Cyberman44: /* Der ARexx Interpreter RexxMast */ Präzisierung</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=ARexx&amp;diff=255905&amp;oldid=prev"/>
		<updated>2026-01-09T17:47:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Der ARexx Interpreter RexxMast: &lt;/span&gt; Präzisierung&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Software&lt;br /&gt;
|Screenshot= &lt;br /&gt;
|Beschreibung= &lt;br /&gt;
|Hersteller= William S. Hawes&lt;br /&gt;
|Erscheinungsjahr = 1987&lt;br /&gt;
|AktuelleVersion= 1.15 (intern 53.4)&lt;br /&gt;
|AktuelleVersionFreigabeDatum= 21. Februar 2013&lt;br /&gt;
|Betriebssystem= [[AmigaOS]]&lt;br /&gt;
|Programmiersprache= [[ANSI C]], [[Assemblersprache|Assembler]] (handoptimiert)&lt;br /&gt;
|Kategorie= [[Skriptsprache]]&lt;br /&gt;
|Lizenz= [[proprietär]]&lt;br /&gt;
|Deutsch= nein&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ARexx&amp;#039;&amp;#039;&amp;#039; (kurz für Amiga Rexx) ist ein [[REXX]]-Dialekt und [[Programmiersprache|Skript-Subsystem]] für [[AmigaOS]]. Es dient zur [[Automatisierung]] sowie zur [[Interprozesskommunikation]] (IPC), indem Skripte Befehle an ARexx-fähige Programme senden und Ergebnisse zurückerhalten können.&lt;br /&gt;
&lt;br /&gt;
Dafür wurde die Skriptsprache REXX, die in den 1980er Jahren von [[Michael F. Cowlishaw|Mike Cowlishaw]] bei [[IBM]] für [[Großrechner]] (Mainframes) auf [[Conversational Monitor System|CMS]]-[[Betriebssystem]]en entwickelt wurde&amp;lt;ref&amp;gt;{{cite book |title=The REXX Language: A Practical Approach to Programming |first=Michael |last=Cowlishaw |publisher=Prentice Hall |year=1985 |edition=1st |isbn=0-13-780651-5 |language=en}}&amp;lt;/ref&amp;gt;, um zahlreiche AmigaOS-spezifische Features erweitert&amp;lt;ref&amp;gt;[https://archive.org/stream/ARexx_Users_Reference_Manual_1.0_1987_Hawes_William_S./ARexx_Users_Reference_Manual_1.0_1987_Hawes_William_S._djvu.txt ARexx Users Reference Manual (englisch)]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Während REXX vor allem für [[Interaktivität|interaktive]] Anwendungen in Unternehmensumgebungen gedacht war, wurde ARexx speziell für die [[Multitasking]]-Umgebung des AmigaOS und die Bedürfnisse von Endanwendern und Entwicklern konzipiert.&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Der ARexx-Interpreter wurde 1987 von William S. Hawes (Wishful Thinking Development Corp.) entwickelt und zunächst separat vertrieben. Der Prototyp wurde in C (Lattice C) erstellt, aber in der Produktionsversion in handoptimiertem 68000-Assembler umgesetzt. Ab &amp;#039;&amp;#039;Workbench/AmigaOS 2.04&amp;#039;&amp;#039; (1990) wurde ARexx von [[Commodore International|Commodore]] mit dem Betriebssystem gebündelt und ist seither ein fester Bestandteil aller AmigaOS-Versionen&amp;lt;ref&amp;gt;[http://www.bambi-amiga.co.uk/amigahistory/amigaos204.html Amiga Workbench 2.04 (englisch)]&amp;lt;/ref&amp;gt;. Ab AmigaOS 3.5 (1999) wurde ARexx direkt in das Betriebssystem integriert und war über den ARexx-Port auch für Systemfunktionen zugänglich.&lt;br /&gt;
&lt;br /&gt;
ARexx gewann in der Folge insbesondere durch die Community schnell an Bedeutung, da viele Amiga-Entwickler ihre Software aktiv mit ARexx-Ports ausstatteten, um die [[Interoperabilität]] zu erhöhen. Laut einem Artikel im Usenet aus dem Jahr 1991&amp;lt;ref name=&amp;quot;usenet&amp;quot;&amp;gt;{{cite web |url=https://groups.google.com/g/comp.lang.rexx/c/XdpYattU0Rs?pli=1 |title=Usenet-Diskussion zu ARexx (1991) |author=Usenet-Community |date=1991 |access-date=2025-01-26}}&amp;lt;/ref&amp;gt; wurden Anwendungen wie ProCalc, DPaint IV und Imagine 2.0 mit umfangreichen ARexx-Support ausgestattet, was die Möglichkeiten für Anwender erheblich erweiterte. Besonders hervorgehoben wurde die Fähigkeit von ARexx, komplexe [[Workflow]]s durch Automatisierung verschiedener Programme zu vereinfachen.&lt;br /&gt;
&lt;br /&gt;
Nach der Einführung modernerer Amiga-Derivate wie [[MorphOS]] wurde ARexx jedoch nicht für deren [[PowerPC]]-Architektur portiert. Obwohl es auf MorphOS noch eingeschränkt genutzt werden kann, fehlt eine optimierte Version, da Hawes nicht mehr in der Amiga-Entwicklung tätig ist und keine finanzielle Unterstützung für die Weiterentwicklung existiert. Dennoch bleibt ARexx ein geschätztes Werkzeug für klassische Amiga-Systeme.&lt;br /&gt;
&lt;br /&gt;
== Rezeption und Einfluss ==&lt;br /&gt;
ARexx wurde in den 1990er Jahren als eines der fortschrittlichsten Tools für die Interprozesskommunikation auf [[Desktop-Computer|Desktop-Systemen]] angesehen. In einer Diskussion im [[Usenet]] von 1991&amp;lt;ref name=&amp;quot;usenet&amp;quot; /&amp;gt; wurde hervorgehoben, dass ARexx eine der ersten Skriptsprachen war, die eine echte Verbindung zwischen Desktop-Software ermöglichte. Insbesondere das Konzept der Skriptsprache als universelles Bindeglied inspirierte spätere [[Technologie]]n wie [[AppleScript]] in [[MacOS]] und [[Visual Basic for Applications]] (VBA) in [[Windows]].&lt;br /&gt;
&lt;br /&gt;
== Merkmale ==&lt;br /&gt;
&lt;br /&gt;
ARexx zeichnet sich durch seine Flexibilität und Benutzerfreundlichkeit aus, insbesondere in der Interprozesskommunikation von Amiga-Anwendungen. Die wichtigsten Merkmale sind:&lt;br /&gt;
&lt;br /&gt;
; Interprozesskommunikation&lt;br /&gt;
: ARexx nutzt zur Anbindung typischerweise &amp;#039;&amp;#039;ARexx-Ports&amp;#039;&amp;#039; (Message Ports): Anwendungen stellen dort Kommandos/Funktionen bereit, die aus Skripten heraus aufgerufen werden können. Voraussetzung ist der zur Laufzeit resident gestartete Prozess &amp;#039;&amp;#039;RexxMast&amp;#039;&amp;#039;, der die ARexx-Umgebung bereitstellt.&lt;br /&gt;
; Typlose Datenrepräsentation&lt;br /&gt;
: Eine Besonderheit von ARexx ist die typlose Handhabung von Daten. Variablen können beliebige Werte enthalten, ohne dass der [[Datentyp]] vorher definiert werden muss. Dies erleichtert die Erstellung flexibler Skripte, da sich der Programmierer weniger um Datentypen kümmern muss.&lt;br /&gt;
&lt;br /&gt;
; Dynamische Variablen&lt;br /&gt;
: Variablen müssen in ARexx nicht vor ihrer Verwendung [[Deklaration (Programmierung)|deklariert]] werden. Dies ermöglicht eine schnelle und unkomplizierte Entwicklung, da Variablen während der Skriptausführung automatisch angelegt werden.&lt;br /&gt;
&lt;br /&gt;
; Erweiterbarkeit&lt;br /&gt;
: ARexx kann durch [[Programmbibliothek|Bibliotheken]] und eigene [[Funktion (Programmierung)|Funktionen]] erweitert werden. Benutzer können sogenannte „External Functions“ einbinden, um den Funktionsumfang an ihre Bedürfnisse anzupassen.&lt;br /&gt;
&lt;br /&gt;
; Makro-Erweiterungen&lt;br /&gt;
: Viele Programme auf dem Amiga bieten [[Makro]]-Befehle, die über ARexx angesprochen werden können. Damit lassen sich wiederkehrende Aufgaben automatisieren.&lt;br /&gt;
&lt;br /&gt;
; System-Integration&lt;br /&gt;
: ARexx bietet Zugriff auf Amiga-Systembibliothek (rexxsyslib.library) sowie auf externe Bibliotheken und Funktionen, die zur Laufzeit dynamisch geladen werden können.&lt;br /&gt;
&lt;br /&gt;
; Fehlerbehandlung&lt;br /&gt;
: ARexx bietet eingebaute Mechanismen zur [[Ausnahmebehandlung|Fehlerbehandlung]]. Skripte können so gestaltet werden, dass sie bei Fehlern nicht abbrechen, sondern alternative Lösungen ausprobieren oder dem Benutzer eine Fehlermeldung anzeigen.&lt;br /&gt;
&lt;br /&gt;
; Portabilität&lt;br /&gt;
: Da ARexx-Skripte in einer einfachen, textbasierten Form vorliegen, sind sie leicht übertragbar. Ein Skript, das auf einem Amiga-Modell funktioniert, kann in der Regel auch auf anderen Amiga-Systemen ausgeführt werden, sofern die benötigten Programme vorhanden sind.&lt;br /&gt;
&lt;br /&gt;
Diese Eigenschaften machen ARexx zu einem leistungsstarken Werkzeug für Entwickler und Anwender des Amiga-Systems.&lt;br /&gt;
&lt;br /&gt;
== Der ARexx Interpreter RexxMast ==&lt;br /&gt;
Der Interpreter RexxMast liest die über das Kommando &amp;#039;&amp;#039;Rx&amp;#039;&amp;#039; gestarteten ARexx-Skripte als Textdateien ein und verarbeitet die Befehle zur [[Laufzeit (Informatik)|Laufzeit]] nacheinander. Dabei übernimmt er die automatische Ressourcenverwaltung und das Abfangen der Fehler. RexxMast nutzt die AmigaOS-eigene Umgebung, einschließlich Multitasking, installierter Bibliotheken und Prozesskommunikation.&lt;br /&gt;
&lt;br /&gt;
ARexx kommuniziert über sogenannte Message Ports, die als virtuelle Kanäle innerhalb AmigaOS dienen und es [[Prozess (Informatik)|Prozessen]] ermöglichen, Nachrichten auszutauschen. Die Nachrichten (messages) werden in der folgenden Reihenfolge verarbeitet:&lt;br /&gt;
&lt;br /&gt;
* Beim Start öffnet ein Anwendungsprogramm einen Message-Port.&lt;br /&gt;
* Das Programm wartet auf eingehende Nachrichten.&lt;br /&gt;
* Das Betriebssystem teilt mit, dass eine Nachricht an den Port gesendet wurde.&lt;br /&gt;
* Das Programm führt die angeforderte Aktion aus.&lt;br /&gt;
* Das Programm antwortet dem Absender mit dem Ergebnis oder liefert die angeforderten Daten zurück.&lt;br /&gt;
&lt;br /&gt;
== Aufbau eines ARexx-Skripts ==&lt;br /&gt;
=== Aufbau ===&lt;br /&gt;
Jedes ARexx-Skript besteht mindestens aus einer Kommentarzeile, die das Skript kennzeichnet. Aus historischen Gründen muss das Skript stets mit einer Kommentarzeile beginnen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;rexx&amp;quot;&amp;gt;&lt;br /&gt;
 /* Dies ist mein Programm */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der eigentliche [[Programmcode|Code]] folgt anschließend. Ein simples Beispiel für die Ausgabe eines Textes in der [[Kommandozeile|Konsole]] lautet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;rexx&amp;quot;&amp;gt;&lt;br /&gt;
 SAY &amp;quot;Hallo Welt&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies würde den Text &amp;#039;&amp;#039;Hallo Welt&amp;#039;&amp;#039; in der Konsole anzeigen. ARexx-Skripte bestehen aus einer Reihenfolge von Befehlen und Anweisungen, die der Interpreter zur Laufzeit ausführt.&lt;br /&gt;
&lt;br /&gt;
=== Dokumentationsstandards ===&lt;br /&gt;
&lt;br /&gt;
Eine gute [[Dokumentation#Projektmanagement und Softwareentwicklung|Dokumentation]] trägt maßgeblich zur [[Wartbarkeit]] eines Programms bei. ARexx-Skripte sind keine Ausnahme, und insbesondere bei komplexeren Automatisierungsaufgaben auf dem Amiga kann eine klare und präzise Dokumentation für das spätere Verständnis und die Weiterentwicklung des Codes wichtig sein.&lt;br /&gt;
&lt;br /&gt;
Die folgenden [[Best Practice]]s bieten eine gute Grundlage, um ARexx-Skripte verständlich und dokumentiert zu halten:&lt;br /&gt;
&lt;br /&gt;
==== 1. Header-Kommentare ====&lt;br /&gt;
Zu Beginn eines ARexx-Skripts sollte ein [[Header]]-Kommentar eingefügt werden, der grundlegende Informationen über das Programm enthält. Dies umfasst den Namen des Skripts, die Version, den Autor, das Erstellungsdatum und eine kurze Beschreibung des Zwecks.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;rexx&amp;quot;&amp;gt;&lt;br /&gt;
 /* ===========================================================&lt;br /&gt;
    Programmname: BeispielProgramm&lt;br /&gt;
    Version: 1.0&lt;br /&gt;
    Autor: Max Mustermann&lt;br /&gt;
    Datum: 2025-01-24&lt;br /&gt;
    Beschreibung: Dieses Skript gibt &amp;quot;Hallo, Welt!&amp;quot; aus.&lt;br /&gt;
    Eingaben: Keine&lt;br /&gt;
    Ausgaben: Gibt den Text &amp;quot;Hallo, Welt!&amp;quot; auf der Konsole aus.&lt;br /&gt;
 =========================================================== */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 2. Kommentare zu Codeabschnitten ====&lt;br /&gt;
Besondere Abschnitte des Codes, wie komplexe Berechnungen oder logische Entscheidungsbäume, sollten mit Kommentaren versehen werden, die die Funktionsweise erläutern. Besonders bei komplexeren [[Algorithmus|Algorithmen]] oder logischen Abschnitten sind solche Kommentare wichtig.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;rexx&amp;quot;&amp;gt;&lt;br /&gt;
 /* Berechnet die Summe von zwei Zahlen */&lt;br /&gt;
 sum: procedure&lt;br /&gt;
     parse arg num1 num2&lt;br /&gt;
     return num1 + num2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3. Dokumentation von Parametern und Rückgabewerten ====&lt;br /&gt;
Jede Funktion oder [[Prozedur (Programmierung)|Prozedur]] sollte ihre [[Parameter (Informatik)|Eingabeparameter]] und [[Return Code|Rückgabewerte]] klar dokumentieren.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;rexx&amp;quot;&amp;gt;&lt;br /&gt;
 /*&lt;br /&gt;
    Funktion: sum&lt;br /&gt;
    Parameter:&lt;br /&gt;
    - num1 (Zahl): Die erste Zahl, die zur Summe beiträgt.&lt;br /&gt;
    - num2 (Zahl): Die zweite Zahl, die zur Summe beiträgt.&lt;br /&gt;
    Rückgabewert:&lt;br /&gt;
    - (Zahl): Die Summe von num1 und num2.&lt;br /&gt;
 */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Dokumentation von Fehlerbehandlung ====&lt;br /&gt;
Es ist ebenfalls ratsam, Fehlerbehandlung und Ausgabewerte zu dokumentieren, besonders wenn Fehler auftreten können.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;rexx&amp;quot;&amp;gt;&lt;br /&gt;
 /*&lt;br /&gt;
   Fehlerbehandlung für ungültige Eingaben&lt;br /&gt;
   Wenn num1 eine negative Zahl ist, wird eine Fehlermeldung ausgegeben.&lt;br /&gt;
 */&lt;br /&gt;
 if num1 &amp;lt; 0 then&lt;br /&gt;
    say &amp;quot;Fehler: Ungültige Zahl!&amp;quot;&lt;br /&gt;
    exit(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 5. Dokumentation für größere Projekte ====&lt;br /&gt;
Für größere Skripte oder Programme könnte eine detailliertere Dokumentation notwendig sein. Hier können Abschnitte mit Erklärungen zu spezifischen Modulen, Bibliotheken oder externen Funktionen hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Mit klar strukturierten und gut kommentierten ARexx-Skripten können sowohl Entwickler als auch später bearbeitende Personen den Code leichter verstehen und modifizieren. In Anbetracht der Tatsache, dass es gegenwärtig keine spezialisierten Tools für ARexx-Dokumentation gibt, ist die manuelle Dokumentation durch Kommentare und strukturierte Beschreibungen umso wichtiger.&lt;br /&gt;
&lt;br /&gt;
== Erweiterbarkeit und Bibliotheken ==&lt;br /&gt;
ARexx verfügt über eine Vielzahl von vordefinierten Funktionen, die speziell auf die Bedürfnisse von AmigaOS abgestimmt sind. Neben diesen internen Funktionen gibt es eine Reihe von Bibliotheken, die zusätzliche Funktionalitäten bereitstellen. Zu den bekanntesten Erweiterungen gehören:&lt;br /&gt;
&lt;br /&gt;
; rexxreqtools.library&amp;lt;ref&amp;gt;{{Internetquelle |url=https://aminet.net/package/util/rexx/RexxReqTools |titel=RexxReqTools im Aminet – util/rexx/RexxReqTools.lha |abruf=2025-01-09}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
: Bietet Funktionen zur Auswahl von [[Datei]]en, [[Verzeichnisstruktur|Verzeichnissen]] und [[Zeichensatz|Zeichensätzen]] durch grafische Dialogfenster.&lt;br /&gt;
&lt;br /&gt;
; tritonrexx.library&amp;lt;ref&amp;gt;{{Internetquelle |url=https://aminet.net/package/util/rexx/TritonRexx376 |titel=TritonRexx im Aminet – util/rexx/TritonRexx376.lha |abruf=2025-01-09}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
: Ermöglicht die Erstellung von [[grafische Benutzeroberfläche|grafischen Benutzeroberflächen (GUI)]] für ARexx-Skripte.&lt;br /&gt;
&lt;br /&gt;
; rexxtricks.library&amp;lt;ref&amp;gt;{{Internetquelle |url=https://aminet.net/package/util/rexx/RexxTricks_386 |titel=RexxTricks im Aminet – util/rexx/RexxTricks_386lha |abruf=2025-01-09}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
: Bietet Erweiterungen für den Zugriff auf das AmigaDOS, [[SCSI]]-Funktionen und die Verwaltung von Bildschirmen und [[Icon (Computer)|Piktogrammen]].&lt;br /&gt;
&lt;br /&gt;
Diese Bibliotheken erweitern den Funktionsumfang von ARexx erheblich und ermöglichen es, mit der Sprache sowohl einfache Automatisierungen als auch komplexe Anwendungen zu entwickeln.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsszenarien ==&lt;br /&gt;
=== Erweiterung bestehender Software ===&lt;br /&gt;
Ein häufiges Einsatzgebiet von ARexx ist aufgrund seiner Interprozesskommunikation und der Unterstützung zahlreicher Anwendungen die Erweiterung der Funktionalität bestehender Software.&lt;br /&gt;
&lt;br /&gt;
==== Grafikbearbeitung ====&lt;br /&gt;
Wenn ein Programm, das Animationen aus Bitmap-Dateien erstellt, keine Bildbearbeitungsfunktionen besitzt, könnte ein ARexx-Skript beispielsweise folgende Schritte automatisieren:&lt;br /&gt;
&lt;br /&gt;
#Dateien in einem Verzeichnis lokalisieren.&lt;br /&gt;
#Bilder nacheinander in ein [[Grafiksoftware|Grafikprogramm]] laden.&lt;br /&gt;
#Änderungen durchführen und die bearbeiteten Dateien speichern.&lt;br /&gt;
#Eine Animation aus den bearbeiteten Bildern erstellen und speichern.&lt;br /&gt;
&lt;br /&gt;
==== Datenintegration ====&lt;br /&gt;
Der Zusammenarbeit zwischen ARexx-kompatiblen Programmen sind dabei kaum Grenzen gesetzt. Beispielsweise kann ein ARexx-Skript auch&lt;br /&gt;
#Daten in einer [[Datenbank-Verwaltungswerkzeuge|Datenbankverwaltung]] aus einer Datenbank extrahieren,&lt;br /&gt;
#diese in einer [[Tabellenkalkulation]] berechnen,&lt;br /&gt;
#die Ergebnisse in einer [[Textverarbeitung]] in einem Dokument zusammenfassen.&lt;br /&gt;
&lt;br /&gt;
==== Multimedia ====&lt;br /&gt;
Ein weiteres Einsatzgebiet von ARexx ist die Steuerung von [[Multimedia]]-Anwendungen wie AmigaVision. Mit einem ARexx-Skript kann beispielsweise eine komplexe Multimedia-Präsentation automatisiert erstellt werden:&lt;br /&gt;
#Videos, Bilder und Audiodateien aus verschiedenen Verzeichnissen laden.&lt;br /&gt;
#Übergangseffekte zwischen einzelnen Inhalten hinzufügen.&lt;br /&gt;
#Texteinblendungen oder Untertitel automatisch generieren und einfügen.&lt;br /&gt;
#Die fertige Präsentation exportieren oder direkt abspielen lassen.&lt;br /&gt;
&lt;br /&gt;
ARexx ermöglicht dabei die Kommunikation zwischen AmigaVision und anderen Programmen, z. B. zur Bild- oder Audiobearbeitung. So könnten Grafiken in einem Zeichenprogramm angepasst, Audiodateien in einer Bearbeitungssoftware optimiert und dann automatisch in die Präsentation integriert werden. AmigaVision war eine von Commodore im Jahr 1990 veröffentlichte Multimedia-Software, die es Anwendern ermöglichte, interaktive Präsentationen zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Dadurch wird ARexx zu einem mächtigen Werkzeug, um bestehende Software modular zu erweitern und miteinander zu integrieren.&lt;br /&gt;
&lt;br /&gt;
=== Automatisierung repetitiver Aufgaben ===&lt;br /&gt;
ARexx wird auch genutzt, um monotone Aufgaben zu automatisieren. Ein Beispiel ist das Skript EqFiles.rexx&amp;lt;ref&amp;gt;{{cite web |title=EqFiles |url=https://aminet.net/util/rexx/EqFiles.lha |first=Fulvio |last=Peruggi |language=en}}&amp;lt;/ref&amp;gt;, das mit dem Vergleichsprogramm ALeXcompare&amp;lt;ref&amp;gt;{{cite web |title=ALeXcompare |first=Alex |last=Kazik |url=http://main.aminet.net/util/cli/ALeXcompare.lha |language=en}}&amp;lt;/ref&amp;gt; arbeitet, um doppelte Dateien zu identifizieren und die Ergebnisse farblich hervorzuheben.&lt;br /&gt;
&lt;br /&gt;
=== Systemerweiterungen ===&lt;br /&gt;
ARexx kann genutzt werden, um Funktionen zu AmigaOS hinzuzufügen. Ein Beispiel ist ein Überwachungsskript, das Warnmeldungen ausgibt oder Audio-Benachrichtigungen abspielt, wenn ein Programm abstürzt oder eine Aufgabe abgeschlossen wurde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;rexx&amp;quot;&amp;gt;&lt;br /&gt;
/* Alarm.rexx */&lt;br /&gt;
ARG event&lt;br /&gt;
IF event = 0 THEN EXIT&lt;br /&gt;
IF event = 1 THEN SAY &amp;quot;Programm wurde unerwartet beendet.&amp;quot;&lt;br /&gt;
IF event = 2 THEN SAY &amp;quot;Programm hat seine Aufgabe abgeschlossen.&amp;quot;&lt;br /&gt;
IF event = 3 THEN SAY &amp;quot;Keine Daten im Verzeichnis gefunden.&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ARexx ist somit ein bedeutender Bestandteil der Amiga-Plattform, da es die Zusammenarbeit zwischen verschiedenen Anwendungen ermöglicht und den Funktionsumfang von AmigaOS erweitert. Viele Programme unterstützten ARexx-Kommandos und ermöglichen es Anwendern, die Software an individuelle Bedürfnisse anzupassen.&lt;br /&gt;
&lt;br /&gt;
== Kompilation von ARexx-Scripten ==&lt;br /&gt;
Es gab in der Vergangenheit Missverständnisse über die Möglichkeit, ARexx-Skripte zu [[Compiler|kompilieren]].&lt;br /&gt;
&lt;br /&gt;
Programme wie Rexx Plus, RexxMasher&amp;lt;ref&amp;gt;{{Internetquelle |url=https://aminet.net/package/util/rexx/dcs_rexxmasher |titel=ReXxMaShEr im Aminet – util/rexx/dcs_rexxmasher.lha |abruf=2025-01-09}}&amp;lt;/ref&amp;gt; und ExecRexx&amp;lt;ref&amp;gt;{{Internetquelle |url=https://aminet.net/package/util/rexx/ExecRexx |titel=ExecRexx im Aminet – util/rexx/ExecRexx.lha |abruf=2025-01-09}}&amp;lt;/ref&amp;gt; ermöglichten es, ARexx-Skripte zu optimieren, indem sie die Kommentarzeilen entfernten und die Skripte in ein [[Datenkompression|komprimiertes]] Format umwandelten. Diese „Kompilierung“ ist jedoch keine echte Kompilierung, da der Code weiterhin von RexxMast ausgeführt werden muss.&lt;br /&gt;
&lt;br /&gt;
Außerdem konnte es bei umfangreichen ARexx-Skripten dazu kommen, dass das „kodierte“ Skript nicht mehr fehlerfrei funktionierte.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Mike Cowlishaw: &amp;#039;&amp;#039;REXX: A Practical Approach to Programming.&amp;#039;&amp;#039; 2. Auflage. 1990, ISBN 0-13-780651-5 (englisch)&lt;br /&gt;
* William S. Hawes: &amp;#039;&amp;#039;ARexx: An Implementation of REXX for Amiga.&amp;#039;&amp;#039; Dokumentation von 1987 (englisch)&lt;br /&gt;
* Zamara, Chris; Sullivan, Nick: &amp;#039;&amp;#039;Using Arexx on the Amiga.&amp;#039;&amp;#039; Abacus Software Inc., 1991. ISBN 1-55755-114-6 (englisch)&lt;br /&gt;
* Callaway, Merrill: &amp;#039;&amp;#039;The ARexx Cookbook.&amp;#039;&amp;#039; Whitestone, 1992. ISBN 0-9632773-0-8 (englisch)&lt;br /&gt;
* Commodore International: &amp;#039;&amp;#039;AmigaOS 3.5 Documentation.&amp;#039;&amp;#039; 1993 (englisch)&lt;br /&gt;
* Metz, Michael u.&amp;amp;nbsp;a.: &amp;#039;&amp;#039;ARexx – Eine Einführung und mehr.&amp;#039;&amp;#039; Compustore GmbH, 3. Auflage. 1994. ISBN 3-930733-00-5&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://web.archive.org/web/20060114052122/http://members.cox.net/midian/tutorials/arexx1.htm Beginning ARexx Tutorial]&lt;br /&gt;
* [https://aminet.net/package/docs/help/ArexxReference Command and Function Reference]&lt;br /&gt;
* [https://aminet.net/package/dev/misc/ARexxBox112 Design Tool]&lt;br /&gt;
* [https://www.rexxla.org/ Offizielle Website der Rexx Language Association (kurz RexxLA)]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Amiga-Software]]&lt;br /&gt;
[[Kategorie:AmigaOS-Betriebssystemkomponente]]&lt;br /&gt;
[[Kategorie:Amiga-Programmiersprache]]&lt;br /&gt;
[[Kategorie:Proprietäre Software]]&lt;br /&gt;
[[Kategorie:Historische Software]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Cyberman44</name></author>
	</entry>
</feed>