AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Lesen/Schreiben von Dateieigenschaften per DSOFile.dll
Thema durchsuchen
Ansicht
Themen-Optionen

Lesen/Schreiben von Dateieigenschaften per DSOFile.dll

Ein Thema von norwegen60 · begonnen am 4. Apr 2015 · letzter Beitrag vom 4. Apr 2015
Antwort Antwort
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#1

Lesen/Schreiben von Dateieigenschaften per DSOFile.dll

  Alt 4. Apr 2015, 12:09
Hallo zusammen,

ich lese und beschreibe die Dateieigenschaften diverser Dokumente über die Microsoft-DLL DsoFile.dll. Das funktioniert auch super und mit allen möglichen Dateiformaten.
Das Blöde nur:
  • Ich kann die Eigenschaften auch in Formate wie jpg, txt, zip, ini, pdf ... schreiben und wieder auslesen.
  • Wenn ich aber z.B. die Eigenschaft "Titel" im Explorer anzeigen lasse, wird dort mein Eintrag nur bei doc, docx, xls, xlsx, msg, ... angezeigt, also den Office-Dokumenten
Hat jemand eine Lösung, wie ich die Eigenschaften so beschreibe, dass er auch bei den anderen Dateiformaten im Explorer angezeigt werden kann.

Eigentlich wäre meine Erwartungshaltung, dass es eine vom Dateiformat völlig unabhängige Art gibt um zumindest ein paar Grundinformationen zu hinterlegen, aber ich weiß, dass es leider unzählige Arten gibt. Vielleicht gibt es ja aber doch einen kleinsten gemeinsamen Nenner.

Danke und Grüße
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Lesen/Schreiben von Dateieigenschaften per DSOFile.dll

  Alt 4. Apr 2015, 12:23
Wo sollten die Informationen denn z.B. in einer INI-Datei oder Textdatei z.B. landen?
Wenn das Dateiformat diese Informationen nicht speichern kann, können sie auch nicht darin gespeichert werden.

Es wäre ja auch blöd, wenn in der Datei z.B. am Anfang plötzlich noch solche Zusatzinformationen drin stünden...

Was möchtest du denn erreichen?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Lesen/Schreiben von Dateieigenschaften per DSOFile.dll

  Alt 4. Apr 2015, 13:02
Es gibt auch andere Dateitypen, welche erweiterte Eigenschaften/Tags kennen (JPG, MP3, PDF...). Diese müsstest Du aber getrennt behandeln.

Dies für alle Typen zu implementieren wäre etwas komplexer, hierfür müsste man die Eigenschaften wo anders speichern (z.B. in ADS) und man würde auch eine Erweiterung des Explorers benötigen, welche diese auslist und entsprechend anzeigt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Lesen/Schreiben von Dateieigenschaften per DSOFile.dll

  Alt 4. Apr 2015, 13:11
Ich tippe mal darauf das hier MS wieder eine halbgare Lösung anbietet.
DsoFile.dll wird die Infos für Dateien die es nicht in der Datei speichern kann in einer eigenen DB speichern. Leider hat man vergessen diese DB auch dem Windows Explorer bekannt zu machen so das dieser nur aus den Dateiheadern von doc und Co. auslesen kann.


Aber wie schon gesagt:
Was möchtest du denn eigentlich erreichen? Welchen Nutzen erwartest du wenn du das machst?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Lesen/Schreiben von Dateieigenschaften per DSOFile.dll

  Alt 4. Apr 2015, 13:13
Nein, es wird schon in die Datei geschrieben, die DSOFile gehört aber zu Office und kennt halt nur die Officeformate.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Lesen/Schreiben von Dateieigenschaften per DSOFile.dll

  Alt 4. Apr 2015, 14:18
Nein, es wird schon in die Datei geschrieben, die DSOFile gehört aber zu Office und kennt halt nur die Officeformate.
Und wie geht dann das?
Zitat:
Ich kann die Eigenschaften auch in Formate wie jpg, txt, zip, ini, pdf ... schreiben und wieder auslesen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Lesen/Schreiben von Dateieigenschaften per DSOFile.dll

  Alt 4. Apr 2015, 16:32
Die DLL nutzt laut Dokumentation OLE, insofern gehen auch andere Dateien, sofern das über OLE damit funktioniert. Aufgelistet sind ja sowohl die Office-Dateien als auch "andere Dateien":
https://support.microsoft.com/en-us/...?wa=wsignin1.0
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Lesen/Schreiben von Dateieigenschaften per DSOFile.dll

  Alt 4. Apr 2015, 16:37
Zitat:
* Andere Dateien, ohne dass die dazugehörigen Office-Produkte installiert sind

Die Beispieldatei "Dsofile.dll" ist in Microsoft Visual C++ erstellt. Sie demonstriert, wie mithilfe der IPropertyStorage-OLE32-Schnittstelle auf die erweiterten Eigenschaften von OLE Structured Storage-Dateien zugegriffen wird.
Dazu müssten die Dateien aber auch das entsprechende Format verwenden.

https://en.wikipedia.org/wiki/COM_Structured_storage
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz