Parametrisierte Snippets

Erstellt: 2026-05-30 · Aktualisiert: 2026-05-30

Parametrisierte Snippets enthalten @param-Deklarationen im Script-Header. Beim Einfügen aus der Galerie erscheint ein Dialog, in dem der Nutzer die Werte anpassen kann — bevor das Shape auf der Folie erstellt wird.


Wie es funktioniert

  1. Das Script deklariert Parameter mit // @param-Zeilen am Anfang
  2. Beim Ausführen aus der Galerie erkennt PPPTools die Parameter automatisch
  3. Ein Dialog wird angezeigt — der Nutzer passt Werte an
  4. Das Script wird mit den eingegebenen Werten über die Params-Variable ausgeführt

Im Advanced Snippet Editor kann das Snippet auch ohne Dialog getestet werden — die @param-Zeilen enthalten Standardwerte, die dann verwendet werden.


@param-Syntax

// @param <typ> <name> "<label>" [attribute=wert ...]

Pflichtfelder:

Teil Beschreibung
<typ> Datentyp: int, float, string, bool, color, enum
<name> Variablenname im Script (kein Leerzeichen, CamelCase empfohlen)
"<label>" Anzeigename im Dialog (in Anführungszeichen)

Optionale Attribute:

Attribut Beschreibung Beispiel
default= Standardwert default=200
min= Minimaler Wert (int/float) min=10
max= Maximaler Wert (int/float) max=500
options= Auswahloptionen (nur enum, mit \| getrennt) options="Klein\|Mittel\|Gross"
tooltip= Hinweistext im Dialog tooltip="Breite in Pt"

Typen

int — Ganzzahl

// @param int Zaehne "Anzahl Zähne" default=12 min=4 max=32

Im Script:

int zaehne = Params.GetInt("Zaehne");

float — Dezimalzahl

// @param float Groesse "Grösse (pt)" default=200 min=50 max=600

Im Script:

double groesse = Params.GetFloat("Groesse");

string — Text

// @param string Titel "Beschriftung" default="Phase 1"

Im Script:

string titel = Params.GetString("Titel");

bool — Ja/Nein

// @param bool MitSchatten "Schatten anzeigen" default=false

Im Script:

bool mitSchatten = Params.GetBool("MitSchatten");

color — Farbe

// @param color Fuellfarbe "Füllfarbe" default=#4A90D9

Im Script:

var farbe = Params.GetColor("Fuellfarbe");
int rgb = System.Drawing.ColorTranslator.ToOle(farbe);

Farb-Standardwert als #RRGGBB oder Farbnamen (Red, Blue, White …).

enum — Auswahl aus Liste

// @param enum Stil "Stil" options="Einfach|Doppelt|Gestrichelt" default=Einfach

Im Script:

string stil = Params.GetString("Stil");
// Vergleich:
if (stil == "Doppelt") { ... }

Vollständiges Beispiel

// @param int    Zaehne    "Anzahl Zähne"     default=12 min=4 max=32
// @param float  Groesse   "Grösse (pt)"      default=200 min=50 max=500
// @param float  Links     "Links (pt)"        default=100 min=0
// @param float  Oben      "Oben (pt)"         default=80  min=0
// @param color  Fuell     "Füllfarbe"         default=#8264C8
// @param color  Rahmen    "Rahmenfarbe"       default=#5A3CB4
// @param bool   MitLoch   "Mit Mittelloch"    default=true
// @help https://docs.ppptools.ch/de/helper-beispiel-zahnrad

int    zaehne = Params.GetInt("Zaehne");
double size   = Params.GetFloat("Groesse");
double left   = Params.GetFloat("Links");
double top    = Params.GetFloat("Oben");
var    fillC  = Params.GetColor("Fuell");
var    lineC  = Params.GetColor("Rahmen");
bool   loch   = Params.GetBool("MitLoch");

int fillRgb = System.Drawing.ColorTranslator.ToOle(fillC);
int lineRgb = System.Drawing.ColorTranslator.ToOle(lineC);

// ... Shape-Code ...

Mit // @help <url> kann ein Link zur Doku-Seite des Snippets hinterlegt werden. Im @param-Dialog erscheint dann ein ?-Button, der die URL im Browser öffnet.

// @help https://docs.ppptools.ch/de/helper-beispiel-zahnrad

Params im Script

Der Params-Accessor ist im Script immer verfügbar. Wird ein Name aufgerufen, der im Dialog nicht ausgefüllt wurde, gibt die Methode den Standardwert zurück.

Methode Rückgabetyp Beschreibung
Params.GetInt("name") int Ganzzahl-Parameter
Params.GetFloat("name") double Dezimalzahl-Parameter
Params.GetString("name") string Text-Parameter
Params.GetBool("name") bool Bool-Parameter
Params.GetColor("name") System.Drawing.Color Farb-Parameter

Alle Methoden akzeptieren einen optionalen zweiten Parameter als Fallback:

int zaehne = Params.GetInt("Zaehne", 8);   // Fallback = 8

Testen im Advanced Snippet Editor

Im Advanced Snippet Editor wird beim ▶ Ausführen kein Dialog angezeigt — die Standardwerte aus den @param-Zeilen werden direkt verwendet. So können Snippets schnell entwickelt und getestet werden.

Mit 🔍 Analyse → Code analysieren werden alle erkannten @param-Parameter angezeigt und auf Syntaxfehler geprüft.

Advanced Snippet Editor


Parametrisierte Beispiel-Snippets

Snippet Parameter
Zahnrad Anzahl Zähne, Grösse, Position, Füll- und Rahmenfarbe
PostIt Grösse, Position, Farben, Text
Persona Grösse, Position, Hautfarbe, Haarfarbe