Gemischte Karten

Metacard - Programmieren ganz einfach, Teil 1

01.11.2000
Wer von Ihnen hat sich beim Benutzen eines Programms nicht auch schon einmal gesagt: "Das könnte ich bestimmt besser machen." Haben Ihnen bisher vielleicht Programmierkenntnisse in C bzw. C++ gefehlt, gibt es jetzt eine Weg, der das Erstellen von Programmen mit grafischer Benutzeroberfläche zum Kinderspiel werden lässt. Die Lösung heißt Metacard.

Metacard - Was ist das?

… werden jetzt wahrscheinlich die meisten unter Ihnen fragen. Um die Antwort darauf zu geben: Eine vollständige Programmierumgebung für die Betriebssysteme Windows, MacOS und Linux/Unix, welche das Erstellen von GUI-Programmen ermöglicht. Die Script-Sprache ist extrem einfach und baut weitgehend auf Apple's Hypertalk auf. Wer schon einmal mit HyperCard unter MacOS gearbeitet hat, wird mit der Bedienung und Programmierung von Metacard sofort vertraut sein.

Um Ihnen schon einmal eine kleine Übersicht zu geben, sei die Struktur dieses Artikels kurz erklärt:

Die Beschreibung von Metacard richtet sich vorwiegend an Programmier-Einsteiger. Der erste Teil wird Ihnen bei der Installation von Metacard zur Seite stehen. Im zweiten Teil werden Sie mit der Bedienung von Metacard und der Entwicklungsumgebung vertraut gemacht. Der nächste Abschnitt führt Sie in die Metacard-Sprache ein. Mit dem erworbenen Wissen realisieren wir im 4. und letzten Abschnitt schließlich ein umfangreicheres Projekt. Lassen Sie sich überraschen!InstallationMetacard ist leider kein freies Programm. Der recht hohe Preis von $995 ist wohl für keinen Programmier-Einsteiger akzeptabel. Doch zum Glück findet sich im Internet unter www.metacard.com eine Demoversion, die nicht wesentlich im Funktionsumfang eingeschränkt ist. Der einzige Unterschied ist, dass die Länge der Programmtexte beschränkt ist. Für den Einstieg und somit für diesen Artikel ist es deshalb auch völlig unerheblich, ob Sie die kommerzielle oder die Demoversion einsetzen.Unter der genannten Adresse finden Sie im Bereich "Download" eine Auswahl an Metacard-Versionen für die unterstützten Systeme. Neben den gepackten Dateien für Windows 95 und MacOS finden Sie schließlich eine Fülle von Linux/Unix-Versionen. Diese sind im einzelnen:

  • alpha.tar
  • hp9k700.tar
  • iris.tar
  • linux.tar
  • linuxppc.tar
  • bsd.tar
  • rs6000.tar
  • odt.tar
  • solintel.tar
  • solsparc.tar Für die meisten Leser dürfte "linux.tar" die richtige Wahl sein. Laden Sie zusätzlich das Installationsskript "install.sh" herunter. Jetzt fehlt Ihnen nur noch die Datei "stacks.tgz", die für alle Linux/Unix-Varianten gleich ist. Die Installation besteht aus einem einzigen Schritt:

Führen Sie das Script "install.sh" aus. (Beispiel: sh install.sh)

Sollte der Installationsvorgang unerwartet doch zu Fehlern führen, dann kommentieren Sie bitte die betreffende Zeile im Installationsskript aus, indem Sie die Datei "install.sh" in einem beliebigen Texteditor öffnen, die Zeile, in der der Fehler aufgetreten ist durch Voransetzen eines "#"-Zeichens auskommentieren und die Änderungen vor dem Verlassen abspeichern.

Metacard - Das ProgrammGrundlegende BedienungHaben Sie erst einmal die Hürden der Installation gemeistert, reicht ein Ausführen des Programms "mc". Öffnen Sie hierzu ein einfaches X-Terminal und geben Sie im Programmverzeichnis

HomePC:~/mc# ./mc

ein. Nach einigen Sekunden verschwindet das Metacard-Begrüßungsfenster und ein anderes Fenster mit vier Auswahlmöglichkeiten erscheint. Aus Abbildung 1 können Sie die vier Auswahloptionen entnehmen.

Bevor wir auf die Optionen näher eingehen, hier ein kurzer Überblick:

  • Demo bietet ein multimediales Tutorial, welches Ihnen die Bedienung und Möglichkeiten aufzeigt.
  • Unter Help findet sich eine umfangreiche Online-Hilfe, die Ihnen sowohl Programmbeispiele als auch eine Referenz der Schlüsselwörter bietet.
  • Der Button "Message Box" öffnet ein Meldefenster, das zum Debuggen (d.h. Fehlerbereinigen) von Programmen benutzt werden kann. Sie können in dieses Meldefenster auch direkt einzelne Metacard-Befehle eingeben, die sofort zur Ausführung gebracht werden sollen (mehr hierzu weiter unten).
  • Mit "Menu Bar" gelangen Sie schließlich in das Hauptprogramm, das am Anfang lediglich aus einer Menüleiste besteht. Da wir auf die Beschreibung der Hilfe-Funktionen an dieser Stelle nicht näher eingehen wollen, starten Sie bitte zunächst einmal das Hauptprogramm mit diesem Button. Die Menüleiste besteht aus vier Menüpunkten:
  • File
  • Edit
  • Tools
  • Text Wir werden gleich auf die wichtigsten Funktionen aus der Menü- und Symbolleiste eingehen, doch legen Sie zunächst einen neuen Stapel - so werden unter Metacard Programme bezeichnet - mit dem Menü "File->New Stack" an.

Der Begriff "Stapel" unter Metacard bedarf einer kurzen Erklärung: Metacard- Programme sind aus Karten aufgebaut. Eine Karte ist dabei eine Oberfläche, auf der grafische Elemente wie Buttons oder Textfelder platziert werden können. Diesen Elementen kann anschließend Programmcode zugewiesen werden. Während des Programmablaufs kann dann zwischen den Karten umgeschaltet werden. Der Begriff "Stapel" beschreibt also nichts anderes als eine beliebige Anzahl von Karten, die zu einem Programm zusammengefasst sind.

Um zu unserem neuen Stapel zurückzukehren, schauen Sie sich nun die Optionen an, die für einen neuen Stapel angegeben werden können. Das Dialogfeld "Stack Properties" bietet viele Möglichkeiten zur Anpassung. Unter der Registerkarte "Name" können Sie globale Einstellungen wie Name, Fenstertitel sowie Größe der Stapelkarten angeben. Die Registerkarte "Properties" bietet weitere Anpassungen von der verwendeten Schrift, über das richtige Icon, bis hin zu den Stapelfarben. Eine besondere Bedeutung hat der Button "Script", der Ihnen bei allen grafischen Elementen von Metacard begegnen wird. Sie bekommen mit diesem Button die Möglichkeit, Programmcode zu dem aktuellen Element einzugeben. Im hier geschilderten Fall würden Sie also Programmcode für den gesamten Stack eingeben. Dies ist z.B. dann notwendig, wenn Funktionen erstellt werden sollen, auf die von jeder Karte und jedem Metacard-Objekt zugegriffen weden kann.

Wie Sie vielleicht schon bemerkt haben, befindet sich im Hintergrund bereits ein leeres Fenster, das den Stapelnamen trägt. Dies ist die erste Karte des Stapels, die immer automatisch beim Erstellen eines neuen Stapels angelegt wird. Die Veränderungen, die Sie in dem Dialog "Stack Properties" vornehmen, werden direkt umgesetzt. Auf diese Weise können Sie das Ergebnis von einer Einstellung sofort beurteilen.

Haben Sie den Stapel soweit angepasst, schließen Sie den Dialog "Stack Properties". Um Veränderungen an den Stapeleigenschaften im Nachhinein vorzunehmen, öffnen Sie den entsprechenden Dialog unter dem Menü "Edit->Stack Properties…". Metacard-ObjekteMetacard baut hauptsächlich auf grafischen Grundelementen auf. Bei anderen Programmiersprachen ist dies oft umgekehrt der Fall. Dort baut nämlich meist das grafische Toolkit auf der eigentlichen Sprache auf. Ein Beispiel hierfür ist C++ und das darauf aufbauende, weit verbreitete Toolkit Qt (KDE). Im Grunde genommen kann man Metacard also als eine objektorientierte Entwicklungsumgebung begreifen. Allerdings weniger in dem Sinne von objektorientierten Programmiersprachen wie C++, denn mit Vererbung, Klassen, Bindungen und Methoden müssen Sie sich bei Metacard zum Glück nicht näher auseinandersetzen. Zunächst eine Auflistung aller grafischen Grundelemente von Metacard:

  • Textfelder
  • Schaltflächen
  • Scrollleisten
  • sowie Zeichentools und Imagetools Alle Elemente lassen sich direkt auf dem (noch leeren) Programmfenster platzieren. Klicken Sie hierzu das gewünschte Element in der Symbolleiste an, und ziehen Sie es in dem Programmfenster auf die Größe, die Sie benötigen. Ihr Fenster könnte dann etwa wie in Abbildung 2 aussehen.

Wenn Sie nun einen Button drücken oder Text in ein Textfeld eingeben möchten, müssen Sie das Hand-Symbol aus der Symbolleiste wählen. Metacard befindet sich jetzt im Ausführungsmodus. Um zurück in den Bearbeitungsmodus zu wechseln, genügt ein Klick auf das Pfeil-Symbol.

Nachdem Sie das Aussehen der verschiedenen Objekte kennengelernt haben, werden wir jetzt die Objekteigenschaften näher betrachten. Zu jedem Element öffnet sich durch einen Doppelklick (im Bearbeitungsmodus) auf das entsprechende Objekt ein Dialog mit dem Namen "Properties". Hier können objektspezifische Angaben, wie etwa Aussehen oder Verhalten, gemacht werden.

Wir beginnen mit den Eigenschaften des Buttons und öffnen hierzu den entsprechenden Dialog. Der Dialog "Button Properties" bietet 5 Register. Auf dem ersten Register "Name" legen Sie den Objektnamen (Name), den Platz in der Objektreihenfolge (Layer) und - falls die Beschriftung vom Objektnamen abweicht - den Beschriftungstext (Label) fest.

Das zweite Register "Appearance" legt das Aussehen des Buttons fest. Die meisten Optionen sollten bereits durch ihren Namen selbsterklärend sein, ansonsten können Sie durch Ausprobieren leicht die Wirkung einzelner Optionen testen.

Das dritte Feld "Behavior" legt das Verhalten des Objekts fest. Wichtig sind hierbei der Button "Script" und das Feld "Tooltip". Mit "Script" gelangen Sie in den Programmtexteditor und haben die Möglichkeit, mit dem Schreiben eines Programms zu beginnen. Das Textfeld "Tooltip" nimmt Text auf, der angezeigt werden soll, wenn sich die Maus im ausgeführten Programm längere Zeit über dem hier definierten Objekt befindet.

Schließlich finden Sie noch die Register "Accelerators" und "Extras". Unter dem Dialog "Accelerators" haben Sie die Möglichkeit, eine Zugriffstastenkombination für den Button zu definieren. Unter dem Punkt "Extras" ist es möglich, die Randstärke sowie Icons für den Button festzulegen.

Ähnlich wie der Eigenschaftsdialog von Schaltflächen sieht auch der entsprechende Dialog zu Textfeldern aus. Sie finden wiederum folgende Registerdialoge:

  • Name
  • Appearance
  • Behavior
  • Extras Die Funktionsweise entspricht weitgehend den Dialogen, die bereits vom Button bekannt sind.

Natürlich finden sich auch zu Bildelementen, Scrollelementen oder einfachen Zeichnungselementen entsprechende Dialoge, die durch einen Doppelklick auf das Element aufgerufen werden können. Hilfe!Metacard bietet Ihnen eine umfassende Online-Hilfe, sowohl zur Benutzung des Programms, als auch zur Programmiersprache. Weiterhin finden Sie eine Vielzahl von Beispielen, die die konkrete Anwendung von bestimmten Schlüsselwörtern vereinfachen. Um einen Überblick über alle Hilfefunktionen zu erhalten, klicken Sie auf den Help-Button im Dialogfenster, das sich kurz nach dem Start geöffnet hat. (Abbildung 1) Der Dialog, der in Abbildung 3 dargestellt ist, sollte jetzt erscheinen.

Unter den acht Auswahlmöglichkeiten sind folgende von besonderer Bedeutung:

  • MetaCard Tutorials
  • MetaTalk Reference
  • MetaTalk Examples
  • Index Das MetaCard Tutorial bietet Ihnen verschiedene Rundgänge an, bei denen alle vorgestellten Techniken mit Beispielen verdeutlicht werden. Zu finden sind hier u.a. Rundgänge zum Erstellen von Programmen und Presentationen. Darüber hinaus werden auch Beispiele angeboten, die Ihnen verdeutlichen sollen, wie Sie Kommandozeilenprogramme von Metacard aus aufrufen oder C++-Befehle in Ihrem Metatalk-Script benutzen können.

MetaTalk Reference bietet eine umfassende Referenz zu den gesamten Schlüsselwörtern von Metatalk - der Programmiersprache von Metacard.

Unter MetaTalk Examples finden Sie Beispiele, die Ihnen den Umgang mit den wichtigsten Befehlen verdeutlichen.

Der Index bietet noch einmal eine alphabetische Auflistung aller Befehle und Themen rund um Metacard.

Die Wörter, die in der Online-Hilfe fett gedruckt sind, stellen Verweise auf andere Textstellen dar. Diese Wörter funktionieren genau wie Links: ein Klick auf das entsprechende Wort springt zu der Stelle, auf die der Verweis zeigt.

So viel zum Einstieg, nächstes mal geht es um die Programmiersprache – kein trockenes Thema, sie wird anhand von Beispielen erklärt. Der dritte und letzte Teil ist dann nocheinmal mit Beispielprogrammen garniert und beschäftigt sich mit Prozeduren und Funktionen.

Infos

[1] Die Metacard-Hompage: http://www.metacard.com

Der Autor

Sebastian Eschweiler ist Schüler und besucht derzeit die Klasse 10 eines Gymnasiums. In seiner Freizeit beschäftigt er sich mit Themen rund um Linux und der KDE-Programmierung. Zu erreichen ist er unter sebastian.eschweiler@t-online.de.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Metacard - Programmieren ganz einfach, Teil 2
    Nachdem wir uns in der letzten Ausgabe mit der Installation von Metacard und der Bedienung der Oberfläche beschäftigt haben, geht es jetzt um die Programmierung in Metacard.
  • Metacard - Programmieren ganz einfach, Teil 3
    In den vergangenen Folgen haben wir Ihnen gezeigt, wie Sie Metacard bedienen und erste kleine Programme schreiben. Im dritten und letzten Teil beschäftigen wir uns mit Funktionen und Prozeduren – der krönende Abschluss wird eine komplette Adressverwaltung sein, den Sie mit den in dieser Serie gezeigten Mitteln selbst schreiben können.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...