Dokumentation der Scripting-API: Unterschied zwischen den Versionen

Aus AquaSoft Wiki
Zur Navigation springenZur Suche springen
 
(19 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Hooks =
+
Die DiaShow lässt sich mit Scripts stark erweitern. Scripts können sowohl auf das Abspielen Einfluss nehmen aber auch die Benutzeroberfläche erweitern.
= Unterstützte DiaShow-Objekte =
 
* [[Skript-Methoden vom Bildobjekt|Bilder]]
 
*
 
*
 
= Aufbau der GUI für Skript-Vorlagen =
 
Es ist manchmal notwendig, dass für Vorlagen und Effekte Einstellungen und Eingaben vom Benutzer gebraucht werden. Daher bietet die Scripting-API die Möglichkeit, einfache [[https://de.wikipedia.org/wiki/Grafische_Benutzeroberfl%C3%A4che|Grafische Benutzeroberflächen]] (GUI) zu gestalten.
 
  
* siehe dazu [[Dokumentation der GUI-API]]
+
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
 +
* [http://code.google.com/p/dwscript/wiki/Language 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
 +
* [[:Kategorie:Scripting-API|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:
 +
 
 +
<code>
 +
  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;
 +
</code>
  
 
[[Kategorie:Scripting-API]]
 
[[Kategorie:Scripting-API]]

Aktuelle Version vom 15. September 2012, 19:58 Uhr

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

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;