Dokumentation der Scripting-API
Die DiaShow lässt sich mit Scripts stark erweitern. Scripts können sowohl auf das Abspielen Einfluss nehmen aber auch die Benutzeroberfläche erweitern.
Eines vorneweg: Hier geht es tief in die "Eingeweide" der DiaShow. Sie sollten bereits einfache Programmierkenntnisse mitbringen, um mit dieser Funktionalität etwas anfangen zu können.
Wie benutze ich Scripts?
Jedem DiaShow-Objekt kann ein Script angehängt werden, das zu verschiedenen Zeiten zur Ausführung kommt. Ein Script ist letztendlich nur eine Textdatei. Wann welcher Teil eines Scripts ausgeführt wird, wird durch Hooks bestimmt. Ein Hook ist nichts weiter als eine speziell benannte Funktion innerhalb des Scripts. Über die Scripting-Entwicklungsumgebung können Sie einem DiaShow-Objekt ein Script zuordnen bzw. neue Scripts erstellen.
Weiterführende Informationen
- Hooks - Wo/Wann kann ein Script etwas beeinflussen
- DiaShow-Objekte - Welche Elemente der Diashow lassen sich erstellen und ändern
- Sprachreferenz (DelphiWebScript) - Welche Befehle stellt die Scripting-Programmiersprache bereit
- Scripting-Entwicklungsumgebung - Wie werden Scripts erstellt, getestet und debuggt.
- GUI-API - Wie kann eine Benutzeroberfläche erstellt werden
- Alle Seiten zur ScriptingAPI
Beispiel
Ein ganz einfaches Beispiel eines Scripts könnte so aussehen. Dieses Beispiel definiert einen Bewegungspfad für z.B. ein Bild oder Text:
procedure OnExpandSlideShow(SlideShowObject: ISlideShowObject)
begin
var Moveable = SlideShowObject as IMoveable;
if Moveable = nil then
Exit; // Abbrechen, denn Objekt hat keinen Bewegungspfad
Moveable.SetDefault; // bestehenden Pfad komplett entfernen
var Item: ITimeRect;
// Erster Pfadpunkt (ist immer vorhanden)
Item := Moveable[0];
Item.SetBounds(DoubleRect(0.25, 0.25, 0.75, 0.75); // Halber Bildschirm
// Zweiten Pfadpunkt hinzufügen
Item := Moveable.AddItem;
Item.SetBounds(DoubleRect(0.0, 0.0, 1.0, 1.0); // Ganzer Bildschirm
Item.SetTime(SlideShowObject.Duration div 2); // Zeitpunkt, wann der zweite Punkt erreicht sein soll
end;