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.~31~   Sprache: Unknown

Spracherkennung für: .~19~ vermutete Sprache: SPS {SPS[161] CS[189] Ada[214]} [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,d,ll: 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''.'',''+''-',
        '$''€']);
    d:=pos('.',S);
    if d>0 then begin
      ll:=length(S);
      d:=pos('.',midstr(S,D+1,ll));
      res:=res and (d<0)
    end;
    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 isnumber(vl) and isnumber(vr) then begin
    if charinset(vl[1],['-','+']) then vr:=midstr(vr,2,length(vr));
    if charinset(vr[1],['-','+']) then vr:=midstr(vr,2,length(vr));
    res := vl = vr;
  end;
  //
  result := res;
end;

[ Dauer der Verarbeitung: 1.303 Sekunden  ]