Lebensalter errechnen

  • Hallo!

    Ich lade mal ein wenig Quältext hoch, als Beispiel für The Bat! Makros mit RegExen, vielleicht hat jemand Verwendung dafür:

    Zweck: Ich hab die Geburtstagsbenachrichtigung aktiviert und eine Schnellvorlage erstellt, die Geburstag heißt, in der ein Betreff und Text als Mail generiert wird, in der dem Geburtstagskind zum Geburtstag gratuliert wird. Da ich sehr viele Geschäftskunden habe, ist diese eher formale Gratulation tolerabel.

    Code
    Hallo %TOFNAME,%-
    %COOKIE="c:\users\public\anwendungsdaten\thebat\cookie\geburtstag.txt"
    %INCLUDE="c:\users\public\anwendungsdaten\thebat\signatur\jsr1.txt"%-
    %QINCLUDE="_lib_PGP_Signature_de"
    %SUBJECT="Herzlichen Glueckwunsch zu Deinem %Qinclude=""_lib_Lebensalter""Geburtstag!"
    %ACCOUNT="jsr [web.de]"
    %CLEAR


    Inhalt der Cookie-Datei geburtstag.txt:

    Code
    \n\nich lese hier gerade, dass Du heute Geburtstag hast. Das ist für mich ein willkommener Anlass, Dir mit dieser Mail die herzlichsten Glückwünsche auszusprechen und Dir zu übersenden.\n\nAlles Gute für Deine weitere Zukunft!\n
    \n\nna? Wieder ein Jahr mehr? Und immer noch Spaß dabei?\nDann wünsche ich Dir alles Gute zu Deinem Geburtstag.\nOder alles, was Du dir wünscht.\nIn diesem Sinne: alles Gute für Deine weitere Zukunft!\n
    (...)


    Das Lebensalter kann man auf zwei Arten berechnen, einmal mit dem Plugin XMP_Plugin und zum anderen mit Bordmittlen und RegExen:
    Schnellvorlage _lib_Lebensalter mit XMP_Plugin:

    Code
    %_GDatum="%XMP_StrRight('%ABToBirthday',2).%-
    %XMP_StrMid('%ABToBirthday',5,2).%-
    %XMP_StrLeft('%ABToBirthday',4)"%-
    %_LAlter="%XMP_Age(%_GDatum)"%-
    %IF:"%_LAlter"="0":'':'%_LAlter. '%-


    Erläuterung:

    • Zeile 1-3: Eine Variable (%_GDatum) wird gefüllt mit dem Jahr, dem Monat und dem Tag des Geburtstags aus dem Adressbuch
    • Zeile 4: Das Lebensalter wird mit dem XMP-Makro %XMP_Age berechnet.
    • Zeile 5: Die If-Anweisung setzt entweder nichts ein, oder das Lebensalter mit nachfolgendem Punkt.

    Schnellvorlage _lib_Lebensalter mit RegExen:

    Code
    %_GDate="%SetPattRegexp='(....)'%RegexpMatch='%ABTOBirthday'"
    %IF:"%_GDate"="0":'':%CALC="%Date='yyyy'-%_GDate"


    Erläuterung:

    • Zeile 1: Aus dem Geburtsdatum wird mit einer RegEx das Geburtsjahr extrahiert und der Variable %_GDate abgelegt.
    • Zeile 2: Aktuelles Datum, bzw. die Jahreszahl minus Geburtsjahr ergibt das Lebensalter. Die If-Anweisung setzt entweder nichts ein, oder das Lebensalter mit nachfolgendem Punkt.

    So, das wars, falls noch jemand bessere Ideen hat, gern...!

    Jörg Schiermeier
    Informatiker, Bielefeld

    The Bat! professional v9.x (32bit NAU) mit XMP-, Regula- und Shell-Plugin • wine v9.x • devuan linux (excalibur/ceres)

    3 Mal editiert, zuletzt von sotel (7. April 2010 um 00:01) aus folgendem Grund: Fehler in RegExp korrigiert

  • Hallo sotel,

    das ist doch mal eine Ehre - herzlichen Glückwunsch zum 10.000sten Thread! :)

    Ein Auto hat einen Platten. Woran erkennt man, dass der Fahrer Informatiker ist?
    Ganz einfach: Er überprüft, ob der Fehler auch an einem anderen Reifen auftritt.

  • Was für ein schöner Inhalt für das 10.000ste Thema! Zum Jubiläum eine Geburtstagsvorlage; hat was.

    das ist doch mal eine Ehre - herzlichen Glückwunsch zum 10.000sten Thread!

    Danke für die Blumen! @>-`-,--

    Das ist wirklich ein Zufall und: eine besondere Ehre!

    Danke auch an Euch, die Ihr das Forum hier am Laufen haltet, an die Admins/innen, die Moderatoren/innen und alle anderen.

    Jörg Schiermeier
    Informatiker, Bielefeld

    The Bat! professional v9.x (32bit NAU) mit XMP-, Regula- und Shell-Plugin • wine v9.x • devuan linux (excalibur/ceres)

  • Übertreibt mal nicht, in der Datenbank ist es das 10463ste Thema

    OK, dann bedanke ich mich bei allen, die mir zum zehntausendvierhundertdreiundsechzigsten Thema gratuliert haben. In welchem anderem Forum wird einem so eine Ehre zuteil?

    Vielleicht sollten wir, wenn überhaupt, diesen Thread dann auf der Couch weiterführen?

    Jörg Schiermeier
    Informatiker, Bielefeld

    The Bat! professional v9.x (32bit NAU) mit XMP-, Regula- und Shell-Plugin • wine v9.x • devuan linux (excalibur/ceres)

  • vorher:

    Code
    Hallo %TOFNAME,%-
    %COOKIE="c:\users\public\anwendungsdaten\thebat\cookie\geburtstag.txt"
    %INCLUDE="c:\users\public\anwendungsdaten\thebat\signatur\jsr1.txt"%-
    %QINCLUDE="_lib_PGP_Signature_de"
    %SUBJECT="Herzlichen Glueckwunsch zu Deinem %Qinclude=""_lib_Lebensalter""Geburtstag!"
    %ACCOUNT="jsr [web.de]"
    %CLEAR

    Hallo!
    Noch eine Ergänzung:
    Als ich einer guten Bekannten und Geschäftspartnerin kurz nach Mitternacht zu ihrem xy. Geburtstag mit der hier beschriebenen Mail gratuliert hab, hat sie mir später im persönlichen Telefonat, ganz beiläufig im Nebensatz und leicht säuerlich erwähnt (das ist erfahrungsgemäß eine ernst zu nehmende Drohung), doch darauf hingewiesen, das sie nicht so gern daran erinnert werden möchte, dass sie nun schon xy Jahre alt ist.
    Sollte ich mir den Spruch zueigen machen, das Frauen ab einem bestimmten Alter zum wiederholten Male 35 Jahre (bzw. 25 Jahre) alt werden?
    Ich sollte, so mein Entschluß. Bevor mir also wieder mal einer meiner bekannten Ladies verbal eins überbrät, hab ich eine kleine Variation von o.g. Code erstellt:

    nachher:

    Sollten sich demnächst auch einige männliche Bekannte beschweren, dann muß ich wohl soetwas wie eine Erinnerungs-Blacklist erstellen...

    In diesem Sinne: hold on hacking!

    Hab ich schon erwähnt, dass das alles unter wine@sidux läuft?
    Hiermit geschehen.

    Jörg Schiermeier
    Informatiker, Bielefeld

    The Bat! professional v9.x (32bit NAU) mit XMP-, Regula- und Shell-Plugin • wine v9.x • devuan linux (excalibur/ceres)

    Einmal editiert, zuletzt von sotel (23. April 2010 um 23:43)