Versionsinfo

Erklärung
Die Unit VersionCtrl einbinden (Datei unten kopieren und in der Datei C:\Programme\Borland\Delphi5\Lib\VersionCtrl.pas speichern)

Quelltext
Wichtig: in die Uses-Klausel VersionCtrl aufnehmen
  uses VersionCtrl;

procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.caption := EXEfilename;
Label2.Caption := 'Version ' +  GetAppVersion;
Label3.caption := inttostr(EXEfilesize)+'bytes';
end;

Diese Datei kopieren und als Datei C:\Programme\Borland\Delphi5\Lib\VersionCtrl.pas speichern...
  unit VersionCtrl;
 
 

interface

 uses Windows, SysUtils
 {, Classes, Graphics, Forms, Controls, StdCtrls,
 Buttons, ExtCtrls};
 function GetAppVersion:String;
 function EXEfilename:String;
 function EXEfilesize:Longint;
 

implementation
var
 VerInfoSize, VerValueSize, DUMMY: DWORD;
 VerInfo:pointer;
 VerValue: PVSFixedFileInfo;

procedure LoadVersionData;
begin
 VerInfoSize:=GetFileVersionInfoSize(Pchar(paramstr(0)), DUMMY);
 GetMem(verinfo, verinfosize);
 GetFileVersionInfo(pchar(paramstr(0)),0,VerInfoSize, VerInfo);
end;

function GetAppVersion:String;
var
 V: array[1..4] of word;
begin
 LoadVersionData;
 VerQueryValue(VerInfo,'\',Pointer(VerValue), VerValueSize);
 With VerValue^ do
 begin
  V[1] := dwFileVersionMS shr 16;     //Major
  V[2] := dwFileVersionMS and $FFFF;  //Minor
  V[3] := dwFileVersionLS shr 16;     //Release
  V[4] := dwFileVersionLS and $FFFF;  //Build
 end;
 FreeMem(VerInfo, VerInfoSize);
 Result:=format('%d.%d.%d.%d',[V[1],v[2],v[3],v[4]]);
end;

function ExeFileName:String;
begin
 result := Paramstr(0);
end;

function exefilesize:Longint;
var
 sr:tsearchrec;
begin
 findfirst(paramstr(0),faAnyfile,sr);
 result:=sr.Size;
end;

begin
 LoadVersionData;
end.