Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dateiversionen!? (https://www.delphipraxis.net/3561-dateiversionen.html)

f.r.e.s.h.d 19. Mär 2003 07:45


Dateiversionen!?
 
Hi!

Ich möchte gerne Dateiversionen auslesen.
Aber ich finde keinen Ansatz.
Ich würde gerne von Exe und Dll-Dateien die Version auslesen.

Kann mir vielleicht jemand helfen?

APP 19. Mär 2003 08:46

Hallo,
versuchs mal damit: ...read the version of a file? (swissdelphicenter.ch)

Garby 19. Mär 2003 08:57

GetAppVersion
 
Hallo,

ich verwende diese Funktion:
Delphi-Quellcode:
// Liefert die Programm-Version als String zurück.
// mit FormatStr wird festgelegt, welche Informationen von der Funktion gewünscht werden
function GetAppVersion(FormatStr: string = '%d.%d.%d.%d'; DateiPfad: String = ''): string;
var
  ptrBlock, verInfo : Pointer;
  verInfoSize      : Integer;
  dwTmp            : DWord;
begin
  if DateiPfad = '' then DateiPfad := Application.ExeName;
  // sind Versionsinformationen enthalten ?
  verInfoSize := GetFileVersionInfoSize(PChar(DateiPfad), dwTmp);
  if verInfoSize > 0 then begin
    ptrBlock := AllocMem(verInfoSize); // entsprechend großen Speicher anfordern
    try
      // Versions-Info auslesen...
      GetFileVersionInfo(PChar(DateiPfad), 0, verInfoSize, ptrBlock);

      // Feststehende Daten auslesen...
      VerQueryValue(ptrBlock, '\', verInfo, dwTmp);
      with PVSFixedFileInfo(verInfo)^ do
        Result := Format(FormatStr,
                         [HIWORD(dwProductVersionMS),
                          LOWORD(dwProductVersionMS),
                          HIWORD(dwProductVersionLS),
                          LOWORD(dwProductVersionLS)]);

    finally
      FreeMem(ptrBlock); // Speicher freigeben
    end;
  end;
end;
Aufruf:
Delphi-Quellcode:
ShowMessage(GetAppVersion('%d.%d.%d.%d', 'C:\Test.exe'));
Gruß,
Garby

f.r.e.s.h.d 19. Mär 2003 09:13

Vielen Dank! Die Function funktioniert sehr gut! :hello:


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