Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: HeiCore am 02.03.04 - 09:00:28

Titel: Import aus Textdatei
Beitrag von: HeiCore am 02.03.04 - 09:00:28
Hi!

Wie lese ich in einem Agenten aus einer Textdatei 2 bestimmte Zeilen aus?

Diese stehen im Absatz nach dem Wort: "Text:"

Diese sollen in eine Mail gebracht werden, wie auch 2 Dateianhänge.

Wer hilft mir armen Notes-Rookie?

Irgendwann schaffe ich es auch!

;-)

Danke schonmal.

HeiCore
Titel: Re:Import aus Textdatei
Beitrag von: ata am 02.03.04 - 09:14:09
... in LS kannst du mit Instr(...) die Position eines Textstrings in einem anderen String suchen. Wenn der Text enthalten ist erhälst du eine Positionsangabe.

Ab da musst du dann verzweigend deuínen Wert suchen mit "if - when"oder "while not - do loop"...

Einen Import aus einer Textdatei habe ich auf meiner Homepage...

ata
Titel: Re:Import aus Textdatei
Beitrag von: HeiCore am 02.03.04 - 09:44:02
Hi!

So sieht die Datei aus:

-----------------------------------------------
Erklärung:

Diese Datei enthält die Infos für den Email Versand.
Kopieren Sie die Daten in Ihre Email an die entsprechende Stelle
und erstellen die Dateianhänge

Die Dateien finden Sie unter:
P:\dakotaag\daten\FremdEM\DDD\EBNA0001.auf
P:\dakotaag\daten\FremdEM\DDD\EBNA0001


AN: da@dta.xx.de
Von:  
Betreff:22449951

Text:
EBNA0001.auf,348,20040301:1332
EBNA0001,11898,20040301:1332

-----------------------------------------------

Ich möchte ja aber nur die letzten 2 Zeilen in den Body.

Kann ich noch etwas genauere Hilfe bekommen? Bin tatsächlich blutiger Anfänger im "coden".

Ich nehme also deine Funktion.

Aus diesem Array kann ich mir dann mit "Instring" die Position holen?

Gibt es auch soetwas wie: "@Word" in LS?

Danke nochmal.
Titel: Re:Import aus Textdatei
Beitrag von: ata am 02.03.04 - 10:07:27
... mein Script liest Zeile für Zeile - du prüfst also jede Zeile auf "Text", dazu brauchst du keinen Instr()
dann noch zwei Zeilen einlesen und du hast was du brauchst...

ata
Titel: Re:Import aus Textdatei
Beitrag von: HeiCore am 02.03.04 - 10:27:52
Hi!

Kann ich das mal "kryptisch" bekommen?

Bin völlig überfordert.

Wie bekomme ich denn überhaupt mein sRow in einen String?

Muss ich die Funktion direkt in den restlichen Code einbauen oder kann ich die auch als Funktion stehen lassen?

Hilfe.
Titel: Re:Import aus Textdatei
Beitrag von: ata am 02.03.04 - 10:48:03
... wenn du es nicht allzu eilig hast...

ata
Titel: Re:Import aus Textdatei
Beitrag von: HeiCore am 02.03.04 - 10:59:07
Danke.

Ich kann es ja nicht eilig haben, weil ohne Ahnung dauert es wahrscheinlich gegen Unendlich!

;-)

Ist das denn viel? So wie es sich anhört doch nicht?
Titel: Re:Import aus Textdatei
Beitrag von: ata am 02.03.04 - 11:29:19
... nö ist nicht viel , aber Zeitproblem - du kannst ja mal selbst ein bißchen probieren, vielleicht gelingt es dir dann ja...

ata
Titel: Re:Import aus Textdatei
Beitrag von: HeiCore am 02.03.04 - 11:34:18
Hier mein Auszug: (wie es nicht läuft)

sRow ist nach dem Durchlauf der Funktion leer.


'Datenbank, in der das Skript läuft
   Set db = Session.CurrentDatabase
   
   'Document erzeugen (für Mail)
   Set doc = db.createDocument
   
   'Formularnamen setzen
   doc.Form="Memo"
   
   Stop
   ' Textzeilen auslesen   
   Call ImportFromFile("G:\KB\KBI\Bruns\Paisy\FremdEM\DD\EBNA0001.txt")
   
   
   Stop
   
   'Felder setzen
   doc.subject="22449951 - DEÜV DD - " & Date
   doc.SendTo = Mail_Adresse_KK$
   doc.Body = "Test"& Chr(13)_
   & Chr(13)_
   & Chr(13)_
   & sRow
   
   'Anlegen eines RichTextItems / Aufnahme Dateianhang
   Set richText = New NotesRichTextItem(doc,"Anhang")
   
   'Dateianhang zuweisen   
   Set embObject = richText.EmbedObject(EMBED_ATTACHMENT,"", Import1datei$)
   Set embObject = richText.EmbedObject(EMBED_ATTACHMENT,"", Import2datei$)
   
   'Mail senden
   doc.send False
   
   'Exportdatei löschen
   ' Kill Importdatei$
End Sub

Titel: Re:Import aus Textdatei
Beitrag von: ata am 02.03.04 - 11:49:43
... die Funktion liefert dir ein Array zurück

Dim vArray as Variant
vArray = ImportFromFile( ... )

... damit hast du alle Zeilen in einem Array

Dim i As Long
For i = Lbound(vArray) to Ubound(vArray)
   If vArray(i) = "Text" Then
      ' # Trefffer - in den nächaten zwei Zeilen kommen deine Zeilen...
   End If
Next

ata
Titel: Re:Import aus Textdatei
Beitrag von: HeiCore am 02.03.04 - 12:34:54
DANKE.
Titel: Re:Import aus Textdatei
Beitrag von: klaussal am 02.03.04 - 12:36:55
... und bitte auf erledigt setzen.