Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: lotus blue am 29.08.05 - 14:02:09

Titel: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: lotus blue am 29.08.05 - 14:02:09
Hallo,


ist es möglich, einen Anhang (txt) nach bestimmten Werten (Dateinamen usw.) zu durchsuchen und diese dann in ein Feld zu übernehmen?

Habe dazu noch nichts passendes gefunden.

Ein hoffender lotus blue. ::)

Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: Thomas Schulte am 29.08.05 - 14:05:54
Wenn du dir einen Parser schreibst, dann ja.
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: lotus blue am 29.08.05 - 14:11:37
Wenn du dir einen Parser schreibst, dann ja.


 ;D ;D ;D ;D :o :o :o :o :o :o :o :o :o ??? ??? ??? ???

 ->    :-:      Ja dann geht es wohl nicht
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: eknori am 29.08.05 - 14:13:08
rückst du mit ein paar Informationen zum Aufbau der Textdatei raus ??
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: lotus blue am 29.08.05 - 14:21:48
Ja liebend gerne.


Die Datei enthält Text und irgendwo zwischendrin sind Dateinahmen von Fehlern z.B.

........
........
FE658968
FE123566
......
........

Der Name der Fehlerdatei ist immer in dem Format:
FE und dann 6 Ziffern.

Diese sollten gefunden werden.

Vielen Dank schon mal für die schnelle Reaktion auf den Beitrag.
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: Thomas Schulte am 29.08.05 - 14:29:15
Na dann mit Line input und Split und einer kleinen Schleife und length und isnumeric(2 bis 7)
oder mit
Line Input, Instr (und ein wenig Logik um mögliche Mehrfachvorkommen zu überprüfen) und isnumeric dawodu gerade gefunden wurdest (2bis7).

Ach ja, das ganze ergänzt um File Handling.

Findet man übrigens alles in der Online Hilfe.

Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: robertpp am 29.08.05 - 14:29:26
Das sollte doch so in der Richtung funktionieren:

   datfile="File.txt"
   FileNum = FreeFile()
   Open datFile for Input as #FileNum
   Do While Eof(FileNum)<>-1

     Input #FileNum, qString

     if Left(qString,2) = "FE" then
        
Msgbox "gefunden"
      
      
      end if
   Loop
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: robertpp am 29.08.05 - 14:31:11
Aja Thomas so hätte es man auch erklären können.  ;D

Aber der Rest ist ja dann doch nur noch Verschönerung
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: Thomas Schulte am 29.08.05 - 14:31:47
Lass ihn doch auch ein wenig selber denken.  ;)

Roberts Methode funktioniert übrigens dann und nur dann, wenn die Dateinamen immer an Anfang einer Zeile stehen.
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: eknori am 29.08.05 - 14:33:49
Könnte man auch mit REGEXP machen  ;D

Class RegExp

   '''   RegExp -- use VBScript RegExp object to provide regular expressions
   '
   '   2004-06-03   David Phillips, rfdinc.com   First version.

   Public matches As Variant
   Public oRegExp As Variant

   ' VBScript RegExp properties
   Public Pattern As String
   Public IgnoreCase As Boolean ' default = False
   Public Global As Boolean ' default = False

   Sub new ()
      Set oRegExp = CreateObject ("VBScript.RegExp")
   End Sub

   Public Function Match (source As String, pattern As String, matches As Variant) As Boolean
      ' RegEx.Match -- scan source for pattern, set matches collection and return true if any
      ' (Can't call it Execute as that collides with LotusScript built-in function and statement.)
      With oRegExp
         .Pattern = pattern ' regular expression to match
         .IgnoreCase = IgnoreCase
         .Global = Global
         Set matches = .Execute (source) ' do match
         Match = (Not 0 = matches.count)
      End With
   End Function

   Public Function Replaces (source As String, pattern As String, replacement As String) As String
      ' RegEx.Replaces -- scan source for pattern, if found substitute replacement, return result
      ' (Can't call it Replace as that collides with LotusScript built-in function.)
      With oRegExp
         .Pattern = pattern
         .IgnoreCase = IgnoreCase
         .Global = Global
         Replaces = .Replace (source, replacement) ' do replace
      End With
   End Function

   Public Function Test (source As String, pattern As String) As Boolean
      ' RegEx.Test -- scan source for pattern, return true if found
      With oRegExp
         .Pattern = pattern
         .IgnoreCase = IgnoreCase
         Test = .Test (source)
      End With
   End Function

End Class

Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: robertpp am 29.08.05 - 14:34:06
Ja ist eh noch etwas zum machen das war ja der kleinere "Standard" Teil.  ;)
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: robertpp am 29.08.05 - 14:35:13
Ja Ulrich du musst schon wieder mal übertreiben.  ;D ;D ;D
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: lotus blue am 29.08.05 - 14:37:09
Ein fettes Dankschön an Euch.

Wahnsinn.

Werd es mal probieren ob es schon geht  ;D
Nein, Danke nochmal.

Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: Thomas Schulte am 29.08.05 - 14:37:39
Genau Ulrich. Das ist jetzt aber wirklich mit Spatzen auf Kanonen geschossen.  8)
Außerdem musst du da noch abprüfen ob VBScript überhaupt als Objekt vorhanden ist und Platformunabhängig ist das jetzt auch nicht.  :P
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: Thomas Schulte am 29.08.05 - 14:39:49
Könnte man auch mit REGEXP machen ;D
Das könnten wir doch eigentlich auch in die Lib.Application.Validation im !!Help!! mit einbauen. Oder?
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: Thomas Schulte am 29.08.05 - 14:56:21
Könnte man auch mit REGEXP machen ;D
Das könnten wir doch eigentlich auch in die Lib.Application.Validation im !!Help!! mit einbauen. Oder?
Eingebaut. Jetzt müssen wir das nur noch testen.
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: Thomas Schulte am 29.08.05 - 15:12:38
und die Regular Expression für die Dateien wäre dann ^FE[0-9]{6}. Oder?
Titel: Re: Anhang (txt) durchsuchen und Werte übernehmen
Beitrag von: Thomas Schulte am 29.08.05 - 15:29:52
Wobei die Klasse scheinbar nicht korrekt mit den Quantoren zurechtkommt.
Zumindest liefert er mir für diesen Begriff FE[0-9]{6} immer False zurück.
Mit diesem Begriff FE[0-9][0-9][0-9][0-9][0-9][0-9] bekomme ich True.