unit uReferenciasUtils; interface { Si ARef1 < ARef2 -> Result := -1 Si ARef1 = ARef2 -> Result := 0 Si ARef1 > ARef2 -> Result := 1 } function CompararReferencias(const ARef1, ARef2 : String) : Integer; implementation uses JclStrings, cxVariants; function CompararReferencias(const ARef1, ARef2 : String) : Integer; var Aux1, Aux2 : String; Rpl : Char; begin Rpl := '0'; Aux1 := StrReplaceButChars(ARef1, AnsiDecDigits, Rpl); Aux2 := StrReplaceButChars(ARef2, AnsiDecDigits, Rpl); if StrIsDigit(Aux1) and StrIsDigit(Aux2) then Result := VarCompare(StrToIntSafe(Aux1), StrToIntSafe(Aux2)) else Result := VarCompare(Aux1, Aux2) end; end.