Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Funktion zum Finden eines Wildcard-Strings

  Alt 11. Sep 2007, 18:03
Zitat von SMALLID:
Im Prinzip ist mein Problem nur, Marker in einer Art Template-Email zu finden und mit Kundendaten zu ersetzen, um so die Anrede neu zu generieren ("Serienmail", wenn man so will). Das Problem ist aber so generell, dass ich da eigentlich ne elegante, bereits existierende Lösung vermutet hätte.
Achso, da hätte ich dir eine Idee/Lösung.
Ich würde die Variablen z.B. in zwei $-Zeichen einschliesen.
Das EMail-Template könnte dann so aussehen:
Code:
$GRUSSFORMEL$

Betreff: Ihre Bestellung vom $ORDERDATE$
Kundennumer: $CUSTOMERNO$

...
$DISCLAIMER$
Dann brauchst du nur noch die Variablennamen durch echten Text ersetzen:
Delphi-Quellcode:
s := template;
s := StringReplace(s, '$GRUSSFORMEL$', grussformel);
s := StringReplace(s, '$CUSTOMERNO$', kundennummer);
Wenn dir das zu starr ist, dann solltest du das Template Zeichen für Zeichen durchgehen.
Wenn es ein $-Zeichen ist, dann Position merken und weitersuchen bis zum nächsten $-Zeichen.
Nun hast du 2 Positionen und kennst den Text dazwischen.
Jetzt wird eine Callback-Methode aufgerufen (Input: Text zwischen den $-Zeichen, Output: Ersetzungstext)
Andreas
  Mit Zitat antworten Zitat