Moin!
Result := AnsiCompareStr(inttostr(S1), inttostr(S2));
Hä? Du willst 2 Integer vergleichen und wandelst sie daher in einen String um, um sie dann zu vergleichen? Hä? Wenn der eine Wert 2 stellig ist und der andere 3 stellig, dann wird das bei einem Stringvergleich aber nicht ordentlich beachtet. Warum vergleichst du nicht direkt?
Result := Min(1, Max(-1, S1 - S2));
Und von deiner
HTML Farbenliste darfst du aber dann nicht mehr erwarten, das am Ende alle Farben mit FF am Anfang auftauchen, da er über die Helligkeit geht...
MfG
Muetze1