Forum: Object-Pascal / Delphi-Language
Delphi
by shmia,
12. Sep 2007
Leider nicht. (Zumindest Delphi Version <= 5.0)Ja.
Forum: Object-Pascal / Delphi-Language
Delphi
by shmia,
12. Sep 2007
Ich würde mal sagen die beste Lösung ist die von Dax:
funtion VersionID(Major, Minor, Release, Build: Word): Int64;
begin
Result := Int64(Major) shl 48 or Int64(Minor) shl 32 or Release shl 16 or Build;
end;Kurz, knackig und effizient.
Forum: Object-Pascal / Delphi-Language
Delphi
by shmia,
11. Sep 2007
Das Kernproblem lässt sich auch auf einen Integervergleich reduzieren:
function MakeVersion(major, minor, release, build:byte):Cardinal;
begin
result := (major shl 24) or (minor shl 16) or (release shl 8) or build;
end;
if MakeVersion(ReadInteger('Version', 'Major', 0), ....) > MakeVersion(Major, Minor, ...) then
Avaiable;
Kein Teil darf dann über 255 hinausgehen. (Aber Versionen wie...