SBScript
auch Einträge finden, die Sie in den Grundfunktionen finden.) |
Error creating thumbnail: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden |
SongBeamer Script können Sie dazu benutzten durch Befehlsketten verschiedene Funktionen aufzurufen und auch andere Programme zu starten.
Inhaltsverzeichnis
Beispiele
Taschenrechner starten:
CreateProcess(getfolder_system+'calc.exe');
Aktuelle Präsentation je nach Typ mit PowerPoint oder Paint bearbeiten:
var Ext: String; begin Ext := AnsiLowerCase(ExtractFileExt(CurrentFileName)); if Ext = '.bmp' then CreateProcess(GetFolder_System+'mspaint.exe', CurrentFileName) else if Ext = '.ppt' then CreateProcess(GetFolder_ProgramFiles+'Microsoft Office\OFFICE11\POWERPNT.EXE', CurrentFileName) else MessageDlg('Zur Zeit ist kein Bild und keine PPT-Datei geöffnet', mtError, [mbOk], -1); end.
Verfügbare Funktionen
procedure AddItem(AFileName: String; Caption: String = ''; AColor: TColor = clNone);
Fügt Eintrag zum Ablaufplan hinzu
- AFileName: Dateiname
- Caption: Bezeichnung (optional)
- AColor: Farbe (optional)
procedure Reload;
Aktuelles Objekt (Song, Diashow, ...) neu laden. Das kann sinnvoll sein, wenn man diese mit einem externen Programm verändert hat.
function CreateProcess(const FileName: String; Params: String = ''; Wait: Boolean = False): Boolean;
Startet ein externes Programm.
- FileName: Dateiname des Programms
- Params: Parameter für das zu startende Programm
- Wait: "True" um zu warten, bis das Programm beendet ist
Rückgabewert: True wenn erfolgreich, sonst False Beispiel: CreateProcess(GetFolder_System+'calc.exe');
function GetFolder_System: String;
Ermittelt das Windows-Systemverzeichnis (meist C:\Windows\System32\)
function GetFolder_Application: String;
Rückgabewert: Verzeichnis in dem SongBeamer gestartet wurde.
function GetFolder_SBAppData: String);
Rückgabewert: Verzeichnis für SongBeamer Anwendungs- und Konfigurationsdaten (Benutzerabhängig, Verzeichnis "Anwendungsdaten")
function GetFolder_SBLocalAppData: String;
Rückgabewert: Verzeichnis für SongBeamer Anwendungs- und Konfigurationsdaten (Benutzerabhängig, Verzeichnis "Lokale Einstellungen")
function GetFolder_SBProgramData: String;
Rückgabewert: Verzeichnis für SongBeamer Anwendungs- und Konfigurationsdaten (Gemeinsam für alle Benutzer)
function GetFolder_SBScripts: string;
Rückgabewert: Ordner in dem die SongBeamer Scripte/Makros gespeichert werden (ab SongBeamer 5.03b)
function GetFolder_SBSongs: string;
Rückgabewert: Ordner in dem die SongBeamer Songs gespeichert werden
function CurrentFileName: string;
Rückgabewert: Dateiname der gerade geöffneten Präsentation
function CurrentPage: Integer;
Rückgabewert: Aktuell angezeigt Seite, oder -1 falls kein Objekt geöffnet ist.
function ExtractFileExt(const FileName: string): string;
Rückgabewert: Dateierweiterung von FileName
function IncludeTrailingPathDelimiter(const S: string): string;
Rückgabewert: Verzeichnis mit abschließendem "\"
function ExcludeTrailingPathDelimiter(const S: string): string;
Rückgabewert: Verzeichnis ohne abschließenden "\"
function AnsiLowerCase(const S: string): string;
Wandelt einen String in Kleinbuchstaben um.
function Fit(AInteger: Integer): string; overload; function Fit(AString: string): Integer; overload;
Wandelt String in Zahl, bzw. Zahl in String um.
function Now: TDateTime;
Rückgabewert: Aktuelles Datum und Zeit.
function DateToStr(const DateTime: TDateTime): string;
Rückgabewert: Datum als String
function TimeToStr(const DateTime: TDateTime): string;
Rückgabewert: Zeit als String
function DateTimeToStr(const DateTime: TDateTime): string;
Rückgabewert: Datum und Zeit als String
procedure ShowMessage(const Msg: string);
Zeigt einen Message-Dialog mit dem Text "Msg" an. Beispiel: ShowMessage('Hello World');
function PromptForFileName(var AFileName: string; const AFilter: string = ''''; const ADefaultExt: string = ''''; const ATitle: string = ''''; const AInitialDir: string = ''''; SaveDialog: Boolean = False): Boolean;
Zeigt Datei Öffnen oder Speichern Dialog
function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean;
Zeigt einen Eingabedialog. Rückgabewert: True = Benutzer hat mit OK bestätigt, sonst False
function InputBox(const ACaption, APrompt, ADefault: string): string;
Zeigt einen Eingabedialog und liefert den eingegebenen Text zurück.
Verfügbare Klassen
TSBScriptPresentation = class(TPersistent) public procedure SetPresentationBounds(ALeft, ATop, ARight, ABottom: Integer); procedure ShowBackground; // ab Version 5.16b procedure Black; // ab Version 5.16b procedure LiveVideoPresentationPlay; // ab Version 5.16b procedure LiveVideoPresentationStop; // ab Version 5.16b published property Gamma: Single read FGamma write SetGamma; property Form: TForm read GetForm; property Page: Integer read GetPage write SetPage; property AutoAdvance: Boolean read GetAutoAdvance write SetAutoAdvance; property LiveVideoDeviceName: string read GetLiveVideoDeviceName write SetLiveVideoDeviceName; // ab Version 5.16c end;
Die Klasse wird über die Variable Presentation bereitgestellt:
var Presentation: TSBScriptPresentation;
procedure SetPresentationBounds(ALeft, ATop, ARight, ABottom: Integer);
Ändert die Ausgabegröße der Präsentation. Die Parameter entsprechen der Randgröße (Links, Oben, Rechts, Unten) in Pixeln.
Beispiel:
Presentation.SetPresentationBounds(0, 0, 400, 300); // zurücksetzen Presentation.SetPresentationBounds(0, 0, 0, 0);
property Gamma: Single read FGamma write SetGamma;
Ändert die Gammaeinstellung bei der Präsentationsausgabe. Gültige Werte sind von "0.001" bis "10.0". "1.0" ist die Normaleinstellung.
Beispiel:
Presentation.Gamma := 3.5;
Makros zum Menü hinzufügen
Um ein Makro zum SongBeamer Menu hinzuzufügen, muß man die folgenden Zeilen an den Anfang eines Scriptes schreiben:
//Caption=Beispieltitel im Menü //ShortCut=Ctrl+Alt+S //Hint=Beispielhinweistext
Caption: Titel im Menü ShortCut: Tastenkombination (optional) Hint: Hinweistext, der angezeigt wird, wenn man mit der Maus über das Icon fährt (optional)
Dann das Makro im Ordner für SongBeamer Scripte speichern. Wenn SongBeamer das nächste Mal gestartet wird, dann kann man das Makro über Extras->Anpassen->Befehle->Makros zum Menü hinzufügen. Um statt dem Titel ein Icon anzuzeigen, muß man ein Bild mit demselben Namen wie das Script, aber mit der Dateiendung ".bmp" im selben Ordner speichern, in dem auch das Script liegt. Die Dimension vom Icon ist entweder 16×16 oder 32×32 Pixel (je nach Bildschirmskalierung).