procedure VersionStrToInt(Version : String;
var Major, Minor, Release, Build : Integer);
var
Len : Integer; // Länge der gesamten Versionsinfo
p1, p2, p3 : Integer; // Position der einzelnen Punkte
begin
// Länge des Versionsstrings ermitteln
Len := Length(Version);
//Position der einzelnen Punkte ermitteln
p1 := PosEx('.', Version, 1);
p2 := PosEx('.', Version, p1 + 1);
p3 := PosEx('.', Version, p2 + 1);
// Die einzelnen Strings in Zahlen umwandeln
Major := StrToIntDef(Copy(Version, 1, p1 - 1 ), 0);
Minor := StrToIntDef(Copy(Version, p1 + 1, p2 - p1 - 1), 0);
Release := StrToIntDef(Copy(Version, p2 + 1, p3 - p2 - 1), 0);
Build := StrToIntDef(Copy(Version, p3 + 1, Len ), 0);
end;
.
.
.
// Versionsinformationen der installierten Version ermitteln
VersionStrToInt(GetVersion, MajorAct, MinorAct, ReleaseAct, BuildAct);
VersionAct := StrToIntDef(Format(FormatString,
[MajorAct, MinorAct, ReleaseAct, BuildAct]), 0);
// Versionsinformation der Version auf dem Server ermitteln
VersionStrToInt(VER, MajorSrv, MinorSrv, ReleaseSrv, BuildSrv);
VersionSrv := StrToIntDef(Format(FormatString,
[MajorSrv, MinorSrv, ReleaseSrv, BuildSrv]), 0);
// Meldung wenn Version auf Server aktueller
if VersionSrv > VersionAct then
begin
end;