home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / TP_ADV.ZIP / LIST1403.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-11-17  |  1.1 KB  |  58 lines

  1. Program Compare;
  2.  
  3. Function Equal ( Var one, two; Size : Word ) : Boolean;
  4. Type
  5.   MaxArray = Array [1..65535] of Byte;
  6. Var
  7.   a : MaxArray absolute one;
  8.   b : MaxArray absolute two;
  9.   c : Word;
  10.   d : Boolean;
  11. Begin
  12.   d := TRUE;
  13.   For c := 1 to Size do
  14.     d := d AND ( a[c] = b[c] );
  15.   Equal := d;
  16. End;
  17.  
  18. Type
  19.   Rec1 = Record
  20.            l : LongInt;
  21.            r : Real;
  22.            c : Char;
  23.          End;
  24.   Rec2 = Record
  25.            w : LongInt;
  26.            x : Real;
  27.            y : Char;
  28.            z : Integer;
  29.          End;
  30.  
  31. Var
  32.   a, b : Rec1;
  33.   c, d : Rec2;
  34.  
  35. Begin
  36.   a.l := 500;
  37.   a.r := 3.141;
  38.   a.c := 'C';
  39.   b.l := 501;
  40.   b.r := 3.141;
  41.   b.c := 'C';
  42.   WriteLn ( Equal ( a, b, SizeOf ( a ) ) );
  43.   b.l := 500;
  44.   WriteLn ( Equal ( a, b, SizeOf ( b ) ) );
  45.   c.w := 500;
  46.   c.x := 3.141;
  47.   c.y := 'C';
  48.   c.z := -1000;
  49.   d.w := 500;
  50.   d.x := 3.141;
  51.   d.y := 'C';
  52.   d.z := 1000;
  53.   WriteLn ( Equal ( c, d, SizeOf ( c ) ) );
  54.   d.z := -1000;
  55.   WriteLn ( Equal ( c, d, SizeOf ( c ) ) );
  56.   WriteLn ( Equal ( a, c, SizeOf ( a ) ) );
  57. End.
  58.