AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Wie kann ich Outlook-Header aus *.MSG-Dateien auslesen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich Outlook-Header aus *.MSG-Dateien auslesen?

Ein Thema von wmenzel · begonnen am 9. Dez 2004 · letzter Beitrag vom 11. Mär 2010
 
panch

Registriert seit: 9. Mär 2010
Ort: Herrsching am Ammersee
7 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Wie kann ich Outlook-Header aus *.MSG-Dateien auslesen?

  Alt 11. Mär 2010, 14:47
Schönen Tag allerseits,

gerade frisch wegen des vorliegenden Threads angemeldet, will ich ihn aus der Versenkung emporheben und schauen, ob mir jemand einen Tip geben kann, wie ich einen geänderten Stream nicht nur speichern, sondern auch seine Länge, die in meinem Fall kürzer ist als zuvor, enstprechend anpassen kann.

Zu Testzwecken habe ich mir den von sakura dankenswerterweise erstellten und zur Verfügung erstellten Quellcode geholt und damit ein wenig experimentiert. Die, wie mir scheint, für mich entscheidende Methode ist dabei die Methode LoadHeaders, denn darin erhalte ich über den TOLEStream OS Zugriff auf meinen Stream, den ich tatsächlich ändern und speichern kann (in Wahrheit ersetze ich seinen Inhalt vollständig durch einen neuen Inhalt). Mein Problem besteht nun aber darin, daß beim Speichern des geänderten Streams die alte Länge (Size) des Streams nur dann an die neue Länge angepaßt wird, wenn der Stream länger ist, nicht jedoch wenn er kürzer ist.

Folgende Zeilen hab ich in die oben genannte Methode zum Experimentieren eingefügt:

Delphi-Quellcode:
var
  myBytesStream: TBytesStream;

...
        OS.Seek(0, soFromBeginning);
        OS.CopyFrom(myBytesStream, 0);
...
        aStorage.Commit(STGC_DEFAULT);
Die Frage also: Wie kann ich den alten Stream-Inhalt löschen bzw. die Länge des Streams auf 0 zurücksetzen, bevor ich den neuen Inhalt zuweise?

Diese Frage mag nun dem einen oder anderen als eine dumme Frage erscheinen und vielleicht denke ich ebenfalls so, sobald ich die Antwort kenne, doch im Moment bin ich leider ein wenig ratlos.

Kurz zu mir: Um es gleich vorweg zu sagen, ich bin eigentlich alles andere als ein Pascal-Neuling (Turbo Pascal kenne ich beispielsweise seit er Version 2), aber mit Compound Documents, die zwar ein alter Hut, aber dennoch neu für mich sind, und dem Haufen verschiedener Streams und Storages, die Delphi 2010 mitbringt, habe ich als der Ab-und-zu-Programmierer, der ich seit Anfang der 90er bin, keinerlei Erfahrungen.

Ich bedanke mich gleich mal vorab für die Hilfe.

Viele Grüße
Franz
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz