Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
2. Mär 2018
Vorallem das Build ist ofrmals größer als 99. (viele Projekte zählen das seit Beginn kontinuierlich hoch)
In den Versionskonstanten stehen daher oftmals nur die ersten zwei oder drei Nummern. (mehr ist auch fast nie nötig)
PS: Und die VersionsInfo-Records im Windows bestehen aus WORDs.
word.word.word.word
00000000000000000000
00000.000000000000000
'00000.00000.00000.00000'
In der...
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
2. Mär 2018
{$IF (gsIdVersionMajor > 10) or ((gsIdVersionMajor = 10) and (gsIdVersionMinor > 6)) or ((gsIdVersionMajor = 10) and (gsIdVersionMinor = 6) and (gsIdVersionRelease > 2)) or ((gsIdVersionMajor = 10) and (gsIdVersionMinor = 6) and (gsIdVersionRelease = 2) and (gsIdVersionBuild >= 0))}
:stupid:
Nja, es gibt mehrere Varianten für das Gleiche.
gsIdVersion = '10.06.02.01'; // 00-09 mit führender...
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
2. Mär 2018
Statt Integern vielleicht mit Floats?
major.minor
major.minorxyz
1.2.3.4
1.020304
CompilerVersion
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
2. Mär 2018
Wäre es nicht ganz einfach, wenn man einach nur ein NaturalCompare, oder wie man das immer nennen mag, nutzt?
Also wo Zahlen wir Zahlen und nicht als Strings verglichen werden, so wie bei der Sortierung im Explorer.
Und schon ist es egal wieviele Punkte/Nummern oder ob Buchstaben.
Eventuell noch die Leerzeichen ignorieren, bzw. durch Punkte ersetzen und doppelte Punkte entfernen.