SBScript

Aus SongBeamer Wiki
Version vom 14. November 2020, 20:00 Uhr von SongBeamer (Diskussion | Beiträge) (Makros zum Menü hinzufügen)
Wechseln zu: Navigation, Suche
Hilfemenü zum Programm
Info's über das Programm
Grundfunktionen von SB
Hilfe zu den Programmmenüs

(Zur bessern Übersicht werden Sie hier
auch Einträge finden, die Sie in den
Grundfunktionen finden.)
Hilfe innerhalb der Optionen
Hilfe für das Anpassen-Fenster
Plugins und nützliche Tools


Error creating thumbnail: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
Offenes Fenster von SongBeamer Script

SongBeamer Script können Sie dazu benutzten durch Befehlsketten verschiedene Funktionen aufzurufen und auch andere Programme zu starten.

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);
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;
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).