ISlideShowObject (DiaShow-Objekt)
1. Definition
Das DiaShow-Objekt ist die Basis-Klasse für alle Objekte, die in der DiaShow/Stages Verwendung finden.
ISlideShowObject procedure SetItem(Index: Integer; Item: ISlideShowObject); function GetItem(Index: Integer): ISlideShowObject; function Text: IText; function Clone: ISlideShowObject; function CloneWithChildren: ISlideShowObject; procedure SetValueAsString(const Key: String; const Value: String); function GetValueAsString(const Key: String): String; procedure SetValueAsSingle(const Key: String; const Value: Single); function GetValueAsSingle(const Key: String): Single; procedure SetValueAsInteger(const Key: String; const Value: Integer); function GetValueAsInteger(const Key: String): Integer; procedure SetValueAsBoolean(const Key: String; const Value: Boolean); function GetValueAsBoolean(const Key: String): Boolean; function NameIs(const AName: string): Boolean; property Name: string; property Offset: Integer; property Duration: Integer; property Parent: ISlideShowObject; property Count: Integer; end;
2. Methoden
-
Getter und Setter für Kindelemente. Alle Objekte können andere SlideShowObjekte (kurz: SSO) als Kinder halten. Als herausragendes Beispiel kann man das Kapitel nennen, welches Bilder in sich vereint. Generell geht das aber mit allen anderen Objekten genauso.
procedure InsertItem(Index: Integer; Item: ISlideShowObject); procedure AddItem(Item: ISlideShowObject); procedure SetItem(Index: Integer; Item: ISlideShowObject); function GetItem(Index: Integer): ISlideShowObject;
-
Gibt die Anzahl der Kindelemente zurück
property Count: Integer;
-
Gibt das Elternelement zurück
property Parent: ISlideShowObject;
-
Ein SSO kann Text enthalten und ist vom Typ IText
function Text: IText;
-
Abspiel-/Anzeigedauer eines Objektes in Millisekunden. Achtung, sollte nur in Ausnahmefällen geändert werden!
property Duration: Integer; // lesen und schreiben
-
Der Offset des Objektes ist der Abstand zum Vorgänger-Objekt in Millisekunden.
property Offset: Integer; // lesen und schreiben
-
Kopiert das SSO ohne bzw. mit dessen Kindelemente(n)
function Clone: ISlideShowObject; function CloneWithChildren: ISlideShowObject;
-
Getter und Setter für GUI-Werte. Der Key gibt an, welches GUI-Element gemeint ist, Value setzt den entsprechenden Wert. Der Datentyp von Value ist dabei von Komponente zu Komponente unterschiedlich.
procedure SetValueAsString(const Key: String; const Value: String); function GetValueAsString(const Key: String): String;
procedure SetValueAsSingle(const Key: String; const Value: Single); function GetValueAsSingle(const Key: String): Single;
procedure SetValueAsInteger(const Key: String; const Value: Integer); function GetValueAsInteger(const Key: String): Integer;
procedure SetValueAsBoolean(const Key: String; const Value: Boolean); function GetValueAsBoolean(const Key: String): Boolean;
-
Objektbenennung: Objekte können im Hauptprogramm einen Zugriffsnamen bekommen. Dieser kann über das "Name"-Propery abgerufen werden.
property Name: string;
-
Liefert True zurück, wenn der Name des Objekts AName entspricht. Dabei wird Groß-/Kleinschreibung vernachlässigt.
function NameIs(const AName: string): Boolean;
3. Verwendung
Ein ISlideShowObject kommt niemals in reiner Form vor, sondern immer als spezielle Variante (z.B. ein Bild oder Text). Es ist die Basis für alle Objekte, die in der DiaShow Verwendung finden. Dementsprechenden leiten alle anderen von ihm ab und können in eine ISlideShowObject umgewandelt (gecastet) werden:
var Pic: IPicture; var SSO: ISlideShowObject; Pic := CreatePicture; SSO := Pic as ISlideShowObject; // ein Bild lässt sich in das allgemeinere ISlideShowObject casten