Wersja pliku exe w Lazarusie

Wersja pliku exe w Lazarusie
AM
  • Rejestracja:prawie 10 lat
  • Ostatnio:8 miesięcy
  • 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
abrakadaber
  • Rejestracja:ponad 12 lat
  • Ostatnio:9 miesięcy
  • 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;

Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
AM
Dzięki serdeczne.
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 8 godzin
  • Lokalizacja:Tuchów
  • Postów:12175
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:


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 4x, ostatnio: flowCRANE

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.