optionale Parameter sind in [ ] eingeschlossen, Wiederholungen werden mit ... angezeigt

Mathematische Funktionen
Sin

(n)

Sinus des numerischen Wertes n in Bogenmaß

Funktionsergebnis vom Datentyp DOUBLE
Cos

(n)

Cosinus des numerischen Wertes n in Bogenmaß

Funktionsergebnis vom Datentyp DOUBLE
Tan

(n)

Tangens des numerischen Wertes n in Bogenmaß

Funktionsergebnis vom Datentyp DOUBLE
Asin

(n)

Arcussinus des numerischen Wertes n in Bogenmaß

Funktionsergebnis vom Datentyp DOUBLE
Acos

(n)

Arcuscosinus des numerischen Wertes n in Bogenmaß

Funktionsergebnis vom Datentyp DOUBLE
Atan

(n)

Arcustangens des numerischen Wertes n in Bogenmaß

Funktionsergebnis vom Datentyp DOUBLE
Sqrt

(n)

Quadratwurzel des numerischen Wertes n

Funktionsergebnis vom Datentyp DOUBLE
Pow

(n, i)

Numerischer Wert n hoch ganzzahliger Wert i

Funktionsergebnis vom Datentyp INTEGER
Log

(n)

Logarithmus des numerischen Wertes n zur Basis 10

Funktionsergebnis vom Datentyp DOUBLE
Ln

(n)

Natürlicher Logarithmus des numerischen Wertes n

Funktionsergebnis vom Datentyp DOUBLE
Exp

(n)

e hoch numerischer Wert

Funktionsergebnis vom Datentyp DOUBLE
Abs

(n)

Absolutwert eines numerischen Wertes

Funktionsergebnis vom Datentyp DOUBLE oder INTEGER
Min

(n1 [, n2, ...])

Minimum von numerischen Werten

Funktionsergebnis vom Datentyp DOUBLE oder INTEGER
Max

(n1 [, n2, ...])

Maximum von numerischen Werten

Funktionsergebnis vom Datentyp DOUBLE oder INTEGER
Random

(og)

Erzeugen einer Zufallszahl im Zahlenbereich 1 bis zu einer Obergrenze

Funktionsergebnis vom Datentyp INTEGER
 
og Obergrenze des erlaubten Zahlenbereichs im Datentyp INTEGER

Zeichenkettenfunktionen
Index

([@regexp,] s1, s2)

Position der Zeichenkette s2 in der Zeichenkette s1

Funktionsergebnis vom Datentyp INTEGER

Ist der erste Parameter @regexp, wird der Parameter s2 als regulärer Ausdruck behandelt.
 Reguläre Ausdrücke sind nur dann möglich, wenn der Windows Scripting Host installiert ist (sollte in der Regel der Fall sein).
Replace

([@regexp,] s, f, r)
([@regexp,] s, f, r, @first)

Ersetzen von Zeichenketten

Funktionsergebnis vom Datentyp STRING

Ist der erste Parameter @regexp, wird der Parameter f als regulärer Ausdruck behandelt.
 Reguläre Ausdrücke sind nur dann möglich, wenn der Windows Scripting Host installiert ist (sollte in der Regel der Fall sein).
 
s zu untersuchende Zeichenkette im Datentyp STRING
f zu findende Zeichenkette in s im Datentyp STRING
r Ersatzzeichenkette für die gefundenen f im Datentyp STRING
@first Angabe, dass nur die erste gefundene Stelle ersetzt wird
fehlt @first, werden alle Vorkommen ersetzt
Format

(f, x1)
(f, x1 [, x2, ...])

Formatierung von Datenobjekten

Funktionsergebnis vom Datentyp STRING
 
f Formatbeschreibung für die folgenden Objekte x1..., wobei
%[-]Länge[.Weite] Platzhalter für ein Objekt mit Längenangaben und Linksbündigkeit (-)
%! Formatabbruch (z.B. format("%!3", a) gibt den Inhalt von a, gefolgt von 3 aus)
%% Ausgabe von %
%\ Ausgabe eines Zeilenumbruchs
Mid

(s, p1)
(s, p1, anz)

Teil einer Zeichenkette erfragen; hier Angabe durch Position und Länge

Funktionsergebnis vom Datentyp STRING
 
s Zeichenkette im Datentyp STRING
p1 Startposition des 1. Zeichens aus s im Datentyp INTEGER
anz Anzahl der gewünschten Zeichen aus s im Datentyp INTEGER
Fehlt anz, beginnt der Teil ab p1 und endet am Ende der Zeichenkette s
Split

(s, t, p)

Teil einer Zeichenkette erfragen; hier nach Aufteilen der Zeichenkette durch Trennzeichen

Funktionsergebnis vom Datentyp STRING
 
s Zeichenkette vom Datentyp STRING
t Trennzeichen vom Datentyp STRING
p Position der Teilzeichenkette vom Datentyp INTEGER
Len

(s)

Länge der Zeichenkette s

Funktionsergebnis vom Datentyp INTEGER
Upper

(s)

Alle Zeichen der Zeichenkette s in Großbuchstaben umwandeln

Funktionsergebnis vom Datentyp STRING
Lower

(s)

Alle Zeichen der Zeichenkette s in Kleinbuchstaben umwandeln

Funktionsergebnis vom Datentyp STRING
Trim

(s)
(s, to)

Zeichenkette s um führende/folgende Leerzeichen kürzen

Funktionsergebnis vom Datentyp STRING
 
s Zeichenkette im Datentyp STRING
to Trimmoption

@leading entfernt die führenden Leerzeichen
@trailing entfernt die folgenden Leerzeichen
@both entfernt die führenden und folgenden Leerzeichen
Fehlt die Trimmoption, werden die führenden und folgenden Leerzeichen entfernt
Urlencode

(s)

Zeichenkette s in URL-konforme Zeichenkette umwandeln (betrifft z.B. Leerzeichen und Umlaute)

Funktionsergebnis vom Datentyp STRING
Filenamepart

(fname, k)

Laufwerksbezeichnung, Verzeichnisname, Dateiname und Dateityp aus Zeichenkette s ermitteln

Funktionsergebnis vom Datentyp STRING

fname Zeichenkette im Datentyp STRING
k gewünschte Komponente

@drivename = Laufwerksname
@dirname = Verzeichnisname
@filename = Dateiname
@filetype = Dateiart

Konvertierungsfunktionen
Type

(x)

Datentyp des Datenobjektes x

Funktionsergebnis vom Datentyp SYMBOL
Integer

(x)

Objekt x in eine ganze Zahl umwandeln

Funktionsergebnis vom Datentyp INTEGER
Double

(x)

Objekt x in eine reelle Zahl umwandeln

Funktionsergebnis vom Datentyp DOUBLE
String

(x)

Objekt x in eine String umwandeln

Funktionsergebnis vom Datentyp STRING
Symbol

(x)

Objekt x in ein Symbol umwandeln

Funktionsergebnis vom Datentyp SYMBOL
Date

(x)

Objekt x in ein Datum/Zeit umwandeln

Beim Umwandeln der numerischen Datentypen repräsentieren die Vorkommastellen das Datum und die Nachkommastellen die Uhrzeit.
Mitternacht entspricht dem Wert 0, und Mittag entspricht den Nachkommawert 0,5. Negative ganze Zahlen repräsentieren ein Datum vor dem 30. Dezember 1899.
Beim Umwandeln von Zeichenketten muss der Inhalt der Zeichenkette ein gültiges Datum/Zeit sein (z.B. "21.4.2000" oder "14:26:10" oder "21.4.2000 14:26:10").
Funktionsergebnis vom Datentyp DATE
Convert

(z, b)

Umwandeln der ganzen Zahl z in ihre Darstellung zur Zahlenbasis b

Funktionsergebnis vom Datentyp STRING

z Zahl im Datentyp INTEGER
b Zahlenbasis von 2-36 im Datentyp INTEGER

oder

ein SYMBOL der folgenden

@bin als Repräsentant für die Zahlenbasis 2 (binäre Zahlen)
@oct als Repräsentant für die Zahlenbasis 8 (oktale Zahlen)
@hex als Repräsentant für die Zahlenbasis 16 (hexadezimale Zahlen)


Dateifunktionen
Exist

(fname)

Prüfen, ob eine Datei oder ein Verzeichnis existiert

Funktionsergebnis vom Datentyp SYMBOL
@true = Verzeichnis/Datei vorhanden
@false = Verzeichnis/Datei nicht vorhanden
 
fname gültiger Verzeichnis- oder Dateiname mit absoluter Pfadangabe im Datentyp STRING
Read

(fname)
(fname, z1)
(fname, z1, zn)
(fname, @inifile)
(fname, @ionfile)

Einlesen von Textzeilen aus einer Datei
Einlesen einer Ini-Datei oder einer Ion-Datei

Funktionsergebnis vom Datentyp STRING oder SYMBOL  oder ARRAY
@eod, wenn die Startzeile hinter der letzten möglichen Zeile der Datei liegt.
 
fname gültiger Dateiname mit absoluter Pfadangabe im Datentyp STRING
z1 Zeilennummer der ersten zu lesenden Zeile
zn Zeilennummer der letzten zu lesenden Zeile
Wird zn weggelassen, wird bis zum Dateiende eingelesen.
Werden z1 und zn weggelassen, wird die gesamte Datei eingelesen.
@inifile

Die Textdatei muss folgenden Aufbau haben:

[section1]
key1=inhalt1
key2=inhalt2
[section]
key1=inhalt1
key2=inhalt2
...
...
...

Für jede Sektion wird ein Arrayelement erzeugt, das wiederum ein Array ist und alle Einträge dieser Sektion als Arrayelemente beinhaltet.

Beispiel:
a = read (@inifile, "d:\test\datei.ini")
b = a ["section1"]; b ["key1"];

@ionfile

Die Textdatei muss folgenden Aufbau haben:

key1=inhalt1
key2=inhalt2
key3=inhalt3
key4=inhalt4
...
...
...

Für jede Zuweisung wird ein Arrayelement erzeugt.

Beispiele:
a = read (@ionfile, "d:\test\descript.ion")
a ["key1"];

Write

(fname, t)
(fname, @append, t)

Schreiben von Text in eine Datei

Funktionsergebnis vom Datentyp SYMBOL
@true wenn fehlerfrei geschrieben wurde
@error bei einem Fehler
 
fname gültiger Dateiname mit absoluter Pfadangabe im Datentyp STRING
@append Symbol als Kennung, dass der Text an den bisherigen Inhalt der Datei fname anzuhängen ist.
t Text, der in die Datei zu schreiben ist.

Achtung:
Ein Zeilenumbruch wird durch einfügen von %\ erreicht.

Beispiel:
Ein Text mit%\2 Zeilen

Wird @append weggelassen, wird die Datei neu erzeugt bzw. eine schon existierende Datei überschrieben.

Bildinformationsfunktionen
Digitale Bilder können außer dem eigentlichen Bild weitere Informationen, Metadaten genannt, enthalten. Dies wird insbesondere bei Bildern genutzt, die von Digitalkameras erzeugt wurden. So werden dort der Name des Kameraherstellers, die Bezeichnung des Kameramodells, Belichtungszeit, Blende, Aufnahmedatum und viele weitere Informationen abgelegt. Der Aufbau dieser Informationen ist in einer Norm, "Exchangeable image file format for Digital Still Cameras, Version 2.1", kurz Exif genannt, beschrieben. Weitere Informationen können in einem allgemeinen Bereich abgelegt werden, der sich IPTC nennt.

Da die Metadaten-Auswertung teilweise sehr aufwändig ist und die internen Strukturen von JoJoThumb erweitert, ist der Ausleseprozess explizit einzuschalten. Der Schalter befindet sich bei den  HTML-Grundeinstellungen.

Um die gesamte Metadaten betreffende Funktionalität nutzen zu können, muss ein Grundwissen über die entsprechenden Normen vorhanden sein; insbesondere die Bedeutung von Eintragsnummern (Tags), Eintragsbezeichnungen und Eintragsbedeutungen.

Leider werden die in der Norm beschriebenen Vorgaben von den Herstellern nicht immer gleich interpretiert. Zusätzlich sieht die Norm einen Hersteller/Geräteabhängigen Teil in dieser Informationssammlung vor. Aus diesem Grund muss eine Auswertung teilweise an diese Gegebenheiten angepasst werden.
Für JoJoThumb bedeutet dies, dass es möglicherweise an nicht bekannte Kameramodelle angepasst werden muss.
Um etwas auf diese Tatsache vorbereitet zu sein, ist ein Teil der Metadatendefinition in eine externe Beschreibungsdatei ausgelagert worden. Im Anhang sind das Format dieser Datei sowie einige Metadaten-Einträge mit ihrer Nummer und ihrer Bezeichnung ausgewiesen.
 

Dirinfo

(v, i)

Informationen über die von der Umsetzung betroffenen Verzeichnisse

Funktionsergebnis vom Datentyp STRING oder INTEGER

v Laufende Verzeichnisnummer im Datentyp INTEGER
i Informationswunsch im Datentyp SYMBOL

@dirname = Name des Verzeichnisses
@count = Anzahl der Bilder im Verzeichnis

Imageinfo

(b, i)
(v, b, i)

Informationen über die von der Umsetzung betroffenen Bilder

Funktionsergebnis vom Datentyp STRING oder INTEGER

v Laufende Verzeichnisnummer im Datentyp INTEGER
b Laufende Bildnummer im Datentyp INTEGER

Fehlt die Angabe der Verzeichnisnummer, ist die Bildnummer die laufende Nr. über alle Verzeichnisse.
Ist die Angabe der Verzeichnisnummer vorhanden, ist die Bildnummer die laufende Nr. im angegebenen Verzeichnis.

i Informationswunsch im Datentyp SYMBOL
 
@ref Url des Bildes
@docref Url der HTML-Datei des Bildes
@filename Dateiname der Bildes
@filetype Dateiart des Bildes
@date Datum des Bildes
@size Größe des Bildes
@dimx Breite des Bildes
@dimy Höhe des Bildes
@thumbref Url des Thumbnails
@thumbname Dateiname des Thumbnails
@thumbdimx Breite des Thumbnails
@thumbdimy Höhe des Thumbnais
Imagecomment

()
(p)
(k)

Erfragen, ob Kommentare zum aktuellen Bild (wenn JPG oder PNG) vorhanden sind
oder
Erfragen des Inhalts eines Kommentars des aktuellen Bildes (wenn JPG oder PNG)

Funktionsergebnis vom Datentyp SYMBOL, @true wenn Einträge vorhanden sind, sonst @false
oder
der Inhalt des Eintrags vom Datentyp STRING
 
p Kommentar-Position (bei JPG oder PNG) im Datentyp INTEGER
k Schlüssel (nur bei PNG) im Datentyp STRING (siehe JoJoScript-Funktion Imagecommentkey)
Ein Aufruf ohne Parameter dient zum Erfragen, ob überhaupt Kommentare zum aktuellen Bild vorhanden sind
Imagecommentkey

(k)

Erfragen des Schlüssels eines Kommentars des aktuellen Bildes (nur wenn PNG)

Inhalt des Schlüssels vom Datentyp STRING
 
p Kommentar-Position (nur bei PNG) im Datentyp INTEGER

Vordefinierte Schlüssel sind z.B.:

  • Title
  • Author
  • Description
  • Copyright
  • Creation Time
  • Software
  • Disclaimer
  • Warning
  • Source
  • Comment
Imagecommentcount

()

Erfragen der Anzahl der Kommentare des aktuellen Bildes (wenn JPG)

Funktionsergebnis vom Datentyp INTEGER
Exif

()
(e)
(e, p)
(e, s)
(e, p, s)
(b)
(b, p)
(b, s)
(b, p, s)

Erfragen, ob Exif-Einträge zum aktuellen Bild vorhanden sind
oder
Erfragen des Inhalts eines Exif-Eintrags des aktuellen Bildes in Rohform

Funktionsergebnis vom Datentyp SYMBOL, @true wenn Einträge vorhanden sind, sonst @false
oder
vom Datentyp, der dem Inhalt der gewünschten Information entspricht (STRING, INTEGER, DOUBLE)
 
e Eintragsnummer im Datentyp INTEGER
b Eintragsbezeichnung im Datentyp STRING
p Position im Komponentenfeld eines Exif-Eintrags
s Exif-Sektion im Datentyp SYMBOL
@main, @thumbnail, @makernote, @gps
Ist s nicht vorhanden, wird @main angenommen
Ein Aufruf ohne Parameter dient zum Erfragen, ob überhaupt Exif-Einträge zum aktuellen Bild vorhanden sind
Exifnice

()
(e)
(e, p)
(e, p, f)
(e, s)
(e, p, s)
(e, p, f, s)
(b)
(b, p)
(b, p, f)
(b, s)
(b, p, s)
(b, p, f, s)
 

Erfragen, ob Exif-Einträge zum aktuellen Bild vorhanden sind
oder
Erfragen des Inhalts eines Exif-Eintrags des aktuellen Bildes in aufbereiteter Form

Ist zum Inhalt eines Exif-Eintrags keine Beschreibung der Bedeutung realisiert, entspricht das Funktionsergebnis dem Funktionsergebnis der Funktion exif.

Funktionsergebnis vom Datentyp SYMBOL, @true wenn Einträge vorhanden sind, sonst @false
oder
vom Datentyp, der dem Inhalt der gewünschten Information entspricht (STRING, INTEGER, DOUBLE)
 
e Eintragsnummer im Datentyp INTEGER
b Eintragsbezeichnung im Datentyp STRING
p Position im Komponentenfeld eines Exif-Eintrags im Datentyp INTEGER
f Formatierungsangabe im Datentyp INTEGER
Die Formatierungsangaben entsprechenden den Angaben, die in der  Exif-Beschreibungsdatei vorgenommen werden können.
Die Formatierungsangabe im Funktionsaufruf überlagert eine Formatierungsangabe in der Exif-Beschreibungsdatei
s Exif-Sektion im Datentyp SYMBOL
@main, @thumbnail, @makernote, @gps
Ist p nicht vorhanden wird 0 angenommen
Ist s nicht vorhanden, wird @main angenommen
Ein Aufruf ohne Parameter dient zum Erfragen, ob überhaupt Exif-Einträge zum aktuellen Bild vorhanden sind
Exifcount

()
(s)

Erfragen der Anzahl der Exif-Einträge des aktuellen Bildes

Funktionsergebnis vom Datentyp INTEGER
 
s Exif-Sektion im Datentyp SYMBOL
@main, @thumbnail, @makernote, @gps
Ein Aufruf ohne Parameter liefert die Gesamtsumme aller Exif-Einträge des aktuellen Bildes
Exiftag

(p)
(p, s)
(b)
(b, s)

Erfragen der Eintragsnummer eines Exif-Eintrags an einer bestimmten Position der Eintragsliste
oder
die Eintragsnummer des Exif-Eintrags entsprechend seiner Bezeichnung

Funktionsergebnis vom Datentyp INTEGER
 
p Position des Eintrags in der Eintragsliste im Datentyp INTEGER
b Eintragsbezeichnung im Datentyp STRING
s Exif-Sektion im Datentyp SYMBOL
@main, @thumbnail, @makernote, @gps
Ist s nicht vorhanden, wird @main angenommen
Exiftagname

(e)
(e, p)
(e, s)
(e, p, s)

Erfragen der Bezeichnung eines Exif-Eintrags oder der Bezeichnung einer Komponente eines Exif-Eintrags

Funktionsergebnis vom Datentyp STRING
 
e Eintragsnummer eines Exif-Eintrags im Datentyp INTEGER
p Position im Komponentenfeld eines Exif-Eintrags
s Exif-Sektion im Datentyp SYMBOL
@main, @thumbnail, @makernote, @gps
Ist s nicht vorhanden, wird @main angenommen
Exifcomponentcount

(e)
(e, s)
(b)
(b, s)

Erfragen der Anzahl Komponenten eines Exif-Eintrags an einer bestimmten Position der Eintragsliste

Funktionsergebnis vom Datentyp INTEGER
e Eintragsnummer im Datentyp INTEGER
b Eintragsbezeichnung im Datentyp STRING
s Exif-Sektion im Datentyp SYMBOL
@main, @thumbnail, @makernote, @gps
Ist s nicht vorhanden, wird @main angenommen
Iptc

()
(e)
(b)

Erfragen, ob IPTC-Einträge zum aktuellen Bild vorhanden sind
oder
Erfragen des Inhalts eines IPTC-Eintrags des aktuellen Bildes

Funktionsergebnis vom Datentyp SYMBOL, @true wenn Einträge vorhanden sind, sonst @false
oder
der Inhalt des Eintrags vom Datentyp STRING
 
e Eintragsnummer im Datentyp INTEGER
b Eintragsbezeichnung im Datentyp STRING
Ein Aufruf ohne Parameter dient zum Erfragen, ob überhaupt IPTC-Einträge zum aktuellen Bild vorhanden sind
Iptccount

()

Erfragen der Anzahl der IPTC-Einträge des aktuellen Bildes

Funktionsergebnis vom Datentyp INTEGER
Iptctag

(p)
(b)

Erfragen der Eintragsnummer eines IPTC-Eintrags an einer bestimmten Position der Eintragsliste
oder
die Eintragsnummer des IPTC-Eintrags entsprechend seiner Bezeichnung

Funktionsergebnis vom Datentyp INTEGER
 
p Position des Eintrags in der Eintragsliste im Datentyp INTEGER
b Eintragsbezeichnung im Datentyp STRING
Iptctagname

(e)

Erfragen der Bezeichnung eines IPTC-Eintrags

Funktionsergebnis vom Datentyp STRING
e Eintragsnummer eines IPTC-Eintrags im Datentyp INTEGER

Bildmanipulationsfunktionen

Mit Hilfe dieser Funktionen ist es möglich, beim Clonen Einfluss auf die Gestaltung der Bilder zu nehmen.

Vor dem Clonevorgang
Vor dem Clonevorgang wird eine vom Anwender zu schreibende JoJoScript-Funktion mit dem vorgegebenen Namen _clone aufgerufen. Nur dort zeigen die bildverändernden Funktionen (rotate, flip, usw.) Wirkung.

Rotate

(w)

Rotieren des geclonten Bildes vor der Größenänderung
 
w Winkelangabe im Datentyp INTEGER

Erlaubt sind die Werte 90, 180, 270. Sie geben den Drehwinkel im Uhrzeigersinn an.

flip

(i)

Spiegeln des geclonten Bildes vor der Größenänderung
 
i Angabe zur Art der Spiegelung im Datentyp SYMBOL
 
@horizontal Horizontal spiegeln
@vertical Vertikal spiegeln
Drawline

(c, x1, y1, x2, y2)

 

Zum Zeitpunkt des Clonens kann mit dieser Funktion eine Linie in das geclonte Bild gezeichnet werden.
 
c Farbewert im Datentyp INTEGER
siehe Informationen zur Festlegung bei der JoJoScript-Funktion  rgb
x1 X-Startwert der Linie im Datentyp INTEGER
y1 Y-Startwert der Linie im Datentyp INTEGER
x2 X-Endwert der Linie im Datentyp INTEGER
y2 Y-Endwert der Linie im Datentyp INTEGER
Drawrectangle

(c, x1, y1, x2, y2 [,o [, i]])

Zum Zeitpunkt des Clonens kann mit dieser Funktion ein Rechteck in das geclonte Bild gezeichnet werden.

Über die Angabe eines Rechtecks ist es möglich, einen Rahmen zu zeichnen, eine Innenflächenfüllung (mit Angabe der Deckkraft) oder eine Außenflächenfüllung (mit Angabe der Deckkraft) auszugeben

c Farbewert im Datentyp INTEGER
siehe Informationen zur Festlegung bei der JoJoScript-Funktion  rgb

Wird keine Deckkraft angegeben, wird nur ein Rahmen in der angegeben Farbe gezeichnet. Wird eine Deckkraft angegeben, wird das Rechteck mit der angegebenen Farbe und Deckkraft gezeichnet.

x1 X-Wert der Ecke links oben in Pixel im Datentyp INTEGER
y1 Y-Wert der Ecke links oben in Pixel im Datentyp INTEGER
x2 X-Wert der Ecke rechts unten in Pixel im Datentyp INTEGER
y2 Y-Wert der Ecke rechts unten in Pixel im Datentyp INTEGER
o Deckkraft der Fläche Textes im Datentyp INTEGER

Erlaubt ist der Zahlenbereich von 0 - 100, wobei 0 komplett durchscheinend ist und 100 völlig undurchsichtig.

i Angabe, ob die Fläche außerhalb des angegeben Rechtecks mit der gewählten Farbe und Deckkraft gezeichnet werden soll. Dazu ist das Symbol

@outside

zu benutzen.

Drawellipse

(c, x, y, rx, ry [,o [, i]])

Zum Zeitpunkt des Clonens kann mit dieser Funktion eine Ellipse in das geclonte Bild gezeichnet werden.

Es kann gesteuert werden, ob eine Ellipse zu zeichnen ist oder eine Innenflächenfüllung (mit Angabe der Deckkraft) oder eine Außenflächenfüllung (mit Angabe der Deckkraft) auszugeben ist.

Sind die Angaben des horizontalen- und vertikalen Radius identisch, ist das Ergebnis ein Kreis.

c Farbewert im Datentyp INTEGER
siehe Informationen zur Festlegung bei der JoJoScript-Funktion  rgb

Wird keine Deckkraft angegeben, wird nur ein Rahmen in der angegeben Farbe gezeichnet. Wird eine Deckkraft angegeben, wird das Rechteck mit der angegebenen Farbe und Deckkraft gezeichnet.

x X-Wert des Mittelpunktes in Pixel im Datentyp INTEGER
y Y-Wert des Mittelpunktes in Pixel im Datentyp INTEGER
rx Horizontaler Radius der Ellipse in Pixel im Datentyp INTEGER
ry Vertikaler Radius der Ellipse in Pixel im Datentyp INTEGER
o Deckkraft der Fläche Textes im Datentyp INTEGER

Erlaubt ist der Zahlenbereich von 0 - 100, wobei 0 komplett durchscheinend ist und 100 völlig undurchsichtig.

i Angabe, ob die Fläche außerhalb der angegeben Ellipse mit der gewählten Farbe und Deckkraft gezeichnet werden soll. Dazu ist das Symbol

@outside

zu benutzen.

 

Inqcolor

()

Zum Zeitpunkt des Clonens kann mit dieser Funktion ein zum Bildinhalt passender Farbwert erfragt werden. Mit diesem Farbwert kann z.B. die Funktion drawborder versorgt werden.

Der Farbwert ist vom Datentyp INTEGER


sonstige Funktionen
Input

(f)
(f, v)

Der Aufruf dieser Funktion erzeugt während der Laufzeit ein Fenster, in dem ein Text eingegeben werden kann. Während der Eingabe wird die Umsetzung unterbrochen.

Funktionsergebnis vom Datentyp STRING

f Frage als Fensterüberschrift im Datentyp STRING
v Vorgabetext im Datentyp STRING
Now

()

Aktuelles Datum/Zeit

Funktionsergebnis vom Datentyp DATE
Datepart

(dw, info)

Anteil(e) eines Datum/Zeitobjekt erfragen (z.B. Monat, Wochentag, Woche im Jahr, usw.) im Datentyp INTEGER oder STRING

dw gültiges Datum/Zeit im Datentyp DATE
info Gewünschte Information im Datentyp STRING

Als Angabe der gewünschten Informationen können vielfältige Angaben gemacht werden. So ist es möglich, die laufende Nummer der Woche im Jahr, des Monats im Jahr, des Jahres, des Tages in der Woche, im Monat, im Jahr zu erfragen, aber auch die Wochentagsbezeichnung oder den Monatsnamen. Auch sind beliebige Kombinationen zulässig ( siehe Beispiele).

Die Steuerung erfolgt über bestimmte Zeichen bzw. Zeichenkombinationen:

Zeichen

Beschreibung

:

Zeit-Trennzeichen
Es trennt Stunden, Minuten und Sekunden

.

Datumstrennzeichen
Es trennt Tag, Monat und Jahr

C

Ergibt das Datums in der Form ddddd und die Zeit in der Form ttttt, und zwar in dieser Reihenfolge. Hat die fortlaufende Zahl für das Datum keine Nachkommastellen, so wird nur das Datum angeliefert. Hat sie ausschließlich Nachkommastellen, so wird lediglich die Uhrzeit angeliefert.

d

Ergibt Zeigt den Tag als Zahl ohne führende Null (1 – 31)

dd

Ergibt den Tag als Zahl mit führender Null (01 – 31)

ddd

Ergibt den Tag als Abkürzung (So – Sa)

dddd

Ergibt den Tag mit vollständigem Namen (Sonntag – Samstag)

ddddd

Ergibt ein vollständiges Datum (einschließlich Tag, Monat und Jahr), das entsprechend der Systemeinstellung für das kurze Datumsformat formatiert ist. Die Voreinstellung für das kurze Datumsformat ist dd.mm.yy

dddddd

Ergibt ein vollständiges Datum (einschließlich Tag, Monat und Jahr), das entsprechend der Systemeinstellung für das lange Datumsformat formatiert ist. Die Voreinstellung für das lange Datumsformat ist dd.mmmm.yyyy

w

Ergibt den Wochentag als Zahl (1 für Montag bis 7 für Sonntag)

ww

Ergibt die Kalenderwoche als Zahl (1 – 54)

m

Ergibt den Monat als Zahl ohne führende Null (1 – 12). Wenn m unmittelbar auf h oder hh folgt, wird nicht der Monat, sondern die Minute angeliefert

mm

Ergibt den Monat als Zahl mit führender Null (01 – 12). Wenn m unmittelbar auf h oder hh folgt, wird nicht der Monat, sondern die Minute angeliefert

mmm

Ergibt den Monat als Abkürzung (Jan – Dez)

mmmm

Ergibt den Monat mit vollständigem Namen (Januar – Dezember)

q

Ergibt das Jahresquartal als Zahl (1 – 4)

y

Ergibt den Kalendertag als Zahl (1 – 366)

yy

Ergibt das Jahr als zweistellige Zahl (00 – 99)

yyyy

Ergibt das Jahr als vierstellige Zahl (100 – 9999)

h

Ergibt die Stunde als Zahl ohne führende Nullen (0 – 23)

hh

Ergibt die Stunde als Zahl mit führender Nullen (00 – 23)

n

Ergibt die Minute als Zahl ohne führende Nullen (0 – 59)

nn

Ergibt die Minute als Zahl mit führender Nullen (00 – 59)

s

Ergibt die Sekunde als Zahl ohne führende Nullen (0 – 59)

ss

Ergibt die Sekunde als Zahl mit führender Nullen (00 – 59)

ttttt

Ergibt eine vollständige Zeitangabe (einschließlich Stunden, Minuten und Sekunden), die mit dem Zeit-Trennzeichen formatiert ist, das in der Systemeinstellung für das Zeitformat festgelegt ist. Eine führende Null wird angezeigt, wenn die entsprechende Option ausgewählt wurde und die Zeit vor 10:00 liegt. Die Voreinstellung für das Zeitformat ist h:mm:ss
Rgb

(r, g , b)
(cs)

Festlegung eines Farbwertes über seine Rot/Grün/Blauanteile. Das Ergebnis kann z.B. bei den Bildmanipulationsfunktionen genutzt werden.

r Rotanteil im Datentyp INTEGER, 0-255
g Grünanteil im Datentyp INTEGER, 0-255
b Blauanteil im Datentyp INTEGER, 0-255
cs Hexadezimale Farbbeschreibung im Datentype STRING

Aufbau:
Erstes Zeichen: #
2 Hexadezimalzeichen für den Rotanteil
2 Hexadezimalzeichen für den Grünanteil
2 Hexadezimalzeichen für den Blauanteil

Beispiel: Farbe gelb
"#ffff00"

Clear

(array)

Löschen aller Elemente eines Array.

array ARRAY-Variable
Remove

(array, key)
(array, index)

Löschen eines Elements eines Arrays.

array ARRAY-Variable
key Key des zu löschenden ARRAY-Elements
index Index des zu löschenden ARRAY-Elements
Callstack

()

Aktuelle Aufrufhierarchie der benutzten JoJoScript-Funktionen

Funktionsergebnis vom Datentyp STRING
Dbread

(db, t, q, e)
(db, t, q, e, p)
(@dsn, db, t, q, e)

Einfacher Zugriff auf den Inhalt von Datenbank-Dateien

Funktionsergebnis entsprechend des angeforderten Feldes der Datenbank bzw. ein ARRAY, wenn mehrere Felder angefordert wurden

Diese Funktion kann nur aufgerufen werden, wenn das benötigte DB-Umfeld installiert ist. Es handelt sich dabei um die Microsoft Komponenten MDAC und JET. Bei Windows ME, Windows 2000, Windows XP und Windows Vista sollte dies nach der Installation der Fall sein.
Falls die benötigten Komponenten nicht vorhanden sein sollten, können sie kostenfrei bei Microsoft direkt heruntergeladen werden (http://www.microsoft.com/data). Der Umfang beträgt ca. 9MB.

@dsn Angabe, dass es sich beim folgenden Name um den Name einer Datenquelle der ODBC-Verwaltung handelt
db gültiger Dateiname mit absoluter Pfadangabe im Datentyp STRING
oder
Name einer Datenquelle der ODBC-Verwaltung
t Name der Tabelle im Datentyp STRING
q Gültiger SQL-Select Where-Query
e Name des Feldes, dessen Inhalt das Funktionsergebnis liefern soll, im Datentyp STRING
p Name des Providers im Datentyp STRING
Wird p weggelassen oder als leerer String übergeben, wird "Microsoft.Jet.OLEDB.4.0" angenommen.

Beispiel1:
name = dbread (@dsn, "MeineDatenbank", "Namentabelle", "Jahr=2000 and Monat=10", "Name")

Durch diesen Funktionsaufruf wird für die Datenbank, die über den DSN-Namen "MeineDatenbank" erreichbar ist, das SQL-Select
select Name from Namentabelle where Jahr=2000 and Monat=10
erzeugt und der Inhalt des erfragten Elements "Name" zurückgegeben.

Beispiel 2:
alles = dbread (@dsn, "MeineDatenbank", "Namentabelle", "Jahr=2000 and Monat=10", "*")
for (i=1; i<=alles[]; i=i+1) {alles [#i]; "="; alles [i]; "<br>"}

Durch diese Funktionsaufrufe wird für die Datenbank, die über den DSN-Namen "MeineDatenbank" erreichbar ist, das SQL-Select
select * from Namentabelle where Jahr=2000 and Monat=10
erzeugt. Alle Daten des gefundenen Elements werden im JoJoScript-Array "alles" abgelegt und anschließend durch JoJoScript-Array-Zugriffe (Anzahl, Key und Inhalt ausgelesen.