Hallo Skriptingspezialisten,
wie schon von anderen Wissbegierigen hier geäußert wurde, gilt auch für mich:
"learning by doing" ist eine der besten Methoden zum autodidaktischen Erlernen.
Im Zusammenhang mit der Analyse und Auswertung der Makernotes - es geht mir speziell um die Sortierung von Fotos anhand des benutzten Objetivtyps und deren gezielten Weiterverarbeitung mit einem eigens dafür erstellten VBS-Skript - gerate ich von einem Problem in das andere.
Fürs Erste hat es mich ziemlich viel "Forschungsarbeit" und "-zeit" gekostet, um herauszufinden, wo in den Makernotes zur Nikon D80 die Daten zur Beschreibung des Objektivtyps abgelegt sind. Ok, für das Auslesen der Makernotes stehen zwar in FF die integrierten Funktionen FF_GetMakernotes und FF_GetMakernotesSize zur Verfügung, die aber m.E. "nur" den Gesamtumfang der Makernotes bzw. den Inhalt lediglich Byte für Byte liefern. So wie ich das sehe, müssen zwecks Analyse der Makernotes diese Byte für Byte in ein Array eingelesen und dann in Kleinarbeit untersucht werden. Zumindest war es mir damit möglich, die zu allem Unglück auch noch verschlüsselten Daten für den Objektivtyp herauszufinden und aufzuspüren. Jetzt kann ich gezielt mit FF_GetMakernotes die wenigen Bytes lesen, um den Objektivtyp eindeutig zu erkennen und danach die weitere Sortierung der Fotos vornehmen.
Sehr hilfreich wäre für mich (auch für evtl. weitere Analysen) eine Übersicht, wo und wie beispielsweise die Nikon Makernotes in der Bilddatei abgelgt bzw. verschlüsselt sind. Kann jemand mit einer solchen Übersicht oder mit einem entsprechenden Verweis weiterhelfen? Nach meinen Recherchen scheint dies ein Buch mit sieben Siegeln zu sein.
Bei der Analyse der ausgelesenen Makernotes-Bytes trat für mich dann die Notwendigkeit auf, den Array-Inhalt in entsprechenden Hexstrings lesbar auszugeben. Das funktionierte auch bis zu einem gewissen Grade schön formatiert in der Methode MsgBox. Doch beim weiteren Ausbau stieß ich dann an deren Grenze, dass Strings nur bis zu einer Länge von 1024 Bytes damit ausgebbar sind. Bei der Suche nach anderen Ausgabemöglichkeiten bin ich dann auf folgendes VBS-Beispiel gestoßen:
Dim lang_str
Set WshNetwork = WScript.CreateObject("WScript.Network")
lang_str=.......
WScript.Echo lang_str
Als stand-alone VBS-Datei funktioniert das mit beliebig langen Strings einwandfrei. Dies aber in mein FF-Test-Skript eingebaut erzeugt die für mich nicht nachvollziehbare Fehlermeldung:
Objekt erforderlich: 'WScript'
Src: Laufzeitfehler in Microsoft VBScript
Auch die zusätzliche dim-Anweisung für eine Variable namens WScript hilft nicht weiter. Wo liegt das Problem? Ich habe mir dann nur mit dem Konstrukt FF_TextToClipboard helfen können, womit ich mir dann den String aus der Zwischenablage mit einem beliebigen Texteditor habe anzeigen lassen. Es geht aber bestimmt einfacher!
In diesem Zusammenhang interessiert mich auch eine Buchempfehlung, mit der der weitere Einstieg in die Internas der Script-Programmierung erleichtert wird. Oder kommt man mit: Windows Scripting . Automatisierte Systemadminstration mit VBScript, VB 6.0 und VB.NET unter COM und dem .NET Framework
weiter, was im Augenblick günstig gebraucht als Auflage 3 bei Amazon angeboten wird?
Über eine Unterstützung bei der einen und/oder der anderen Frage würde ich mich sehr freuen.
Gruß
Heinrich
wie schon von anderen Wissbegierigen hier geäußert wurde, gilt auch für mich:
"learning by doing" ist eine der besten Methoden zum autodidaktischen Erlernen.
Im Zusammenhang mit der Analyse und Auswertung der Makernotes - es geht mir speziell um die Sortierung von Fotos anhand des benutzten Objetivtyps und deren gezielten Weiterverarbeitung mit einem eigens dafür erstellten VBS-Skript - gerate ich von einem Problem in das andere.
Fürs Erste hat es mich ziemlich viel "Forschungsarbeit" und "-zeit" gekostet, um herauszufinden, wo in den Makernotes zur Nikon D80 die Daten zur Beschreibung des Objektivtyps abgelegt sind. Ok, für das Auslesen der Makernotes stehen zwar in FF die integrierten Funktionen FF_GetMakernotes und FF_GetMakernotesSize zur Verfügung, die aber m.E. "nur" den Gesamtumfang der Makernotes bzw. den Inhalt lediglich Byte für Byte liefern. So wie ich das sehe, müssen zwecks Analyse der Makernotes diese Byte für Byte in ein Array eingelesen und dann in Kleinarbeit untersucht werden. Zumindest war es mir damit möglich, die zu allem Unglück auch noch verschlüsselten Daten für den Objektivtyp herauszufinden und aufzuspüren. Jetzt kann ich gezielt mit FF_GetMakernotes die wenigen Bytes lesen, um den Objektivtyp eindeutig zu erkennen und danach die weitere Sortierung der Fotos vornehmen.
Sehr hilfreich wäre für mich (auch für evtl. weitere Analysen) eine Übersicht, wo und wie beispielsweise die Nikon Makernotes in der Bilddatei abgelgt bzw. verschlüsselt sind. Kann jemand mit einer solchen Übersicht oder mit einem entsprechenden Verweis weiterhelfen? Nach meinen Recherchen scheint dies ein Buch mit sieben Siegeln zu sein.
Bei der Analyse der ausgelesenen Makernotes-Bytes trat für mich dann die Notwendigkeit auf, den Array-Inhalt in entsprechenden Hexstrings lesbar auszugeben. Das funktionierte auch bis zu einem gewissen Grade schön formatiert in der Methode MsgBox. Doch beim weiteren Ausbau stieß ich dann an deren Grenze, dass Strings nur bis zu einer Länge von 1024 Bytes damit ausgebbar sind. Bei der Suche nach anderen Ausgabemöglichkeiten bin ich dann auf folgendes VBS-Beispiel gestoßen:
Dim lang_str
Set WshNetwork = WScript.CreateObject("WScript.Network")
lang_str=.......
WScript.Echo lang_str
Als stand-alone VBS-Datei funktioniert das mit beliebig langen Strings einwandfrei. Dies aber in mein FF-Test-Skript eingebaut erzeugt die für mich nicht nachvollziehbare Fehlermeldung:
Objekt erforderlich: 'WScript'
Src: Laufzeitfehler in Microsoft VBScript
Auch die zusätzliche dim-Anweisung für eine Variable namens WScript hilft nicht weiter. Wo liegt das Problem? Ich habe mir dann nur mit dem Konstrukt FF_TextToClipboard helfen können, womit ich mir dann den String aus der Zwischenablage mit einem beliebigen Texteditor habe anzeigen lassen. Es geht aber bestimmt einfacher!
In diesem Zusammenhang interessiert mich auch eine Buchempfehlung, mit der der weitere Einstieg in die Internas der Script-Programmierung erleichtert wird. Oder kommt man mit: Windows Scripting . Automatisierte Systemadminstration mit VBScript, VB 6.0 und VB.NET unter COM und dem .NET Framework
weiter, was im Augenblick günstig gebraucht als Auflage 3 bei Amazon angeboten wird?
Über eine Unterstützung bei der einen und/oder der anderen Frage würde ich mich sehr freuen.
Gruß
Heinrich