Autor Téma: TPathData a isEqual  (Přečteno 53 krát)

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 288
  • Karma: 15
    • Verze Delphi: FPC :D
TPathData a isEqual
« kdy: 13-02-2020, 15:02:26 »
Zdar,
možná je to vtip, mozna ze jen nechapu vyznam metody isEqual - IMHO data jsou stejna.


function TPathData.EqualsPath(const Path: TPathData): Boolean;
var
  I: Integer;
begin
  if IsEmpty or Path.IsEmpty then // make sure it should be AND, not OR there
    Exit(True);
  Result := Count = Path.Count;
  if Result then
    for I := 0 to Count - 1 do
      if Points <> Path.Points then
        Exit(False);
end;

Jestlize jsemPrazdny NEBO porovnavanapromenaJEPRAZDNA pak Zkonci(True)  - tedy porovnani dopadne jako TRUE ve chvili, kdy jeden z parametru je prazdny. Tzn prenesene pokud v jednom mam data, v druhem prd, jsou povazovany za stejne ?
Uplne prenesene

if (obj1 = nil) or (obj2 = nil) then exit(true); Fakt ?

Pokud je to zamer, pak mi tedy nehraje nazev metody isEqual a nebo je to chyba ?

Az nekdo bude resit, ze porovnani nejde, bude prima, kdyz vygoogli zde proc..
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux