Zitat von
MisterNiceGuy:
Jo, aaaber wie binde ich dann den Counter in meine Anwendung ein? Ich würd den ja gern im fertigen Programm anzeigen!
indem du die Versionsinfo ausließt?
das Wie sollte auch irgendwo im Forum zu finden
Delphi-Quellcode:
Function GetFileVersion: String;
Var i, W: LongWord;
P: Pointer;
FI: PVSFixedFileInfo;
Begin
Result := 'NoVersionInfo';
i := GetFileVersionInfoSize(PChar(ParamStr(0)), W);
If i = 0 Then Exit;
GetMem(P, i);
Try
If not GetFileVersionInfo(PChar(ParamStr(0)), W, i, P)
or not VerQueryValue(P, '\', Pointer(FI), W) Then Exit;
Result := Format('v%d.%d.%d.%d', [FI^.dwFileVersionMS shr 16, FI^.dwFileVersionMS and $FFFF,
FI^.dwFileVersionLS shr 16, FI^.dwFileVersionLS and $FFFF]);
If FI^.dwFileFlags and VS_FF_DEBUG <> 0 Then Result := Result + ' debug';
If FI^.dwFileFlags and VS_FF_PRERELEASE <> 0 Then Result := Result + ' beta';
If FI^.dwFileFlags and VS_FF_PRIVATEBUILD <> 0 Then Result := Result + ' private';
If FI^.dwFileFlags and VS_FF_SPECIALBUILD <> 0 Then Result := Result + ' special';
Finally
FreeMem(P);
End;
End;
[add]
Da ich selber nur Hauptversion.Nebenversion.Zähler nutze, trenne ich meistens nicht zwischen Ausgabe und Compilierung und fasse diese daher zusammen
Delphi-Quellcode:
Result := Format('v%d.%d.%d', [FI^.dwFileVersionMS shr 16,
FI^.dwFileVersionMS and $FFFF, FI^.dwFileVersionLS]);
Das Ganze liefert dann die
roten Teile der Versionsinfos
als "vH.N.A.C Flags" oder "vH.N.X Flags" .