vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
quotet-printable Email decodieren mit Visual Basic Bordmitteln 
Autor: Arne
Datum: 21.09.08 23:19

Hallo!

Ich habe heute einige Stunden im Netz nach einer Möglichkeit gesucht, quotet printet formatierte Emails (mit Header) in eine normale Visual Basic Zeichenkette umzuwandeln. Leider habe ich nur kostenpflichtige DLL Dateien gefunden oder es hat nicht funktioniert (z.B. mit CDO.Message)

Nach Stunden habe ich mich dann entschieden die Sache selber anzupacken und die Ergebnisse sind für meine Zwecke perfekt, meine Funktion dekodiert den Emailtext wunderbar. Vielleicht kann es ja jemand gebrauchen.

Optimierungstips sind herzlich willkommen !


Public Function Decode_Quotet_Printable(ByVal Text As String) As String
Dim Start As Integer
Dim Zeichen1, Zeichen2
 
Start = 0
Do
    Start = Start + 1
    Start = InStr(Start, Text, "=") 'Vorkommen vom = Zeichen suchen
 
    'Wenn nach = vbCrLf dann Zeilenwechsel
    Zeichen1 = Mid(Text, Start + 1, 2)
    If Zeichen1 = vbCrLf Then
        Text = Left(Text, Start - 1) & Mid(Text, Start + 3)
        Start = Start - 1
        GoTo Weiter
    End If
 
    'Nach = müssen 2 Zeichen von 0 bis 9 oder A bis F stehen
    Zeichen1 = Mid(Text, Start + 1, 1)
    If IsNumeric(Zeichen1) = False Then
        Zeichen1 = AscW(Zeichen1)
        If Zeichen1 > 70 Or Zeichen1 < 65 Then GoTo Weiter 'nicht A bis F
    End If
 
    Zeichen2 = Mid(Text, Start + 2, 1)
    If IsNumeric(Zeichen2) = False Then
        Zeichen2 = AscW(Zeichen2)
        If Zeichen2 > 70 Or Zeichen2 < 65 Then GoTo Weiter 'nicht A bis F
    End If
 
    '=> es handelt sich um ein HEX Code
    Text = Left(Text, Start - 1) & ChrW("&H" & Mid(Text, Start + 1, 2)) & Mid( _
      Text, Start + 3)
 
Weiter:
Loop Until Start = 0
 
Decode_Quotet_Printable = Text
 
End Function
Der Aufruf kann dann einfach so erfolgen:

Dekodierter_Emailtext = Decode_Quotet_Printable(Emailtext)
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
quotet-printable Email decodieren mit Visual Basic Bordmitte...847Arne21.09.08 23:19

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel