Tecsitel_FactuGES2/Source/Base/Utiles/uReferenciasUtils.pas

40 lines
907 B
ObjectPascal
Raw Normal View History

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
JclAnsiStrings, cxVariants;
function CompararReferencias(const ARef1, ARef2 : String) : Integer;
var
Aux1, Aux2 : String;
AuxInt1, AuxInt2: Double;
Rpl : Char;
begin
Rpl := ' ';
Aux1 := StrReplaceButChars(ARef1, AnsiDecDigits, Rpl);
Aux1 := StrRemoveChars(Aux1, AnsiWhiteSpace);
Aux2 := StrReplaceButChars(ARef2, AnsiDecDigits, Rpl);
Aux2 := StrRemoveChars(Aux2, AnsiWhiteSpace);
if StrIsDigit(Aux1) and StrIsDigit(Aux2) then
begin
AuxInt1 := StrToFloatSafe(Aux1);
AuxInt2 := StrToFloatSafe(Aux2);
Result := VarCompare(AuxInt1, AuxInt2)
end
else
Result := VarCompare(Aux1, Aux2)
end;
end.