Thema: Delphi Dateiversionen!?

Einzelnen Beitrag anzeigen

Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#3

GetAppVersion

  Alt 19. Mär 2003, 09:57
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:
ShowMessage(GetAppVersion('%d.%d.%d.%d', 'C:\Test.exe')); Gruß,
Garby
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat