Metadaten /Exif von Dateien auslesen.

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
GreyEnt
Beiträge: 376
Registriert: 20.07.2006 19:41

Re: Metadaten /Exif von Dateien auslesen.

Beitrag von GreyEnt »

Hallo
Guten Morgen.
Hier ist ein Link für die Dateien um die es geht.
https://we.tl/S1lwyUxJLs

Vielen Dank für die Hilfe.
Gruß
GreyEnt
Ich progge PureBasic weil Jägermeister nen dicken Kopf macht.
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Metadaten /Exif von Dateien auslesen.

Beitrag von Sicro »

Auf die Schnelle habe ich keine Spezifikation zu diesem Dateiformat gefunden.

Beim Betrachten der Datei in einem Hex-Editor konnte ich folgende Informationen in Erfahrung bringen:
  • Jedes Zeichen benötigt zwei Bytes, daher ist schon mal klar, dass es sich um Unicode-Strings handelt
  • String-Länge (einschließlich der String-Terminierung) wird in Zeichenlänge angegeben und zwar in Form eines Long-Wertes direkt vor dem String
Folgender Code funktioniert mit der Beispieldatei:

Code: Alles auswählen

File$ = "Pfad/zur/Part1.par"

If ReadFile(0, File$)
  
  FileSeek(0, $163C+4)
  ;CountOfCharacters = ReadLong(0)
  Debug "Titel: " + ReadString(0, #PB_Unicode) ;, CountOfCharacters)
  
  FileSeek(0, $1654+4)
  ;CountOfCharacters = ReadLong(0)
  Debug "Thema: " + ReadString(0, #PB_Unicode) ;, CountOfCharacters)
  
  FileSeek(0, $1678+4)
  ;CountOfCharacters = ReadLong(0)
  Debug "Autor: " + ReadString(0, #PB_Unicode) ;, CountOfCharacters)
  
  FileSeek(0, $1434+4)
  ;CountOfCharacters = ReadLong(0)
  Debug "Manager: " + ReadString(0, #PB_Unicode) ;, CountOfCharacters)
  
  FileSeek(0, $1444+4)
  ;CountOfCharacters = ReadLong(0)
  Debug "Firma: " + ReadString(0, #PB_Unicode) ;, CountOfCharacters)
  
  ; usw.

  CloseFile(0)
Else
  Debug "Fehler: ReadFile()"
EndIf
Ich vermute, die Positionen der Daten sind nicht fixiert, sondern abhängig der vorherigen Daten, wodurch der obige Code sicherlich nur mit der Beispieldatei funktioniert.

Es wäre hilfreich, wenn du noch ein paar Beispieldateien zum Herunterladen anbieten könntest.

Sehr wichtig ist auch die Information, ob die Eingaben in deinem CAD-Programm begrenzt sind. Trifft das zu: Wie viele Zeichen sind erlaubt?
Zuletzt geändert von Sicro am 21.03.2017 00:33, insgesamt 1-mal geändert.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Metadaten /Exif von Dateien auslesen.

Beitrag von Josh »

@Sicro

Das sind Windows Standardsachen, sonst könnten diese Eigenschaften ja auch nicht im Eigenschaftsfenster jedes beliebiegen Windows-Rechners angezeigt werden. Es gibt Win-Apis um diese Dateieigenschaften auszulesen, leider zu lange her bei mir, dass ich es noch auswendig weiß :(
Benutzeravatar
GreyEnt
Beiträge: 376
Registriert: 20.07.2006 19:41

Re: Metadaten /Exif von Dateien auslesen.

Beitrag von GreyEnt »

@Josh
Auf cad.de bin ich zum Thema fündig geworden.
Vielen Dank.
@Sicro
Vielen Dank für dein Code. Ich werde es mir angucken.
Möchtest Du noch weitere Modelle?
Ich progge PureBasic weil Jägermeister nen dicken Kopf macht.
Lord
Beiträge: 313
Registriert: 21.01.2008 19:11

Re: Metadaten /Exif von Dateien auslesen.

Beitrag von Lord »

Hilft dieser Link vielleicht weiter?
http://www.plm.automation.siemens.com/e ... load.shtml
Dort gibt es "Solid Edge Viewer".
Bild
Benutzeravatar
GreyEnt
Beiträge: 376
Registriert: 20.07.2006 19:41

Re: Metadaten /Exif von Dateien auslesen.

Beitrag von GreyEnt »

Hallo
Guten Morgen.
Hier ist ein Link für weitere Modelle.
https://we.tl/rh9Adm9uuI

Vielen Dank.
Ich progge PureBasic weil Jägermeister nen dicken Kopf macht.
Antworten