![]() |
Version einer Datei auslesen
Hallo,
ich hätt mal wieder eine Frage: Wie kann ich die Version einer Datei auslesen? mfg Helmi |
Re: Version einer Datei auslesen
Was für einen Dateitypen meinst Du? Txt-Dateien haben zum Beispiel iA keine solche Infos.
...:cat:... |
Re: Version einer Datei auslesen
|
Re: Version einer Datei auslesen
ich will das unabhängig von dem Dateityp auslesen
wenn nix vorhanden ist, dann soll der String einfach leer sein... |
Re: Version einer Datei auslesen
Das wirst du sehr wahrscheinlich nicht schffen. Es gibt keinen Standard der sagt: "In jeder Datei muss an Addresse XYZ die Versionsnummer stehen". Eine exe-Datei hat die Versionsnummer woandersstehen als z.B.: eine Flash Datei (falls die überhaupt Versionsnummern haben). Eine txt Datei, hat keine Versionsnummer, da das was man im Texteditor sieht alles ist was in der Datei steht (mal abgesehen von den Steuerzeichen).
|
Re: Version einer Datei auslesen
Zitat:
|
Re: Version einer Datei auslesen
also würde es nur sinn machen von einer Exe-Datei die Version auszulesen oder?
und wie geht das? |
Re: Version einer Datei auslesen
|
Re: Version einer Datei auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Mal ein kleines Beispiel. Musste aber feststellen, dass nur die wenigsten exen die Versionsinfo wirklich einbinden.
|
Re: Version einer Datei auslesen
hallo
ich bin mal ein wenig durch das i-net gesurft und hab folgenden Code gefunden zum auslesen der Versions-Nr. einer Datei:
Code:
ich hab den dann wie folgt umgeändert und als ausgabe nen String gebaut:
function GetBuildInfo(const AFilename:String; var V1,V2,V3,V4:Word):Boolean;
var VerInfoSize : Integer; VerValueSize : DWord; Dummy : DWord; VerInfo : Pointer; VerValue : PVSFixedFileInfo; begin VerInfoSize:=GetFileVersionInfoSize(PChar(AFilename),Dummy); Result:=False; if VerInfoSize<>0 then begin GetMem(VerInfo,VerInfoSize); try if GetFileVersionInfo(PChar(AFilename),0,VerInfoSize,VerInfo) then begin if VerQueryValue(VerInfo,'\',Pointer(VerValue),VerValueSize) then with VerValue^ do begin V1:=dwFileVersionMS shr 16; V2:=dwFileVersionMS and $FFFF; V3:=dwFileVersionLS shr 16; V4:=dwFileVersionLS and $FFFF; end; Result:=True; end; finally FreeMem(VerInfo,VerInfoSize); end; end; end;
Code:
mfg
function GetFileVersion(const AFilename:String): String;
var VerInfoSize : Integer; VerValueSize : DWord; Dummy : DWord; VerInfo : Pointer; VerValue : PVSFixedFileInfo; begin VerInfoSize:=GetFileVersionInfoSize(PChar(AFilename),Dummy); Result := ''; If VerInfoSize <> 0 then begin GetMem(VerInfo,VerInfoSize); try If GetFileVersionInfo(PChar(AFilename), 0, VerInfoSize,VerInfo) then begin If VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize) then with VerValue^ do begin Result := Result + IntToStr(dwFileVersionMS shr 16) + '.'; Result := Result + IntToStr(dwFileVersionMS and $FFFF) + '.'; Result := Result + IntToStr(dwFileVersionLS shr 16) + '.'; Result := Result + IntToStr(dwFileVersionLS and $FFFF); end; end; finally FreeMem(VerInfo,VerInfoSize); end; end; end; Helmi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 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-2025 by Thomas Breitkreuz