Moin Leute,
habe gerade ein echt riesiges Problem.
Ich habe eine Textdatei die sich so aufbaut:
********TEXTDATEI********
....
From: <absender@email.com
To: "Hans Dieter" <hansdieter@web.de>,
"Hans Ulrich" <hansulrich@web.de>,
"Du da" <duda@gmx.de>,
.....
********TEXTDATEI********
Folgenden Code verwende ich:
Sinn: Ich durchsuche die Email-Ablage meines Servers nach *.0tx Dateien.
In den *.0tx Dateien Suche ich nach dem Empfänger. Ziel ist es, die *.0tx Dateien ausfindig zu machen, die mehr als 20 Empfänger haben. Scheitere da glaube an einer Kleinigkeit,
da ich immer nur den ersten Empfänger herausbekomme.
Dazu kommt, dass ich doppelte Empfänger gerne löschen möchte.
Versteht jemand mein Problem und kann mir ganz schnell helfen? Wäre super.
Danke im Voraus
Habe mein erstes Problem gelöst. Hole mir die Daten so aus der Datei, dass sie so geschrieben werden wie ich es benötige. Allerdings finde ich keine gescheite Antwort in Foren, wie ich ohne ein Array doppelte einträge verhindern kann.
Z.B. jetzt in der Textausgabe. Oder generell. Ich überprüfe die Datei ja(Diese könnte mehrfach 'To: "duda" <duda@duda.de>' enthalten)und gucke ob es mehrere verschiedene Empfänger gibt. ist dem so dann will ich etwas bestimmtes machen.
Ich verzweifel
Threadtitel angepasst. ~Thunderbolt
habe gerade ein echt riesiges Problem.
Ich habe eine Textdatei die sich so aufbaut:
********TEXTDATEI********
....
From: <absender@email.com
To: "Hans Dieter" <hansdieter@web.de>,
"Hans Ulrich" <hansulrich@web.de>,
"Du da" <duda@gmx.de>,
.....
********TEXTDATEI********
Folgenden Code verwende ich:
VB.NET-Quellcode
- Sub GetFiles(ByVal path As String)
- Dim sFile As String
- Dim sPath As String
- Dim stext As String
- Dim Empfaenger As String
- Dim index1 As Integer
- Dim index2 As Integer
- Dim index3 As Integer
- sPath = "Verzeichnispfad"
- Try
- For Each sFile In My.Computer.FileSystem.GetFiles(sPath, FileIO.SearchOption.SearchAllSubDirectories, "*.0tx")
- stext = My.Computer.FileSystem.ReadAllText(sFile, System.Text.Encoding.Default)
- Try
- index1 = stext.IndexOf("To:")
- index2 = stext.IndexOf("<", index1)
- index3 = stext.IndexOf(">", index2)
- Empfaenger = stext.Substring(index2 + 1, index3 - index2 - 1)
- Debug.Print(vbCrLf & sFile & vbCrLf & Empfaenger & vbCrLf)
- Dim emp As String
- emp = sPath & vbTab & sFile & vbTab & Empfaenger & vbCrLf & vbCrLf
- ' My.Computer.FileSystem.WriteAllText("C:\Users\Anwender\Desktop\Testlesen.txt", emp, True)
- Catch ex As Exception
- End Try
- Next
- Catch ex As Exception
- End Try
- End Sub
Sinn: Ich durchsuche die Email-Ablage meines Servers nach *.0tx Dateien.
In den *.0tx Dateien Suche ich nach dem Empfänger. Ziel ist es, die *.0tx Dateien ausfindig zu machen, die mehr als 20 Empfänger haben. Scheitere da glaube an einer Kleinigkeit,
da ich immer nur den ersten Empfänger herausbekomme.
Dazu kommt, dass ich doppelte Empfänger gerne löschen möchte.
Versteht jemand mein Problem und kann mir ganz schnell helfen? Wäre super.
Danke im Voraus
Habe mein erstes Problem gelöst. Hole mir die Daten so aus der Datei, dass sie so geschrieben werden wie ich es benötige. Allerdings finde ich keine gescheite Antwort in Foren, wie ich ohne ein Array doppelte einträge verhindern kann.
Z.B. jetzt in der Textausgabe. Oder generell. Ich überprüfe die Datei ja(Diese könnte mehrfach 'To: "duda" <duda@duda.de>' enthalten)und gucke ob es mehrere verschiedene Empfänger gibt. ist dem so dann will ich etwas bestimmtes machen.
Ich verzweifel
Threadtitel angepasst. ~Thunderbolt
~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Thunderbolt“ ()