Search Members Help

» Willkommen Gast
[ Einloggen :: Registrieren ]

Alle Beiträge auf einer Seite

[ bei Antworten benachrichtigen :: per E-Mail senden :: Thema ausdrucken ]

reply to topic new topic new poll
Thema: Makro Beispiele, Einsatz der Variablen< Älteres Thema | Neueres Thema >
 Beitrag Nummer: 1
Luke_Filewalker Search for posts by this member.
Bastard Operator From Hell
Avatar

TeamIcon

Gruppe: Administrators
Beiträge: 891
Seit: 23.12.2005
PostIcon Geschrieben: 07.2.2006, 09:38  Skip to the next post in this topic. Ignore posts   QUOTE

Hier möchte ich zeigen, was man neben den Standardfunktionen von SNTool mit den Variablen so alles anstellen kann. Mit den erweiterten Variablen können eigene Formatier-Funktionen definiert werden, die das jeweilige Forum so gar nicht bietet. Auch lässt sich damit vieles automatisieren. Wer selbst ein praktisches Makro hat, kann dies hier (als code formatiert) gerne posten.

Bei den Beispielen hier gilt natürlich zu beachten, dass diese auf das GTH Board zugeschnitten sind und in anderen Foren entweder gar nicht funktionieren, da es dort die hier verwendeten Formatcodes nicht gibt, oder abweichend definiert werden müssen. Diese Makros sind nur Beispiele, dass heisst also nicht, dass die Variablen nur so verwendet werden können. Tatsächlich sind der eigenen Kreativität (innerhalb der Regeln des Makro-Interpreters) keine Grenzen gesetzt. Um alle hier vorgestellten Makros ausprobieren zu können, ist Version 2.2.10 (oder höher) Vorraussetzung. Gross/Klein-Schreibung der Variablen ist nicht wichtig. In diesen Beispielen wurden sie jedoch als Gross-Schrift hervorgehoben.

Hinweise: Alle hier vorgestellten Makros sind "betriebsfertig" und können einzeln direkt in das eigene Makroset übernommen werden. Einfach in die Zwischenablage kopieren und in ein freies Makro Textfeld einfügen. Die zweite Möglichkeit ist deutlich komfortabler; über die Import-Funktion (Ab V3.0) können alle hier vorgestellten Makros als komplettes Makro-Set übernommen werden. Dazu einfach den Dateianhang am Ende dieses Postings herunterladen, entpacken und "Makro Beispiele.sntms" in SNTool importieren (Konfiguration/Makro-Set/Import). Alle darin enthaltenen Makros werden hier bei den Beispielen mit ihren Button-Beschriftungen in grüner, fetter Schrift aufgeführt. Im importierbaren Makro-Set sind alle Makros genau in der gleichen Reihenfolge vorhanden wie sie hier behandelt werden.

Fangen wir mit einem einfachem Beispiel an:

Text mit Uhrzeit, Datum und Autorenangabe anreichern

Makro Info1:
CODE
[color=blue]Moderator-Info: \TEXT\ (Luke_Filewalker \DATE\ \TIME\[/color]

Hier sieht man wie ich die blauen Texte im Forum erzeuge, um zu signalisieren, dass ich in meiner Funktion als Moderator etwas geändert habe, z.B. in einem Post. \TEXT\ wird durch den markierten Text ersetzt, \DATE\ durch das Datum und \TIME\ durch die Uhrzeit.

Markierter Text:
Bild im Anhang verkleinert

Generierter Text:
CODE
[color=blue]Moderator-Info: Bild im Anhang verkleinert (Luke_Filewalker 07.02.06 09:14:36)[/color]


Ergebnis:
Moderator-Info: Bild im Anhang verkleinert (Luke_Filewalker 07.02.06 09:14:36)

Variante: Wenn man im Datum lieber die ausgeschriebene Form von Tag und Monat hätte, müsste das Datum wie folgt formatiert sein:

Makro Info2:
CODE
[color=blue]Moderator-Info: \TEXT\ (Luke_Filewalker \DATE.DDD\, \DATE.D\ \DATE.MMMM\ \DATE.YYYY\ \TIME\[/color]


Generierter Text:
CODE
[color=blue]Moderator-Info: Bild im Anhang verkleinert (Luke_Filewalker Di, 7 Februar 2006 09:14:36[/color]


Ergebnis:
Moderator-Info: Bild im Anhang verkleinert (Luke_Filewalker Di, 7 Februar 2006 09:14:36)

Auswahlmenü für mehrere vordefinierte Text-Teile
Damit kann ein Auswahlmenü definiert werden, welches die Wahl zwischen verschiedenen, auswählbaren Textbausteinen erlaubt. Die Variable \OPT= ist vielseitig einsetzbar und es lassen sich damit etliche komfortable Makros erstellen. Sie kann auch dazu verwendet werden, um mehrere Formatierungen in einem einzigen Makro zusammenzufassen, für die man sonst mehrere Makros und Buttons ver(sch)wenden müsste.

Makro Option1:
CODE
[color=\OPT=green,red,blue,yellow,orange,white,darkpurple,pink\]\TEXT\[/color]

Mit diesem Makro erhält man ein Menü zum auswählen der Textfarbe. Wird dieses Makro auf einen Text angewandt, zeigt SNTool das definierte Menü:



Markierter Text:
Diesen Text in Rot darstellen

Generierter Text:
CODE
[color=red]Diesen Text in Rot darstellen[/color]

Ergebnis:
Diesen Text in Rot darstellen

Variante: Möchte man im Menü lieber die deutschen Namen der Farben haben, so ist das wie folgt möglich:

Makro Option2:
CODE
[color=\OPT=green"Grün",red"Rot",blue"Blau",yellow"Gelb",orange"Orange",white"Weiss",darkpurple"Lila",pink"Rosa"\]\TEXT\[/color]

Um alternative Menütexte zu definieren, müssen diese einfach hinter die Formatcodes geschrieben werden und in Anführungszeichen eingeschlossen sein. Das Menü sieht dann wie folgt aus:



Eingabefenster für variable Text-Teile
Die Variable \INP= ist z.B. immer dann hilfreich, wenn der grösste Teil eines Makros immer gleich bleibt und nur jeweils ein kleiner Teil anders sein soll. Sie kann aber auch dazu benutzt werden, um andere Funktionen mit variablen Parametern zu versorgen.

Makro Input:
CODE
[size=\INP=Schriftgrösse? (1-10)\]\TEXT\[/size]

Wenn in einem Forum z.B. unterschiedliche Schriftgrössen unterstützt werden, kann die Formatierung mit \INP= erleichtert werden. Beim anwenden dieses Makros auf einen Text, erscheint der Eingaberequester in dem wir dann z.B. 5 eingeben:



Markierter Text:
Diesen Text in Grösse 5 darstellen

Generierter Text:
CODE
[size=5]Diesen Text in Grösse 5 darstellen[/size]

Ergebnis:
Diesen Text in Grösse 5 darstellen

Variante: Speziell die Auswahl der Schriftgrösse könnte man auch als Optionsmenü definieren.

Makro Option3:
CODE
[size=\OPT=1,2"2 (Standard)",3,4,5,6,7,8,9,10\]\TEXT\[/size]


Nun kann man bequem aus einer Liste die gewünschte Schriftgrösse auswählen. Das interessante an diesem Makro ist, dass die 2 anders definiert wurde. Damit wird im Menü ebenfalls die 2 angeboten, jedoch mit dem Zusatz "(Standard)" dahinter.

Verarbeitung mehrerer Zeilen
Hilfreich wenn es um die automatische Verarbeitung mehrerer Zeilen geht. Primär gedacht um Textteile am Anfang und Ende einer Zeile einfügen zu können.

Makro List:
CODE
\TAGBEGIN=[list]\ \TAGEND=[/list]\ \TAGLINEBEGIN=[*]\ \TAGLINEEND={nop}\

Dabei handelt es sich um die Standardfunktion "Liste", deren Tag-Variablen natürlich auch in eigenen Makros verwendet werden können.

Markierter Text:
Erster Listeneintrag
Zweiter
Dritter

Generierter Text:
CODE
[list][*]Erster Listeneintrag
[*]Zweiter
[*]Dritter[/list]

Ergebnis:
  • Erster Listeneintrag
  • Zweiter
  • Dritter

Jetzt definieren wir das Makro ein wenig anders, indem wir die ersten zwei Tag-Variablen weglassen:

Makro:
CODE
\TAGLINEBEGIN=[*]\ \TAGLINEEND={nop}\

Markierter Text:
Erster Listeneintrag
Zweiter
Dritter

Generierter Text:
CODE
[*]Erster Listeneintrag
[*]Zweiter
[*]Dritter

Ergebnis:
  • Erster Listeneintrag
  • Zweiter
  • Dritter

    Suchen und ersetzen mit Benutzerführung

    Makro S&Rgui1:
    CODE
    \TEXT.SR=\INP=Suche Text:\,\INP=Ersetze durch:\\

    Dadurch wird eine Suchen & Ersetzen Funktion für den markierten Text realisiert, bei der die Such- und Ersetzen-Texte jeweils bequem in einem Requester eingegeben werden können.

    Variante: Mit einer weiteren Verfeinerung des Makros durch hinzufügen eines Optionsmenüs mit \OPT=, kann man sogar bequem auswählen, ob man Case Sensitive suchen will oder nicht:

    Makro S&Rgui2:
    CODE
    \TEXT.SR=\OPT={CS}"Gross/Kleinschreibung beachten","...ignorieren"\\INP=Suche Text:\,\INP=Ersetze durch:\\

    Das ist auch gleich ein gutes Beispiel wie mit \OPT= Parameter für eine ganz andere Funktion eingegeben werden können. Durch das Symbol {CS} wird die Suchen & Ersetzen Funktion angewiesen, Case Sensitive zu suchen wenn "Gross/Kleinschreibung beachten" gewählt wird. Der zweite Menüpunkt "...ignorieren" ist etwas "tricky": Wählt man diesen, so wird schlicht gar nichts übergeben (weil kein Text vor dem Menüpunkt definiert wurde) und die Suchen und Ersetzen Funktion ignoriert demnach Gross/Kleinschreibung.

    Text in Gross/Kleinschrift wandeln mit einem Auswahlmenü

    Makro kleGRO:
    CODE
    \OPT=\TEXT.LC\"Alles klein",\TEXT.UC\"Alles gross"\

    Damit wird ein Auswahlmenü definiert mit dem sich markierter Text schnell und einfach entweder komplett in Gross-Schrift oder Klein-Schrift wandeln lässt.

    Schlusswort
    Diese Beispiele zeigen die Kernelemente des Makro-Interpreters. Wie man sieht, lassen sich durch Kombination der einzelnen Variablen (Funktionen) durchaus komplexe Makros erstellen. Am schnellsten lernt man den Umgang mit diesen Variablen wenn man diese Beispiele einfach mal ausprobiert, Kleinigkeiten ändert und wieder ausprobiert. Dabei hilfreich ist auch das Testfenster welches sich jederzeit in SNTool über das Kontextmenü der Titelleiste (Rechtsklick) aufrufen lässt. Dort lassen sich "gefahrlos" alle Makros testen. Denn solange das Testfenster aktiv ist, gehen prinzipiell alle Ausgaben von SNTool nur noch an das Testfenster.

    Der Dateianhang enthält alle hier vorgestellen Beispiel-Makros als importierbares Makro-Set:


    Bearbeitet von Luke_Filewalker am 20.5.2010, 23:46

    Download Verbindung [ ZIP File ]
    Anzahl von Downloads: 364

    --------------
    Luke 'GTH' Filewalker
    ...may the backup be with you - always!
    Zitat: "Nicht gesicherte Dateien dürfen als gelöscht betrachtet werden"
  • Offline
    Top of Page Profile Contact Info WEB 
     Beitrag Nummer: 2
    Luke_Filewalker Search for posts by this member.
    Bastard Operator From Hell
    Avatar

    TeamIcon

    Gruppe: Administrators
    Beiträge: 891
    Seit: 23.12.2005
    PostIcon Geschrieben: 07.7.2009, 10:13 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

    Beispiele überarbeitet und neue hinzugefügt.

    --------------
    Luke 'GTH' Filewalker
    ...may the backup be with you - always!
    Zitat: "Nicht gesicherte Dateien dürfen als gelöscht betrachtet werden"
    Offline
    Top of Page Profile Contact Info WEB 
     Beitrag Nummer: 3
    Luke_Filewalker Search for posts by this member.
    Bastard Operator From Hell
    Avatar

    TeamIcon

    Gruppe: Administrators
    Beiträge: 891
    Seit: 23.12.2005
    PostIcon Geschrieben: 14.7.2009, 13:57 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

    Alle Beispiele als importierbares Makroset an Hauptpost angehängt.

    --------------
    Luke 'GTH' Filewalker
    ...may the backup be with you - always!
    Zitat: "Nicht gesicherte Dateien dürfen als gelöscht betrachtet werden"
    Offline
    Top of Page Profile Contact Info WEB 
     Beitrag Nummer: 4
    Luke_Filewalker Search for posts by this member.
    Bastard Operator From Hell
    Avatar

    TeamIcon

    Gruppe: Administrators
    Beiträge: 891
    Seit: 23.12.2005
    PostIcon Geschrieben: 03.8.2009, 10:43 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

    Makro-Set aktualisiert und Option3 hinzugefügt.

    --------------
    Luke 'GTH' Filewalker
    ...may the backup be with you - always!
    Zitat: "Nicht gesicherte Dateien dürfen als gelöscht betrachtet werden"
    Offline
    Top of Page Profile Contact Info WEB 
     Beitrag Nummer: 5
    Luke_Filewalker Search for posts by this member.
    Bastard Operator From Hell
    Avatar

    TeamIcon

    Gruppe: Administrators
    Beiträge: 891
    Seit: 23.12.2005
    PostIcon Geschrieben: 06.9.2009, 12:10 Skip to the previous post in this topic.  Ignore posts   QUOTE

    Angehängtes MakroSet auf das neue Format mit 20 Benutzermakros aktualisiert.

    --------------
    Luke 'GTH' Filewalker
    ...may the backup be with you - always!
    Zitat: "Nicht gesicherte Dateien dürfen als gelöscht betrachtet werden"
    Offline
    Top of Page Profile Contact Info WEB 
    4 Antworten seit 07.2.2006, 09:38 < Älteres Thema | Neueres Thema >

    [ bei Antworten benachrichtigen :: per E-Mail senden :: Thema ausdrucken ]


    Alle Beiträge auf einer Seite
    reply to topic new topic new poll