XMP - Extended Macro Plugin 1.1.4

  • Mit dieser Version können Texte, die gerade im Nachrichteneditor geschrieben werden, mit Schnellvorlagen verarbeitet und geändert werden (sh. Hilfe zu %XMP_SendKeys).


    Mit einem flexiblen Dialog (%XMP_MultiDlg) können Auswahls- und Optionslisten erstellt werden.


    Version 1.1.4:
    [+] Das Makro "%XMP_Decode" zum Dekodieren von MIME- und Quoted-Printable-Texten wurde hinzugefügt.
    [+] Das Makro "%XMP_LineBtw" zum Extrahieren eines Textes zwischen zwei bestimmten Textstellen wurde hinzugefügt.
    [+] Beim Makro "%XMP_MsgBox" können nun auch alternative Schaltflächentexte definiert werden.
    [+] Das Makro "%XMP_MultiDlg" zum Anzeigen von benutzerdefinierten Dialogen für Mehrfach- und Optionsauswahlen wurde hinzugefügt.
    [+] Das Makro "%XMP_SendKeys" zum Senden von Tastenkombinationen wurde hinzugefügt.
    [*] Die Erkennung von Adresslisten wurde verbessert.
    [*] Die Ermittlung des Plugin-Pfades wurde verbessert.


    DOWNLOAD
    Beschreibung

  • Fehler in der Hilfe zu XMP 1.1.14:
    Zeichenketten - StrTr:
    Beispiel und Ausgabe scheinen mir vertauscht zu sein.


    Betriebssystem - Process
    1. Zeile "Zeigt eine Liste..." ist nicht zuende geschreiben: "ob ein bestimmter ."


    Betriebssytem - SetClibB
    Letzte Zeile: ... keien ...


    Wäre es möglich unter Betreibssystem - MultiDlg ein Beispiel hinzuzufügen?


    Betriebssystem - SendKeys
    Im Beispiel ist auch ein Beispiel zu %XMP_QuoteAdd, gehört das dort hinein?



    Ich hätte noch einen Makro Wunsch:
    Das Makro sollte ein Fenster mit einem Textfeld, einem Zeichenzähler (für das Textfeld) und einen Ok Button haben. Zurückliefern sollte das Makro den Text, der ins Textfeld eingegeben wurde. Super wäre es, wenn man das Textfeld auf x Zeichen begrenzen (sowie den Zeichenzähler von diesem Wert aus rückwärts laufen lassen) könnte. Gibts hierfür Chancen?


  • Danke, werde ich ändern.


    Zitat

    Wäre es möglich unter Betreibssystem - MultiDlg ein Beispiel hinzuzufügen?


    Kommt in der nächsten Version.
    Z.B.:

    Code
    %XMP_MultiDlg("Dateierweiterungen auswählen",%-
    "Wähle die gewüschten Dateinamenerweiterungen aus...",
    0,"BMP$$Bitmap|GIF$X$Grafic Import Filter|%-
    JPEG$X$JPEG-Grafik|PNG$$Portable Network Grafic",2,%-
    "Los!","Vergiss es!"%-)


    Zitat

    Betriebssystem - SendKeys
    Im Beispiel ist auch ein Beispiel zu %XMP_QuoteAdd, gehört das dort hinein?


    Ja, mit QuoteAdd wird der mit SendKeys kopierte Text zitiert eingefügt.


    Zitat

    Ich hätte noch einen Makro Wunsch:
    Das Makro sollte ein Fenster mit einem Textfeld, einem Zeichenzähler (für das Textfeld) und einen Ok Button haben. Zurückliefern sollte das Makro den Text, der ins Textfeld eingegeben wurde. Super wäre es, wenn man das Textfeld auf x Zeichen begrenzen (sowie den Zeichenzähler von diesem Wert aus rückwärts laufen lassen) könnte. Gibts hierfür Chancen?


    Wozu soll ein Zähler bei einem Textfeld gut sein (außer für SMS)?
    Wieso ist es so wichtig wie lange ein Text ist?

  • Zitat

    Wozu soll ein Zähler bei einem Textfeld gut sein (außer für SMS)?
    Wieso ist es so wichtig wie lange ein Text ist?

    Wie du schon richtig vermutet hast: Zum SMS versandt. Wäre gerne das UMC PlugIn los geworden, wenns nicht geht (aus welchen gründen auch immer) ist es aber nicht tragisch.

  • Code
    %_Z1=-Hello World!-%-
    %_Z2=§Foobar§%-
    %XMP_MultiDlg("Adressauswahl", "Bitte wählen Sie eine Adresse aus:", 0, ID1$$%_Z1|ID2$$%_Z2,,,)


    Kann man für den Auswahltext Z1 und Z2 auch einen Variablenwert verwenden?


    Ich habe schon verschiedenene Notationen probiert:

    Code
    *** ERROR: Wrong parameter count *** Hello World!|ID2$$§Foobar§,,,)

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Könnte man für das Makro %XMP_DlgInput nicht einen Wert noch für den Titelzeilentext definieren?

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Ich versuche gerade via %XMP_StrItemCnt('%CLIPBOARD','\n') die Zeilenanzahl des markierten Textes in der Zwischenablage zubestimmen. Geht irgendwie nicht. Einen Tipp oder schon eine fertige Vorlage zum nummerieren von Zeilen?

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Zitat


    Ich habe schon verschiedenene Notationen probiert:

    Code
    *** ERROR: Wrong parameter count *** Hello World!|ID2$$§Foobar§,,,)


    Übergib alle erforderlichen Parameter und es wird funktionieren. :angel:

    Code
    %_Z1="Hello World!"%-
    %_Z2="Foobar"%-
    %XMP_MultiDlg("Adressauswahl","Bitte wählen Sie eine Adresse %-
    aus:",0,"ID1$$%_Z1|ID2$$%_Z2",0)
  • Code
    %_Lines="%XMP_StrLnCnt('%CLIPBOARD')"%-
    %XMP_For("y",1,%_Lines,"%%_y. %XMP_StrLines(%CLIPBOARD,'%%_y',1)")


    Wo habe ich hier einen Denkfehler bei der Zeilennummerierung?


    Aus:


    Wie beiläufig, beim Umblättern der Buchseiten, habe ich Dein B berührt.
    Man hatte Dich mir als Type geschildert, der man in allen Bibliotheken
    begegnet: sehr belesen, doch eher unscheinbar, von etwas


    wird:


    1. Wie beiläufig, beim Umblättern der Buchseiten, habe ich Dein B berührt.
    Man hatte Dich mir als Type geschildert, der man in allen Bibliotheken
    begegnet: sehr belesen, doch eher unscheinbar, von etwas
    2. Wie beiläufig, beim Umblättern der Buchseiten, habe ich Dein B berührt.
    Man hatte Dich mir als Type geschildert, der man in allen Bibliotheken
    begegnet: sehr belesen, doch eher unscheinbar, von etwas
    3. Wie beiläufig, beim Umblättern der Buchseiten, habe ich Dein B berührt.
    Man hatte Dich mir als Type geschildert, der man in allen Bibliotheken
    begegnet: sehr belesen, doch eher unscheinbar, von etwas

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

    Einmal editiert, zuletzt von beta ()

  • Verstehe ich nicht. Bitte um Erklärung.
    Ich habe das aus deiner Hilfe: %XMP_For("y",4,8,"%%_y. Zeile%XMP_StrChar(10)") abgeleitet.

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

    Einmal editiert, zuletzt von beta ()

  • Zitat


    Verstehe ich nicht. Bitte um Erklärung.
    Ich habe das aus deiner Hilfe: %XMP_For("y",4,8,"%%_y. Zeile%XMP_StrChar(10)") abgeleitet.


    Der 4. Parameter von XMP_For wird wieder an TB! zur Verarbeitung übergeben.
    Angenommen es sind 3 Schleifendurchläufe, dann wird, wenn du "%%_y" schreibst, 3 mal "%_y" an TB! übergeben. TB! ersetzt das "%_y" dann in den entsprechenden Wert.


    Wenn du "%_y" schreibst, ersetzt TB! das bereits bei der Übergabe an das XMP und das würde in den Schleifendurchläufen jedes mal den Wert der Variable "%_y" übergeben. Nur in deiner Schnellvorlage hast du dieser Variable noch keinen Wert zugewiesen, woduch ein leerer Text übergeben wird.


    "%XMP_StrChar(10)" gibt nur ein Linefeed-Zeichen (0x0A) zurück. Es wird das Linefeed-Zeichen sofort an das Plugin übergeben. TB! muss dann in den Schleifendurchläufen nicht nochmals das Makro an das Plugin zur Auswertung schicken. Man könnte genauso folgenden Code schreiben, was aber durch den Zeilenumbruch unübersichtlich ist:

    Code
    %XMP_For("y",4,8,"%%_y. Zeile
    ")
  • Danke.


    Könnte man das für Leute wie mich, die von Programmierung und so keinerlei Ahnung haben, nicht bissle besser beschreiben?

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.