products/Sources/formale Sprachen/Delphi/Bille 0.71/__history image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: similarity.inc.~29~   Sprache: Unknown

Spracherkennung für: .~10~ vermutete Sprache: SPS {SPS[120] CS[152] Ada[199]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

//-------------------------------------------------------
//
//-------------------------------------------------------
function issimilar(L, R: String): boolean;
var
  vl, vr: String;
  res: boolean;
  //---------------------------------------------------------------
  function isPrefix(S1, S2: String): boolean;
  begin
    if (length(S1)<3) or (length(S1) > length(S2)) then
      result := false
    else
      result := MidStr(S2, 1, length(S1)) = S1
  end;
  //---------------------------------------------------------------
  function isnumber(S: String): boolean;
  var
    i: integer;
    res: boolean;
  begin
    res := true;
    if length(S) = 0 then
      res := false;
    for i := 1 to length(S) do
      res := res and charinset(S[i], ['0' .. '9''.''.''+''-',
        '$''€']);
    result := res;
  end;

begin
  //
  res := false;
  vl := LowerCase(L);
  vr := LowerCase(R);
  //remove separators
  vl := StringReplace(vl, FDB, '', [rfReplaceAll]);
  vr := StringReplace(vr, FDB, '', [rfReplaceAll]);
  //
  if (length(vl) = 0) or (length(vr) = 0) then
    res := false
  //else if vl = vr then
    //res := true
  else if isnumber(vl) and isnumber(vr) then begin
    vl := StringReplace(vl, '-''', [rfReplaceAll]);
    vl := StringReplace(vl, '+''', [rfReplaceAll]);
    vr := StringReplace(vr, '-''', [rfReplaceAll]);
    vr := StringReplace(vr, '+''', [rfReplaceAll]);
    res := vl = vr;
  end;
  //
  result := res;
end;

[ Dauer der Verarbeitung: 0.119 Sekunden  ]