Metacard - Programmieren ganz einfach, Teil 2

Gemischte Karten

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.

Metatalk - Die Programmiersprache

Wenn Sie sich erst einmal mit der Bedienung und der Benutzeroberfläche von Metacard vertraut gemacht haben, dann wird Ihnen das Erlernen der sehr einfachen Metatalk-Sprache keine Probleme mehr bereiten. Verfügen Sie zudem noch über grundlegende Kenntnisse in Englisch, dann haben Sie eigentlich schon alles, was Sie für die Programmierung in Metacard benötigen. Die Befehle orientieren sich nämlich sehr stark an der englischen Sprache. Auf diese Weise ist es möglich, selbst unbekannten Programmcode schnell zu lesen und zu verstehen. Glauben Sie mir nicht? Lesen Sie folgende Zeile und versuchen Sie die Bedeutung zu erraten.

put "Hallo wie geht's" into card field "text"

Richtig! Hier wird der Text "Hallo wie geht's" in ein Textfeld mit der Bezeichnung "text" geschrieben. Damit sind wir auch schon beim ersten Metatalk-Befehl: 'put' ist einer der am häufigsten benutzten Befehle in Metatalk. Sie können mit diesem Befehl Variablen füllen (oder leeren), Textfelder ausfüllen oder allgemeine Ausgaben vornehmen. Der put-Befehl setzt sich im wesentlichen aus zwei kombinierten Wörtern zusammmen. Der Syntax lautet: put … into (after) … Die Punkte sind Platzhalter für Parameter. Dem Ausdruck 'put' folgt zunächst ein Parameter, der die Daten beschreibt, die dem zweiten Parameter, der nach 'into' oder 'after' steht, zugewiesen werden sollen. Der Unterschied zwischen 'into' und 'after' besteht darin, das bei 'after' der alte Variablen- bzw. Textfeldinhalt erhalten bleibt, und die neuen Daten nur angehängt werden. Der Ausdruck, der als erster Parameter übergeben wird, kann nicht nur aus einem Textstring bestehen. Die folgenden Beispiele verdeutlichen die verschiedenen Anwendungsgebiete des 'put'-Befehls:

put empty into card field "text"
 put 3+4 into line 2 of card field "text"
 put return & 2 after Var1
 put 3

Um die Beispiele zu testen, steht Ihnen die Message Box zur Verfügung. Die Box kann direkt aus dem Startfenster von Metacard mit dem Button "Message Box" (s. Abbildung 1) aufgerufen werden. Geben Sie einfach die Beispiele in die Box ein und betätigen Sie die Enter-Taste. Die Befehle sollten jetzt wie erwartet funktionieren. Beachten Sie, dass die Textfelder mit den entsprechenden Namen vorher erstellt werden müssen. Ist kein Ziel angegeben, erfolgt die Ausgabe ebenfalls in der Message Box (letztes Beispiel).

Abbildung 1: Startbildschirm von Metacard: Über "Message Box können Sie die Beispiele ausprobieren

Natürlich wollen wir uns nicht auf die Eingabe von einzelnen Befehlen beschränken. Diese Vorgehensweise wäre sehr langsam, unübersichtlich und außerdem müssten bei jedem Programmablauf alle Befehle erneut eingegeben werden. Damit das Programm selbständig Befehle oder Befehlsfolgen aufrufen kann, muss es wissen, wann bestimmte Befehle ausgeführt werden sollen. Damit wären wir beim nächsten Punkt: den Nachrichten. Ausführen auf BefehlNachrichten einer Programmiersprache sind Ereignisse, die auftreten, wenn etwas Bestimmtes passiert. Wenn zum Beispiel eine Schaltfläche mit der Maus betätigt wird, generiert Metacard zunächst die Nachricht 'mouseDown' und danach die Nachricht 'mouseUp' (Die Maustaste wird gedrückt und anschließend wieder losgelassen). Wie Sie bestimmt schon vermuten, wird beim Drücken einer Taste auf der Tastatur ebenfalls eine Nachricht gesendet. Neben diesen naheliegenden Ereignissen kennt Metacard noch eine Fülle von weiteren Ereignissen, auf die das Programm mit einer Nachricht reagiert. Tabelle 1 listet die wichtigsten Nachrichten auf. Eine komplette Übersicht finden Sie in der Online-Referenz unter dem Punkt 'Messages'.

Tabelle 1 : Ereignisse mit den zugehörigen Metacard-Nachrichten

closeStack Diese Nachricht wird generiert, wenn der Stapel geschlossen wird. Hiermit haben Sie die Möglichkeit, vor dem Schließen noch Daten zu sortieren oder zu speichern.
closeCard Wie closeStack, jedoch auf einzelne Stapelkarten bezogen.
escapeKey Die Nachricht wird gesendet, wenn die ESC-Taste gedrückt wurde.
idle Diese Nachricht wird immer dann gesendet, wenn der aktuelle Stapel keine Aufgaben mehr zu erledigen hat. Diese Nachricht kann benutzt werden, um freie Rechenzeit zu nutzen.
keyDown Wird gesendet, wenn eine Taste gedrückt wird.
keyUp Wird gesendet, wenn eine Taste losgelassen wird.
mouseDown Die linke Maustaste ist gedrückt.
mouseUp Die linke Maustaste wurde nach einem Druck wieder losgelassen.
openCard Diese Nachricht wird von Metacard generiert, wenn eine Karte geöffnet wird.
openStack Nachricht wird gesendet, wenn ein Stapel geöffnet wird.
returnKey Die RETURN-Taste ist gedrückt worden.

Jetzt kennen Sie vielleicht einige wichtige Nachrichten, wissen aber noch nicht, wie Sie Programmcode mit einer Nachricht verbinden können. Wollen Sie etwa auf die Nachricht 'mouseUp' eines Buttons mit einer Textnachricht im Meldefenster reagieren, müssen Sie zunächst das Programm, das zum Button gehört, im Metatalk-Editor öffnen. Lassen Sie sich den Eigenschaftsdialog durch einen Doppelklick auf den Button anzeigen. Wechseln Sie nun auf das Registerblatt "Behavior" und klicken Sie dort auf den Button "Script". Um auf die Nachricht 'mouseUp" zu reagieren, geben Sie folgendes ein:

On mouseUp
 … (Befehle)
 End mouseUp

Alle Befehle, die zwischen der Zeile "On mouseUp" und der Zeile "End mouseUp" eingegeben werden, gelangen beim Loslassen der linken Maustaste zur Ausführung. Da Sie sich momentan im Buttonprogramm befinden, gilt dies natürlich nur dann, wenn sich die Maus während des Klicks auch auf dem Button befindet. Möchten Sie generell auf alle Mausklicks reagieren, egal wo sich die Maus befindet, geben Sie die entsprechende Nachricht mit den Befehlen einfach in das Kartenprogramm ein. (Menü "Edit->Card Properties" - Register: "Properties" - Button "Script")

Um zu unserem Beispiel zurückzukehren, wechseln Sie wieder in das Tastenprogramm und geben Sie den Programmcode aus Listing 1 ein. Beim Klick auf den Button sollte im geöffneten Meldungsfenster der Text "Hallo Welt" erscheinen.

Listing 1

– Diese Zeile ist ein Kommentar und wird vom Programm nicht beachtet
 – Geben Sie das folgende Programm in ein Tastenskript ein
 On mouseUp
        put "Hallo Welt"
 End mouseUp

Operatoren und BefehleSie wissen jetzt also schon, wie Sie auf Nachrichten reagieren und das dazugehörige Programm schreiben. Doch auf Dauer werden Sie mit dem Befehl 'put' keine weltbewegenden Programme erstellen können. Was Sie brauchen, sind mehr Befehle und Operatoren!Wie jede Programmiersprache unterstützt Metatalk eine Reihe von Operatoren, die ich Ihnen in Tabelle 2 kurz vorstelle.

Tabelle 2 : Operatoren in Metatalk

() Der Ausdruck, der in einer Klammer enthalten ist, wird grundsätzlich zuerst ausgewertet. Beispiel: put (2 + sqrt(2)) * 1.5 into card field "Ergebnis"
+ ; - ; * ; / Die vier Standardoperatoren für die vier Grundrechenarten.
^ x^y (x hoch y) Berechnet die y-te Potenz von x.
= ; is Der Gleichheitsoperator vergleicht zwei Ausdrücke miteinander. Anstelle des Zeichens '=' kann auch das Wort 'is' verwendet werden.
<> ; is not Bedeutung: ist nicht gleich. Vergleicht, ob zwei Ausdrücke unterschiedliche Werte haben.
< Das 'kleiner als'-Zeichen.
> Das 'größer als'-Zeichen
& ; && Der Verkettungsoperator verbindet zwei Teilstrings miteinander. '&&' fügt zusätzlich noch ein Leerzeichen ein.
Alles was hinter '--' steht, wird nicht als Programmcode ausgewertet und dient ausschließlich als Kommentar.
and Die Und-Verknüpfung zweier logischer Ausdrücke.
contains Prüft ob ein String in einem anderen enthalten ist.
div Der 'Div'-Operator dient zur Ganzzahldivision. Der Rest, der bei einer Division möglicherweise entsteht, fällt weg.
is in Ähnlich dem 'contains'-Befehl. Vergleicht ebenfalls, ob ein String in einem anderen enthalten ist.
is not in Umkehrung von 'is in'
is a ; is an Dient zur Überprüfung eines Objektes. Mögliche Objekttypen sind:
  * number
  * integer
  * point
  * rect
  * date
  * logical
is not a; is not an Umkehrung zu 'is a' und 'is an'.
is within Überprüft, ob ein Punkt, der durch eine X-Y-Koordinate definiert ist, in einem angegebenen Rechteck liegt. Beispiel: if "17, 4" is within "1,1,10,20" then …
is not within Umkehrung zu 'is within'.
mod Der Modulo-Operator gibt den Rest einer Division zurück. Beispiel: put 17 mod 4 – Ergibt 1
not Dient zur Umkehrung eines logischen Ausdrucks.
or Der logische ODER-Operator.
there is a ; there is an Überprüft das Vorhandensein eines Objektes. (Schaltflächen, Textfelder usw.)
there is not a ; there is not an Überprüft das Nichtvorhandensein eines Objektes.

Ausgerüstet mit einer Vielzahl an Operatoren können wir jetzt zu weiteren Befehlen übergehen. Die wichtigsten Befehle bzw. Schlüsselwörter werde ich im Folgenden erklären. Eine Zusammenfassung der Erklärungen und weitere weniger bedeutende Befehle, finden Sie am Schluss dieses Abschnitts in Tabelle 3 aufgelistet.

Um die Überleitung von den Operatoren zu den Metatalk-Befehlen zu finden, beginnen wir mit folgenden vier Schlüsselwörtern: add, subtract, multiply, divide. Anstelle der Operatoren für die vier Grundrechenarten (+;-;*;/) können diese Befehle verwendet werden. Nehmen wir an, dass zwei Variablen mit den Namen var1 und var2 existieren. Folgendes Beispiel verdeutlicht die Anwendung der Befehle auf die Variablen.

add var1 to var2
 subtract var1 from var2        – var2 - var1
 multiply var1 by var2
 divide var1 by var2    – var1 / var2

Die eingefügten Kommentare sollten die Reihenfolge der Parameter verdeutlichen. Sie haben sicherlich schon bemerkt, dass keines der vier Schlüsselwörter alleine steht. Außer den zwei Variablen als Parameter findet sich noch ein weiteres Wort, das jeweils zwischen den beiden Werten erscheint. Bei den beiden Befehlen 'multiply' und 'divide' ist dies die Ergänzung 'by', bei subtract 'from' und bei dem Befehl 'add' wird ein 'to' eingefügt.

Der nächste Befehl, den Sie sich merken sollten, ist 'ask'. Mit ihm werden Benutzereingaben in einer zusätzlichen Dialogbox abgefragt. 'ask' erwartet nur einen einzigen Parameter in Form eines Textstrings in Anführungszeichen, der den Text enthält, der bei der Benutzereingabe als Frage erscheinen soll. Der vom Benutzer eingegebene Wert wird nach dem Schließen der Dialogbox in der Metacard-eigenen Variablen 'it' abgespeichert. Mit Hilfe des 'put'-Befehls können Sie den Rückgabewert auf einfache Weise in eine 'normale' Variablen sichern:

ask "Bitte geben Sie einen Wert an:"
 put it into wert1

Ist es Ihnen nun gelungen, vom Benutzer eine Eingabe entgegenzunehmen, muss natürlich etwas damit geschehen. Nur als ein Beispiel wollen wir hier den Befehl 'drag' kennenlernen, mit dem Sie die Möglichkeit haben, eine Mausbewegung mit gedrückter linker Maustaste zu erzeugen. Ohne dass die Maus sich physikalisch bewegt, werden Nachrichten wie 'Mouse Down', 'Mouse Move' und 'Mouse Up' vom Programm erzeugt. In Listing 2 sehen Sie, wie wir eine Verbindung zwischen den beiden Befehlen 'ask' und 'drag' hergestellt haben.

Listing 2

– Diese Zeile ist ein Kommentar und wird vom Programm nicht beachtet
 – Geben Sie das folgende Programm in ein Tastenskript ein
 On mouseUp
        ask "Zeichnen von: (Angabe bitte in folgendem Format: x,y)"
        put it into ko1
        ask "Nach:"
        put it into ko2
        choose pen tool
        drag from ko1 to ko2
        choose browse tool
 End mouseUp

Es werden zwei Koordinatenpaare vom Benutzer erfragt, die in der Form 'x,y' eingegeben werden müssen. Anschließend werden die erfragten Zahlenpaare in den Variablen 'ko1' und 'ko2' gesichert und dem Befehl 'drag' per Parameter übergeben.

Der einzige Befehl, der Ihnen noch unbekannt sein dürfte, ist vermutlich 'choose'. Wie Sie bereits wissen, gibt es unter Metacard mehrere Werkzeuge, mit denen Sie arbeiten können. Welches Werkzeug gerade aktiv ist, erkennen Sie an dem Cursor der Maus. Da wir in dem Programm aus Listing 2 automatisch eine Gerade zeichnen lassen, müssen wir folglich auch innerhalb des Programms dafür sorgen, dass das richtige Werkzeug ausgewählt ist. Zunächst wird also das Malwerkzeug ausgewählt (pen tool) und am Schluss wieder auf das Ausführungswerkzeug zurückgewechselt (browse tool).

Kommen wir nun zu den Befehlen, die für das Lesen und Schreiben in Dateien notwendig sind. Haben Sie bereits Erfahrung mit anderen Programmiersprachen, dann werden Sie erstaunt sein, wie einfach Metacard den Umgang mit Dateien gestaltet.

Zunächst müssen Sie natürlich wissen, in welcher Datei überhaupt Daten gespeichert werden sollen bzw. aus welcher Datei Daten gelesen werden sollen. Für diese Aufgabe steht Ihnen der Befehl 'ask file "Textstring"' zur Verfügung. Bei der Verwendung dieses Befehls erscheint ein kompletter Dateiauswahldialog, mit dem Sie komfortabel durch den Verzeichnisbaum navigieren können - ganz so wie Sie es von professionellen Programmen gewohnt sind. Der Dateiname, der vom Benutzer angegeben wird und durch einen Klick auf den Button 'Open' zurückgegeben wird, befindet sich wie immer in der Variablen "it".

Kennen Sie nun den Dateinamen, dann können Sie mit einem einfachen

open file "Dateiname"

die betreffende Datei zum Lesen und Schreiben öffnen. Beachten Sie bitte, dass hinter 'open' noch die Ergänzung 'file' stehen muss, da der Befehl auch mit anderen Ergänzungen verwendet werden kann. Ist die Datei geöffnet, werden wir erst einmal den Inhalt auslesen und in einem Textfeld ("card field" kann übrigens mit "cd fld" abgekürzt werden) anzeigen. Das Auslesen geschieht mit dem einfachen Befehl:

read from file "Dateiname" until EOF – EOF = End Of File (Ende der Datei)

Der Inhalt ist - wie Sie bestimmt schon ahnen - in der Variabeln 'it'.

Haben wir nun den Inhalt einer Datei gelesen, wollen Sie bestimmt auch wissen, wie Sie selbst in eine Datei schreiben. Nehmen wir wieder an, die Daten, die geschrieben werden sollen, befinden sich in einem Textfeld mit dem Namen "Data". Der Befehl:

write cd fld "data" to file "Dateiname"

sorgt für die Übertragung der Daten in die Datei. Vergessen Sie nicht, die geöffnete Datei nach allen Schreib- und Leseoperationen zu schließen:

close file "Dateiname"

Sie sehen also: Das Lesen und Schreiben in und aus Dateien ist mit Metatalk kein Problem und ohne großen Programmieraufwand zu erledigen.

Ein weiterer - sehr vielseitiger - Befehl ist 'set'. Mit 'set' setzen Sie die Eigenschaften eines Objektes. Wollen Sie beispielsweise die Position eines Buttons verändern, können Sie dies auch über den 'set'-Befehl erledigen:

set the loc of button "taste1" to 120,12

Wie Sie sich sicherlich vorstellen können, gibt es eine Vielzahl von Eigenschaften, die mit dem 'set'-Befehl gesetzt werden können. Hier noch einige Beispiele:

set the cursor to watch                         – zeigt als Mauscursor eine Uhr an.
 set the visible of button "taste" to true      – macht den Button "taste" sichtbar.
 set the moveSpeed to 10                                – ändert die Mausgeschwindigkeit.

Weiter Befehle entnehmen Sie bitte aus der Kurzbeschreibung in Tabelle 3 oder aus der Online-Dokumentation zu Metacard. KontrollstrukturenSchlüsselwörter, die zu den Kontrollstrukturen gehören, nehmen Einfluss auf den Programmablauf. Mit diesen Befehlen kann z.B. die Ausführung von Programmcode von einer Bedingung abhängig gemacht werden, oder Programmcode solange wiederholt werden, bis eine Bedingung wahr wird.Der wichtigste Befehl unter den Kontrollstrukturen, dürfte 'if … then … else … end if' sein. Wie Sie anhand der Platzhalter sehen, spaltet sich der Befehl in mehrere Teile. Zwischen 'if' und 'then' wird zunächst eine Bedingung angegeben, von der abhängig sein soll, ob der Programmcode hinter 'then' ausgeführt werden soll. Ist die Bedingung nicht erfüllt, gelangt der Programmcode hinter 'else' zur Ausführung. Der 'else'-Zweig kann, je nach Bedarf, auch ganz weggelassen werden. In diesem Fall würde kein Programmcode innerhalb der Kontrollstruktur zur Ausführung gelangen, solange die Bedingung nicht erfüllt ist. Um die Theorie in die Praxis umzusetzen, sehen Sie sich bitte folgendes Beispiel an:

if a < 10 then
        put "Die Variable a ist kleiner als 10"
 else
        put "Die Variable a ist größer oder gleich 10"
 end if

Falls die Variable 'a' kleiner als 10 ist, wird der Text "Die Variable a ist kleiner als 10" ausgegeben. In jedem anderen Fall wird der Text "Die Variable a ist größer oder gleich 10" ausgegeben. Zwischen den Kontrollstrukturteilen können natürlich auch mehrere Befehle angegeben werden. Um dem Programm zu signalisieren, dass die Kontrollstruktur 'if' beendet ist und dass der nachfolgende Code unabhängig von allen Bedingungen ausgeführt werden soll, muss am Ende ein 'end if' angegeben werden. Die Bedingungen hinter 'if' können durch die logischen Operatoren (and, or, usw.) verbunden werden.

Neben der Kontrollstruktur zum bedingten Ausführen von Programmcode gibt es in jeder Programmiersprache die Möglichkeit, Schleifen einzusetzen, und auf diese Weise Programmcode mehrere Male hintereinander auszuführen. Wie oft diese Wiederholung durchgeführt werden soll, können Sie auf verschiedene Arten festlegen. Metatalk realisiert alle Arten von Schleifen mit dem Schlüsselwort 'repeat' (Englisch: wiederholen). Nachfolgend sehen Sie eine Auflistung aller möglichen Schleifen in Metatalk:

  • repeat [forever]
  • repeat [for] 10 [times]
  • repeat until a = 10
  • repeat while a < 10
  • repeat with i=0 to 10
  • repeat with i=10 down 0 Sie sehen, dass Sie entweder eine feste Zahl von Durchläufen vorgeben können (repeat 10) oder eine Endlosschleife mit einem einfachen 'repeat' erzeugen können. Bei Verwendung einer Endlosschleife muss auf jeden Fall darauf geachtet werden, dass durch den Befehl 'exit repeat' manuell ein Abbruch der Schleife durchgeführt wird. 'repeat' bietet weiterhin die Möglichkeit, die Anzahl der Wiederholungen durch eine Bedingung festzulegen. Dabei gibt es zwei Arten von Bedingungsangaben: 'repeat until' und 'repeat while'. 'repeat until' bedeutet: Führe den Programmcode in der Schleife solange aus, bis die Bedingung eintritt, also wahr geworden ist. 'repeat while' bedeutet hingegen: Führe den Programmcode aus, solange die Bedingung wahr ist. Die letzte Möglichkeit, die der Befehl 'repeat' bietet, ist das Ausführen mit einer Zählervariablen. Hierzu verwendet man die Ergänzung 'with' und gibt dahinter den Variablennamen mit dem entsprechenden Startwert an. Folgt anschließend ein 'to', bedeutet dies, dass die Variable bei dem Durchlauf um einen Zähler erhöht wird, bis der Endwert, der als letzter Parameter angegeben wird, erreicht ist. Wird anstelle von 'to' das Wort 'down' angegeben, wird die Variable bei jedem Schleifendurchgang um einen Zähler herabgesetzt. Jede 'repeat'-Schleife muss mit dem Befehl 'end repeat' abgeschlossen werden.

Im vorerst letzten Teil unserer kleinen Metacard-Serie geht es dann um Funktionen und Prozeduren, und zum Finale zeigen wir als Beispiel eine hausgemachte Adressenverwaltung.

Tabelle 3 : Metatalk-Befehle (Auszug)

add Der 'add'-Befehl ist äquivalent zum Operator '+'. Mit diesem Befehl werden zwei Zahlen bzw. Variablen addiert. Beispiel: add zahl1 to zahl2.
answer Der 'answer'-Befehl öffnet einen modalen Dialog, der dem Benutzer eine Auswahlmöglichkeit gibt. 'answer' kann zusammen mit 'file' verwendet werden, um einen Dateiauswahldialog anzuzeigen.
ask 'ask' stellt ebenfalls einen modalen Dialog dar, der dem Benutzer die Eingabe in ein Textfeld erlaubt.
beep Der 'beep'-Befehl gibt einen Ton über den PC-Speaker aus. Der Parameter, der hinter 'beep' in Form einer Integerzahl angegegeben werden muss, gibt die Anzahl der Töne an, die ausgegeben werden sollen.
call Mit dem 'Call' Kommando können Funktionen in anderen Objektskripten aufgerufen werden. Zum Beispiel soll eine Funktion tu_was() in dem Script von Button1 aus dem Script des Buttons2 aufgerufen werden: call "tu_was()" of button "button1"
choose 'choose' wählt das aktuelle Arbeitswerkzeug aus. Zur Verfügung stehen folgende Werkzeuge:
  * pointer
  * browse
  * button
  * field
  * scrollbar
  * image
  * graphic
  * player
close 'close' kann einen Stack schließen, der als erster Parameter hinter dem Befehl angegeben ist. In Verbindung mit der Ergänzung 'file' schließt er die Eingabe von Dateien ab.
compact 'compact' erwartet als einzigen Parameter einen Stacknamen. Der Stack wird von allen überflüssigen Leerzeilen befreit.
create Mit dem 'create'-Befehl können Objekte erstellt werden. Beispiel: create button "Taste"
disable/enable Mit diesen Befehlen lassen sich Objekte aktivieren und deaktivieren. Objekte, die deaktiviert sind, können vom Benutzer nicht mehr benutzt werden und liefern keine Ereignisnachrichten.
divide Der 'divide'-Befehl kann anstelle des Operators '/' eingesetzt werden. Der Syntax lautet: divide … by …
do Nach 'do' kann ein beliebiger gültiger Ausdruck folgen, der aufgelöst werden soll.
doMenu 'doMenu' ist ein Befehl, der von Apple's HyperCard übernommen wurde. Alle Menübefehle, die unter HyperCard zur Verfügung standen, können auch mit diesem Befehl verwendet werden.
drag Das 'drag'-Kommando erlaubt das programmgesteuerte Bewegen der Maus. Die Mauspositionen werden als Koordinatenpaare angegeben.
edit Mit dem 'edit'-Befehl kann ein beliebiges Script-Programm aufgerufen werden. Beispiel: edit the script of cd fld "text1"
get 'get' löst einen Ausdruck auf und liefert den Rückgabewert an die Systemvariable 'it'.
go Das 'go'-Kommando öffnet eine Karte in einem Stack. Beispiel: go to card 5
modal Öffnet einen Stack in einem modalen Dialog. Als Parameter wird der Stackname erwartet.
multiply Der 'multiply'-Befehl ist das Gegenstück zu dem Operator '*'. Der Syntax lautet multiply … by … .
open 'open' dient zum Öffnen von Dateien oder Prozessen. Je nach Anwendungsart muss dem Schlüsselwort 'open' die Ergänzung 'file' oder 'process' mit auf den Weg gegeben werden.
read Liest von einer Datei bzw. einem Prozess, der als Parameter angegeben wird. Die Anzahl der Zeichen, die ausgelesen werden sollen, kann auf zwei Arten angegeben werden:
  * read from file(process) "name" until … (z.B.:EOF)
  * read from file(process) "name" for … (Anzahl der Zeichen, die gelesen werden sollen)
save 'save' sichert den angegebenen Stack. Wollen Sie z.B. bei jedem Programmende dafür sorgen, dass der aktuelle Stack gesichert wird, schreiben Sie folgenden Programmtext in das Stackskript:
  On closeStack
  save this stack
  End CloseStack
set Das 'set'-Kommando ist sehr universell und setzt eine Eigenschaft eines Objektes auf den hinter 'to' angegebenen Wert. Beispiel:
  * set the loc of button 1 to 120,56
  * set the visible of button "taste" to false
  * set the moveSpeed to 10
show/hide Der 'show' bzw 'hide'-Befehl macht nichts anderes als die Eigenschaft 'visible' eines Objektes auf 'true' bzw. 'false' zu setzen.
subtract 'subtract' ist der Befehl zum Subtrahieren zweier Zahlen. Der Syntax lautet: subtract … from … .
wait 'wait' zwingt Metacard, auf ein bestimmtes Ereignis bzw. eine bestimmte Zeitperiode zu warten. Das Programm befindet sich während dieser Zeit im Leerlauf. Beispiele:wait 10wait until the mouse is down
write Der 'write'-Befehl schreibt in eine geöffnete Datei bzw. in einen geöffneten Prozess.

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
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • 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.
  • Metacard - Programmieren ganz einfach, Teil 1
    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.
Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

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

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...