Wersja pliku exe w Lazarusie

Wersja pliku exe w Lazarusie
AM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

Witam, jak odczytać wersję kompilowanego pliku w Lazarusie ? Chodzi mi o wyświetlenie aktualnej wersji w zakładce O programie.
Może ma ktoś kawałek gotowego kodu? Z góry dziękuję.

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
5
Kopiuj
function FileVersion(const FileName: string): string;
var
  VerInfoSize: Cardinal;
  VerValueSize: Cardinal;
  Dummy: Cardinal;
  PVerInfo: Pointer;
  PVerValue: PVSFixedFileInfo;
begin
  Result := '';
  VerInfoSize := GetFileVersionInfoSize(PChar(FileName), Dummy);
  GetMem(PVerInfo, VerInfoSize);
  try
    if GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, PVerInfo) then
      if VerQueryValue(PVerInfo, '\', Pointer(PVerValue), VerValueSize) then
        with PVerValue^ do
          Result := Format('%d.%d.%d.%d', [
            HiWord(dwFileVersionMS), //Major
            LoWord(dwFileVersionMS), //Minor
            HiWord(dwFileVersionLS), //Release
            LoWord(dwFileVersionLS)]); //Build
  finally
    FreeMem(PVerInfo, VerInfoSize);
  end;
end;
flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
5
Kopiuj
uses
  FileInfo;
var
  VersionInfo: TFileVersionInfo;
begin
  VersionInfo := TFileVersionInfo.Create(nil);
  try
    VersionInfo.ReadFileInfo();
    WriteLn('Version', VersionInfo.VersionStrings.Values['FileVersion']);
  finally
    VersionInfo.Free();
  end;
end;

A tutaj rozwiazanie wieloplatformowe. Więcej znajdziesz np. tutaj:

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.