Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: DanielS am 25.08.06 - 09:36:11

Titel: aus Mail-Subject einen String selectieren
Beitrag von: DanielS am 25.08.06 - 09:36:11
Hallo Zusammen,

ich brauche mal wieder Eure Hilfe.

Ich muss aus einer Mail aus dem Subject einen bestimmten Sting rauslesen, der leider nicht immer an der selben Stelle steht.

z.B. steht im Subject:

SON200600015791S12
AW: SON200600015791S12
SON200600015791S12 Kundeninformation zu XYZ-Auftragsnr.: 0000018251

dieser SON-Nummer muss ich auslesen, da ich diese für eine Dokument-Collection benötige.

Ich brauch also einen flexiblen Algorythmus, der mir die Nummer liefert, egal wo sie steht.

SON200 ist definitiv immer in der Nummer.

Danke für Eure Hilfe!

Titel: Re: aus Mail-Subject einen String selectieren
Beitrag von: rar am 25.08.06 - 09:54:07
Hi Daniel,

wenn deine SON-Nummer immer gleich lang ist und mit son200 anfängt, lannst du mit "instr" die Position der SON-Nummer ermitteln und dann mit "mid" die Komplette Nummer auslesen.

HTH
-auchdaniel
Titel: Re: aus Mail-Subject einen String selectieren
Beitrag von: DanielS am 25.08.06 - 10:00:59
hi,

ja, hab auch so angefangen, nur leider komm ich da nicht ganz klar.

Subjectstring1$ = "SON200"
      
memosubject$ = docCon.Subject(0)
memosubject$ = Trim (memosubject$)              
position% = Instr(1, memosubject$, Subjectstring1$)     
position% = position% + 12
memosubject$ = Trim(Mid(memosubject$, position%))

Mein Problem ist, das er zwar den Anfang findet, aber dann gibt er mir nur die letzten 5 Stellen des Strings.

Hate jemand evt. nen Vorschlag?
Titel: Re: aus Mail-Subject einen String selectieren
Beitrag von: rar am 25.08.06 - 10:13:09
Schau dir mal die Hilfe und Parameter von mid an!

Mid[$] ( expr , start [ , length ] )

In deinem Beispiel müsste es so ausschauen:
position% = Instr(1, memosubject$, Subjectstring1$)
memosubject$ = Trim(Mid(memosubject$, position%, 18))

Dann hast du die ersten 18 Stellen (incl. son200) nach der Position, die du mit instr ermittelt hast
Titel: Re: aus Mail-Subject einen String selectieren
Beitrag von: DanielS am 25.08.06 - 11:15:52
wow, perfekt....funzt!!!


Danke



...war ja nur knapp daneben, hehe :D
Titel: Re: aus Mail-Subject einen String selectieren
Beitrag von: jan2k am 28.09.06 - 12:50:29
Hallo.
Ich benötige das auch und habe das für mich abgewandelt, da ich aber von Scipt noch nicht wirklich die Ahnung habe, wollte ich fragen, ob es ein
Berechnettes Feld sein muss, und ob man das in Entering Exiting Initialize oder Terminate eintragen muss, oder ob es eine Script-Bibiolothek sein muss?
Danke für die Hilfe.

   
   Subjectstring1$ = "ITKM"
   
   memosubject$ = docCon.Subject(0)
   memosubject$ = Trim (memosubject$)             
   position% = Instr(1, memosubject$, Subjectstring1$)
   memosubject$ = Trim(Mid(memosubject$, position%, 16))
   memosubject$ = Trim(Mid(memosubject$, position%))
Titel: Re: aus Mail-Subject einen String selectieren
Beitrag von: dirk_2909 am 28.09.06 - 12:58:16
Hallo

Zitat
wollte ich fragen, ob es ein
Berechnettes Feld sein muss,

nein - Muss nicht....

Zitat
und ob man das in Entering Exiting Initialize oder Terminate eintragen muss,

Nein - man kann / muss es auch woanders eintragen...

Zitat
oder ob es eine Script-Bibiolothek sein muss?

Nein - LS muss man nicht unbedingt in eine Bib packen...


Zitat
da ich aber noch Scipt nicht wirklich die Ahnung haben,

Dann mach es doch ohne LS, sondern mit @Formulas...

Wie Du genau Vorgehen musst bzw. es umsetzt können wir Dir nicht sagen, da wir den Sachverhalt nicht genau kennen!?




Titel: Re: aus Mail-Subject einen String selectieren
Beitrag von: jan2k am 28.09.06 - 14:21:40
Ok, folgendes habe ich gemacht:

Feld in Teilmaske zu einem Maildokument: Berechnet beim Anlegen: DOCNR ; Wert = "ITKM "+@Unique
Wenn man jetzt eine Mail erstellt, ist im Subject der Inhalt aus DOCNR

Das wäre mein Ziel:


Bei einer Antwort, soll er jezt im Feld DOCNR keinen neuen Wert erzeugen, sondern den übernehemen, den er in "Subjekt" (oder Text?) irgendwo gefunden hat, wobei die Nummer immer ITKM+12Stellen ist.

Sinn: Wiederfinden eines ganzen Vorgangens.

Sorry, für den sinnlosen Satz vorhin...