Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Dateiinfo - Titel ändern (https://www.delphipraxis.net/25726-dateiinfo-titel-aendern.html)

StefanDP 11. Jul 2004 13:13


Dateiinfo - Titel ändern
 
Hi!
Ich will den Titel einer Datei ändern (Rechtsklick - Eigenschaften - Dateiinfo - Titel)
Nur nicht von Hand, sondern irgendwie mit irendwelchen winapi (zur not auch komponente oder irgendwas mit dem es funzt) Funktionen.

Ist das möglich?
Hab zwar mit der Suche bissl was gefunden, hat mich aber nicht wirklich weitergebracht.

Stefan

Luckie 11. Jul 2004 14:41

Re: Dateiinfo - Titel ändern
 
Du musst nur den Code von SetFileCommenT etwas anpassen: http://www.luckie-online.de/Downloads/.

StefanDP 11. Jul 2004 17:03

Re: Dateiinfo - Titel ändern
 
Vielen Dank!
Es funzt perfekt!

:dp:

MathiasSimmack 11. Jul 2004 17:17

Re: Dateiinfo - Titel ändern
 
Benutzt du eigentlich noch deine Originalunit, Luckie? Oder doch die etwas ausgefeiltere Variante, die wir auch hier mal in der DP diskutiert hatten? Es war nämlich, ohne respektlos sein zu wollen, noch jede Menge verbesserungswürdig.

Zur Erinnerung: klick

StefanDP 11. Jul 2004 18:57

Re: Dateiinfo - Titel ändern
 
Es funzt jetzt z.b. für .bat Dateien!
Aber für .jpg Dateien ändert sich der Titel nicht :gruebel:

Wie kann ich den Titel einer jpg ändern?
Soviel ich weiß gehört der titel ja nicht zu den exif daten!?

stefan

MathiasSimmack 11. Jul 2004 19:13

Re: Dateiinfo - Titel ändern
 
Zitat:

Zitat von StefanDP
Aber für .jpg Dateien ändert sich der Titel nicht :gruebel:
Soviel ich weiß gehört der titel ja nicht zu den exif daten!?

Wenn er in nicht in diesem Register steht, das durch Windows hinzugefügt wird (Datei-Info), dann schon. Ansonsten könntest du mal einen Blick auf den o.g. Beitrag (s. Link) werfen. Ganz am Ende, im letzten Post, befindet sich eine Unit, die bis jetzt noch keiner runtergeladen hat.

Nicht, dass ich darüber traurig wäre ... Aber es gibt neben den Kommentaren noch andere "Kategorien". Evtl. ist der Titel einer JPEG anderweitig erreichbar, so wie bspw. der Eintrag "Quelle" auch zu einer anderen Kategorie in diesen Storages gehört.

MathiasSimmack 11. Jul 2004 19:40

Re: Dateiinfo - Titel ändern
 
Zitat:

Zitat von MathiasSimmack
Wenn er in nicht in diesem Register steht, das durch Windows hinzugefügt wird (Datei-Info), dann schon.

Anscheinend auch dann, wenn er in diesem Register steht. Es sieht so aus, als würde Windows den Titel in dem Fall doch in diesem Exif-Header speichern, denn Luckies Reader zeigt sie mir an, während die Unit nicht darauf reagiert. Aber das liegt nicht an der Unit sondern schlicht an der "Cleverness" von Windows.

StefanDP 11. Jul 2004 20:30

Re: Dateiinfo - Titel ändern
 
Zitat:

Zitat von MathiasSimmack
Zitat:

Zitat von MathiasSimmack
Wenn er in nicht in diesem Register steht, das durch Windows hinzugefügt wird (Datei-Info), dann schon.

Anscheinend auch dann, wenn er in diesem Register steht. Es sieht so aus, als würde Windows den Titel in dem Fall doch in diesem Exif-Header speichern, denn Luckies Reader zeigt sie mir an, während die Unit nicht darauf reagiert. Aber das liegt nicht an der Unit sondern schlicht an der "Cleverness" von Windows.

das heißt? :gruebel:

StefanDP 11. Jul 2004 20:43

Re: Dateiinfo - Titel ändern
 
Nächses Problem:

In Eigenschaften - Dateiinfos - Beschreibung - Titel steht nix,
wenn ich mir jedoch mit deiner Unit (bzw. allgemein) mit GetFileSummaryInfo(...,FMTID,SummaryInfo, PIDSI_TITLE) den Titel anzeigen lass, wird das angezeigt, was ich davor mit SetFileSummaryInfo als Titel definiert hab :gruebel:

Das heißt, dass der Titel schon gespeichert wurde, nur nicht da wo man ihn erwartet, bzw. zeigt Windows einen ANDEREN titel an.

alles sehr seltsam

steafn

Alexander 11. Jul 2004 20:46

Re: Dateiinfo - Titel ändern
 
Hast du dir auch schon mal die Unit, von der Mathias sprach, angeschaut?

StefanDP 11. Jul 2004 21:09

Re: Dateiinfo - Titel ändern
 
Zitat:

Zitat von Alexander
Hast du dir auch schon mal die Unit, von der Mathias sprach, angeschaut?

um die gehts

MathiasSimmack 11. Jul 2004 22:44

Re: Dateiinfo - Titel ändern
 
Zitat:

Zitat von StefanDP
Zitat:

Zitat von MathiasSimmack
Zitat:

Zitat von MathiasSimmack
Wenn er in nicht in diesem Register steht, das durch Windows hinzugefügt wird (Datei-Info), dann schon.

Anscheinend auch dann, wenn er in diesem Register steht. Es sieht so aus, als würde Windows den Titel in dem Fall doch in diesem Exif-Header speichern, denn Luckies Reader zeigt sie mir an, während die Unit nicht darauf reagiert. Aber das liegt nicht an der Unit sondern schlicht an der "Cleverness" von Windows.

das heißt? :gruebel:

Wenn ich einen Titel manuell (über den Explorer eingebe), dann sehe ich diesen in Luckies ExifReader. Ich gehe also davon aus, dass diese Shell-Erweiterung zumindest bei JPEGs keinen Storage-Bereich anlegt (in dem etwa bei Text- oder anderen Dateien diese Infos gespeichert werden), sondern dass die Infos hier direkt in diesen JPEG-Header geschrieben werden.

Demzufolge kannst du mit der Unit diesen Header bei JPEGs natürlich weder schreiben noch lesen. Das konnte ich vorher (als ich dir den Tipp das erste Mal gab) nicht wissen. Bei allen anderen Dateien funktioniert es, wie du ja weißt.

Du müsstest dir also mal alle Infos zum Thema JPEG besorgen und evtl. auch einen Blick in Luckies ExifReader (s. Open Source oder auf seiner HP) werfen. Vllt. können Luckie, Hagen und auch die anderen, die Ahnung von dieser Thematik haben, zusätzlich Tipps geben.

Luckie 11. Jul 2004 22:46

Re: Dateiinfo - Titel ändern
 
@Mathias: Nein, ich habe meines Wissens nicht mehr großartig was geändert. Nur, glaube ich, ein paar Fehler bereinigt.

MathiasSimmack 11. Jul 2004 22:54

Re: Dateiinfo - Titel ändern
 
Na ja, zumindest das "Problem" mit dem ständigen Neu-Erzeugen ist noch drin. (Ich hab´s mir mal runtergeladen). Zumindest das solltest du ändern, wenn ich mal direkt auf diesen Teil des oben verlinkten Beitrags verweisen kann:
Zitat:

[...] Laut PSDK wird durch "Create" ein neues Property-Set angelegt, und das hat zur Folge, dass die anderen Werte (in dem Fall Autor, Titel und Betreff) gelöscht werden [...]
Das hatte ja mit schithos Einwand zu tun, dass bei jedem Benutzen die evtl. vorhandenen Werte gelöscht wurden. Aus dem Grund hatte ich ja die genannten Verbesserungen (ich hoffe, es sind welche) vorgeschlagen. ;)

Und nach ein paar kleinen Patches kann man die Unit nun auch unter 9x für Office-Dateien verwenden.

StefanDP 11. Jul 2004 22:59

Re: Dateiinfo - Titel ändern
 
Zitat:

Zitat von MathiasSimmack
Wenn ich einen Titel manuell (über den Explorer eingebe), dann sehe ich diesen in Luckies ExifReader.

Ich nicht :gruebel:

Laut EXIF-Spezifikation gibt es übrigens kein Titel :gruebel:

stefan

MathiasSimmack 11. Jul 2004 23:06

Re: Dateiinfo - Titel ändern
 
Ich hab´s ausprobiert. Es fehlte zwar der Teil nach dem Leerzeichen (Ich habe "Das ist ein Titel" als Titel benutzt. ;) Nicht sehr kreativ, okay, ...), aber die Angaben tauchten im "Verbose"-Register von Luckies Programm auf.

@Luckie: :?

StefanDP 11. Jul 2004 23:17

Re: Dateiinfo - Titel ändern
 
Zitat:

Zitat von MathiasSimmack
Ich hab´s ausprobiert. Es fehlte zwar der Teil nach dem Leerzeichen (Ich habe "Das ist ein Titel" als Titel benutzt. ;) Nicht sehr kreativ, okay, ...), aber die Angaben tauchten im "Verbose"-Register von Luckies Programm auf.

@Luckie: :?

Wo genau? Weil bei mir taucht es im Verbose definitiv nicht auf, obwhol ich "Dies ist der Titel" über rechtsklick - eigenschaften - dateiinfo - runterscrollen - titel eingetragen hab :?: :!:

Luckie 11. Jul 2004 23:18

Re: Dateiinfo - Titel ändern
 
So, habe es ausgebessert.

MathiasSimmack 11. Jul 2004 23:22

Re: Dateiinfo - Titel ändern
 
Zitat:

Zitat von StefanDP
runterscrollen

:gruebel:

Na ja, wie auch immer: Ich schrieb doch, das steckte in meinem Fall in diesem Memo auf der Registerseite "Verbose" von Luckies Programm. Guckst du mal auf der gleichen Downloadseite, von der du auch das "SetFileComment" hast? Nur damit wir nicht aneinander vorbei reden.

Ich bin gerade nicht im XP, darum kann ich´s dir leider nicht genauer sagen.

MathiasSimmack 11. Jul 2004 23:31

Re: Dateiinfo - Titel ändern
 
Zitat:

Zitat von Luckie
So, habe es ausgebessert.

Ich sehe schon. ;)
Zitat:

Delphi-Quellcode:
      PropVariant.vt     := VT_LPWSTR;
      PropVariant.pwszVal := PWideChar(InfoStr);

Ich hätte es auf PAnsiChar gelassen, weil:

Zitat:

Zitat von MathiasSimmack
So, noch ein Nachtrag meinerseits:

Zitat:

Zitat von MathiasSimmack
Dabei ist mir aufgefallen, dass die Funktion nichts anzeigt, wenn man die gewünschte Eigenschaft vorher mit Bordmitteln (sprich: Rechtsklick auf die Datei -> Eigenschaften -> Dateiinfos) setzt.

Mittlerweile weiß ich auch warum. Windows legt diese Einträge nicht als WideString sondern nur als String ab. Ändere ich die Funktion "GetFileSummaryInfo" entsprechend um, sehe ich das auch. ;)

aus o.g. Beitrag, nur etwas weiter unten.

Du darfst ruhig meine Unit benutzen, Luckie. :mrgreen:

StefanDP 11. Jul 2004 23:36

Re: Dateiinfo - Titel ändern
 
Liste der Anhänge anzeigen (Anzahl: 2)
Bild im Anhang und das Ergebnis vom Exif-Viewer
Code:
 
-- EXIF-Data -------------- 
ErrStr = <none>
Intel Byte Order

Make = SONY
Model = CYBERSHOT
Orientation = Normal
XResolution = 72,00
YResolution = 72,00
Resolution Unit = Inch
Date Time = 2004:01:13 13:56:14
YCb Cr Positioning = Co-sited
Exif Offset = 222
Exposure Time = 10/300 sec
FNumber = F3,2
Exposure Program = Normal
ISOSpeed Ratings = 250
Exif Version = "0210"
Date Time Original = 2004:01:13 13:56:14
Date Time Digitized = 2004:01:13 13:56:14
Components Configuration = YCbCr
Compressed Bits Per Pixel = 2/1
Exposure Bias Value = 0/10
Max Aperture Value = F3,0
Metering Mode = MultiSegment
Light Source = Unidentified
Flash = Off
Focal Length = 9,20 mm
Maker Note = "SONY DSC "
Flash Pix Version = "0100"
Color Space = sRGB
Exif Image Width = 2048
Exif Image Length = 1536
File Source = "."
Scene Type = "."
Title = Das
Make = SONY
Model = CYBERSHOT
Orientation = Normal
XResolution = 72,00
YResolution = 72,00
Resolution Unit = Inch
Date Time = 2004:01:13 13:56:14
YCb Cr Positioning = Co-sited
Exposure Time = 10/300 sec
FNumber = F3,2
Exposure Program = Normal
ISOSpeed Ratings = 250
Exif Version = "0210"
Date Time Original = 2004:01:13 13:56:14
Date Time Digitized = 2004:01:13 13:56:14
Components Configuration = YCbCr
Compressed Bits Per Pixel = 2/1
Exposure Bias Value = 0/10
Max Aperture Value = F3,0
Metering Mode = MultiSegment
Light Source = Unidentified
Flash = Off
Focal Length = 9,20 mm
Maker Note = "SONY DSC "
Flash Pix Version = "0100"
Color Space = sRGB
Exif Image Width = 2048
Exif Image Length = 1536
File Source = "."
Scene Type = "."
Exif Offset = 222
Title = Das
 
 -- Thumbnail Data ---- 
Thumbnail Start = 634
Thumbnail Length = 4192
 
 -- EXIF Summary -(short)--- 
1.jpg 826k 2004:01:13 2048w 1536h
 
 -- EXIF Summary -(long)---- 
File Name: 1.jpg
File Size: 826k
File Date: 11.07.2004
Photo Date: 2004:01:13 13:56:14
Make (Model): SONY (CYBERSHOT)
Dimensions: 2048 x 1536
Exposure Time: 10/300 sec
Focal Length: 9,20 mm
FNumber: F3,2
ISO: 250
Flash: No

 ** Widest Aperture is F3,0
 ** Light Meter mode is MultiSegment

MathiasSimmack 11. Jul 2004 23:51

Re: Dateiinfo - Titel ändern
 
Da steht´s doch:
Zitat:

Zitat von StefanDP
Code:
[...]
File Source = "."
Scene Type = "."
[b]Title = Das [/b]

Wie ich schon sagte, die Anzeige verschluckt den Rest nach dem Leerzeichen. (Evtl. noch was zum Ausbügeln, @Luckie?) Aber vorhanden ist die Info. Und ich bin froh, weil ich mir das nicht eingebildet habe. ;)

StefanDP 12. Jul 2004 01:05

Re: Dateiinfo - Titel ändern
 
Hm... dann bin ich schonmal nen Schritt weiter...

Aber warum wird das dann unter Rechtsklick - Eigenschaften - .... nicht angezeigt???

Außerdem:
ich hab mit SetFileSummaryInfo"...TITLE" den Titel auf "xxxxx" gesetzt.
mit GetFileSummaryInfo"...TITLE" bekomm ich dann auch wieder "xxxxx" angezeigt, aber in windows wird halt der andere "Das ist der Titel" angezeigt :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 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