diff --git a/Source/Base/Utiles/uReferenciasUtils.pas b/Source/Base/Utiles/uReferenciasUtils.pas new file mode 100644 index 00000000..5080d529 --- /dev/null +++ b/Source/Base/Utiles/uReferenciasUtils.pas @@ -0,0 +1,32 @@ +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 + VarCompare(Aux1, Aux2) +end; + +end.