home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / pascal / shdk_1.zip / TESTBETW.PAS < prev    next >
Pascal/Delphi Source File  |  1992-03-23  |  15KB  |  359 lines

  1. program TestBetw;
  2. {
  3.                        To test the ShUtilPk unit
  4.  
  5.                   Copyright 1991 Madison & Associates
  6.                           All Rights Reserved
  7.  
  8.          This program source file and the associated executable
  9.          file may be  used and distributed  only in  accordance
  10.          with the  provisions  described  on  the title page of
  11.                   the accompanying documentation file
  12.                               SKYHAWK.DOC
  13. }
  14.  
  15. uses
  16.   printer,
  17.   ShUtilPk,
  18.   TpCrt,
  19.   TpString;
  20.  
  21. const
  22.   TA4 : array[1..81,1..3] of LongInt =
  23.          ((  $7777DDDD,  $8888EEEE,   $9999FFFF  ), {HiWord state = 1}
  24.           (  $7777DDDD,  $8888EEEE,   $9999EEEE  ),
  25.           (  $7777DDDD,  $8888EEEE,   $9999DDDD  ),
  26.           (  $7777DDDD,  $8888DDDD,   $9999EEEE  ),
  27.           (  $7777DDDD,  $8888DDDD,   $9999DDDD  ),
  28.           (  $7777DDDD,  $8888DDDD,   $9999CCCC  ),
  29.           (  $7777DDDD,  $8888CCCC,   $9999DDDD  ),
  30.           (  $7777DDDD,  $8888CCCC,   $9999CCCC  ),
  31.           (  $7777DDDD,  $8888CCCC,   $9999BBBB  ),
  32.           (  $7777DDDD,  $8888EEEE,   $8888FFFF  ), {HiWord state = 2}
  33.           (  $7777DDDD,  $8888EEEE,   $8888EEEE  ),
  34.           (  $7777DDDD,  $8888EEEE,   $8888DDDD  ),
  35.           (  $7777DDDD,  $8888DDDD,   $8888EEEE  ),
  36.           (  $7777DDDD,  $8888DDDD,   $8888DDDD  ),
  37.           (  $7777DDDD,  $8888DDDD,   $8888CCCC  ),
  38.           (  $7777DDDD,  $8888CCCC,   $8888DDDD  ),
  39.           (  $7777DDDD,  $8888CCCC,   $8888CCCC  ),
  40.           (  $7777DDDD,  $8888CCCC,   $8888BBBB  ),
  41.           (  $7777DDDD,  $9999EEEE,   $8888FFFF  ), {HiWord state = 3}
  42.           (  $7777DDDD,  $9999EEEE,   $8888EEEE  ),
  43.           (  $7777DDDD,  $9999EEEE,   $8888DDDD  ),
  44.           (  $7777DDDD,  $9999DDDD,   $8888EEEE  ),
  45.           (  $7777DDDD,  $9999DDDD,   $8888DDDD  ),
  46.           (  $7777DDDD,  $9999DDDD,   $8888CCCC  ),
  47.           (  $7777DDDD,  $9999CCCC,   $8888DDDD  ),
  48.           (  $7777DDDD,  $9999CCCC,   $8888CCCC  ),
  49.           (  $7777DDDD,  $9999CCCC,   $8888BBBB  ),
  50.           (  $7777DDDD,  $7777EEEE,   $8888FFFF  ), {HiWord state = 4}
  51.           (  $7777DDDD,  $7777EEEE,   $8888EEEE  ),
  52.           (  $7777DDDD,  $7777EEEE,   $8888DDDD  ),
  53.           (  $7777DDDD,  $7777DDDD,   $8888EEEE  ),
  54.           (  $7777DDDD,  $7777DDDD,   $8888DDDD  ),
  55.           (  $7777DDDD,  $7777DDDD,   $8888CCCC  ),
  56.           (  $7777DDDD,  $7777CCCC,   $8888DDDD  ),
  57.           (  $7777DDDD,  $7777CCCC,   $8888CCCC  ),
  58.           (  $7777DDDD,  $7777CCCC,   $8888BBBB  ),
  59.           (  $7777DDDD,  $7777EEEE,   $7777FFFF  ), {HiWord state = 5}
  60.           (  $7777DDDD,  $7777EEEE,   $7777EEEE  ),
  61.           (  $7777DDDD,  $7777EEEE,   $7777DDDD  ),
  62.           (  $7777DDDD,  $7777DDDD,   $7777EEEE  ),
  63.           (  $7777DDDD,  $7777DDDD,   $7777DDDD  ),
  64.           (  $7777DDDD,  $7777DDDD,   $7777CCCC  ),
  65.           (  $7777DDDD,  $7777CCCC,   $7777DDDD  ),
  66.           (  $7777DDDD,  $7777CCCC,   $7777CCCC  ),
  67.           (  $7777DDDD,  $7777CCCC,   $7777BBBB  ),
  68.           (  $7777DDDD,  $7777EEEE,   $6666FFFF  ), {HiWord state = 6}
  69.           (  $7777DDDD,  $7777EEEE,   $6666EEEE  ),
  70.           (  $7777DDDD,  $7777EEEE,   $6666DDDD  ),
  71.           (  $7777DDDD,  $7777DDDD,   $6666EEEE  ),
  72.           (  $7777DDDD,  $7777DDDD,   $6666DDDD  ),
  73.           (  $7777DDDD,  $7777DDDD,   $6666CCCC  ),
  74.           (  $7777DDDD,  $7777CCCC,   $6666DDDD  ),
  75.           (  $7777DDDD,  $7777CCCC,   $6666CCCC  ),
  76.           (  $7777DDDD,  $7777CCCC,   $6666BBBB  ),
  77.           (  $7777DDDD,  $6666EEEE,   $7777FFFF  ), {HiWord state = 7}
  78.           (  $7777DDDD,  $6666EEEE,   $7777EEEE  ),
  79.           (  $7777DDDD,  $6666EEEE,   $7777DDDD  ),
  80.           (  $7777DDDD,  $6666DDDD,   $7777EEEE  ),
  81.           (  $7777DDDD,  $6666DDDD,   $7777DDDD  ),
  82.           (  $7777DDDD,  $6666DDDD,   $7777CCCC  ),
  83.           (  $7777DDDD,  $6666CCCC,   $7777DDDD  ),
  84.           (  $7777DDDD,  $6666CCCC,   $7777CCCC  ),
  85.           (  $7777DDDD,  $6666CCCC,   $7777BBBB  ),
  86.           (  $7777DDDD,  $6666EEEE,   $6666FFFF  ), {HiWord state = 8}
  87.           (  $7777DDDD,  $6666EEEE,   $6666EEEE  ),
  88.           (  $7777DDDD,  $6666EEEE,   $6666DDDD  ),
  89.           (  $7777DDDD,  $6666DDDD,   $6666EEEE  ),
  90.           (  $7777DDDD,  $6666DDDD,   $6666DDDD  ),
  91.           (  $7777DDDD,  $6666DDDD,   $6666CCCC  ),
  92.           (  $7777DDDD,  $6666CCCC,   $6666DDDD  ),
  93.           (  $7777DDDD,  $6666CCCC,   $6666CCCC  ),
  94.           (  $7777DDDD,  $6666CCCC,   $6666BBBB  ),
  95.           (  $7777DDDD,  $6666EEEE,   $5555FFFF  ), {HiWord state = 9}
  96.           (  $7777DDDD,  $6666EEEE,   $5555EEEE  ),
  97.           (  $7777DDDD,  $6666EEEE,   $5555DDDD  ),
  98.           (  $7777DDDD,  $6666DDDD,   $5555EEEE  ),
  99.           (  $7777DDDD,  $6666DDDD,   $5555DDDD  ),
  100.           (  $7777DDDD,  $6666DDDD,   $5555CCCC  ),
  101.           (  $7777DDDD,  $6666CCCC,   $5555DDDD  ),
  102.           (  $7777DDDD,  $6666CCCC,   $5555CCCC  ),
  103.           (  $7777DDDD,  $6666CCCC,   $5555BBBB  ));
  104.  
  105.   TA4A : array[1..81,1..3] of LongInt =
  106.          ((  $777DDDD,  $888EEEE,   $999FFFF  ), {HiWord state = 1}
  107.           (  $777DDDD,  $888EEEE,   $999EEEE  ),
  108.           (  $777DDDD,  $888EEEE,   $999DDDD  ),
  109.           (  $777DDDD,  $888DDDD,   $999EEEE  ),
  110.           (  $777DDDD,  $888DDDD,   $999DDDD  ),
  111.           (  $777DDDD,  $888DDDD,   $999CCCC  ),
  112.           (  $777DDDD,  $888CCCC,   $999DDDD  ),
  113.           (  $777DDDD,  $888CCCC,   $999CCCC  ),
  114.           (  $777DDDD,  $888CCCC,   $999BBBB  ),
  115.           (  $777DDDD,  $888EEEE,   $888FFFF  ), {HiWord state = 2}
  116.           (  $777DDDD,  $888EEEE,   $888EEEE  ),
  117.           (  $777DDDD,  $888EEEE,   $888DDDD  ),
  118.           (  $777DDDD,  $888DDDD,   $888EEEE  ),
  119.           (  $777DDDD,  $888DDDD,   $888DDDD  ),
  120.           (  $777DDDD,  $888DDDD,   $888CCCC  ),
  121.           (  $777DDDD,  $888CCCC,   $888DDDD  ),
  122.           (  $777DDDD,  $888CCCC,   $888CCCC  ),
  123.           (  $777DDDD,  $888CCCC,   $888BBBB  ),
  124.           (  $777DDDD,  $999EEEE,   $888FFFF  ), {HiWord state = 3}
  125.           (  $777DDDD,  $999EEEE,   $888EEEE  ),
  126.           (  $777DDDD,  $999EEEE,   $888DDDD  ),
  127.           (  $777DDDD,  $999DDDD,   $888EEEE  ),
  128.           (  $777DDDD,  $999DDDD,   $888DDDD  ),
  129.           (  $777DDDD,  $999DDDD,   $888CCCC  ),
  130.           (  $777DDDD,  $999CCCC,   $888DDDD  ),
  131.           (  $777DDDD,  $999CCCC,   $888CCCC  ),
  132.           (  $777DDDD,  $999CCCC,   $888BBBB  ),
  133.           (  $777DDDD,  $777EEEE,   $888FFFF  ), {HiWord state = 4}
  134.           (  $777DDDD,  $777EEEE,   $888EEEE  ),
  135.           (  $777DDDD,  $777EEEE,   $888DDDD  ),
  136.           (  $777DDDD,  $777DDDD,   $888EEEE  ),
  137.           (  $777DDDD,  $777DDDD,   $888DDDD  ),
  138.           (  $777DDDD,  $777DDDD,   $888CCCC  ),
  139.           (  $777DDDD,  $777CCCC,   $888DDDD  ),
  140.           (  $777DDDD,  $777CCCC,   $888CCCC  ),
  141.           (  $777DDDD,  $777CCCC,   $888BBBB  ),
  142.           (  $777DDDD,  $777EEEE,   $777FFFF  ), {HiWord state = 5}
  143.           (  $777DDDD,  $777EEEE,   $777EEEE  ),
  144.           (  $777DDDD,  $777EEEE,   $777DDDD  ),
  145.           (  $777DDDD,  $777DDDD,   $777EEEE  ),
  146.           (  $777DDDD,  $777DDDD,   $777DDDD  ),
  147.           (  $777DDDD,  $777DDDD,   $777CCCC  ),
  148.           (  $777DDDD,  $777CCCC,   $777DDDD  ),
  149.           (  $777DDDD,  $777CCCC,   $777CCCC  ),
  150.           (  $777DDDD,  $777CCCC,   $777BBBB  ),
  151.           (  $777DDDD,  $777EEEE,   $666FFFF  ), {HiWord state = 6}
  152.           (  $777DDDD,  $777EEEE,   $666EEEE  ),
  153.           (  $777DDDD,  $777EEEE,   $666DDDD  ),
  154.           (  $777DDDD,  $777DDDD,   $666EEEE  ),
  155.           (  $777DDDD,  $777DDDD,   $666DDDD  ),
  156.           (  $777DDDD,  $777DDDD,   $666CCCC  ),
  157.           (  $777DDDD,  $777CCCC,   $666DDDD  ),
  158.           (  $777DDDD,  $777CCCC,   $666CCCC  ),
  159.           (  $777DDDD,  $777CCCC,   $666BBBB  ),
  160.           (  $777DDDD,  $666EEEE,   $777FFFF  ), {HiWord state = 7}
  161.           (  $777DDDD,  $666EEEE,   $777EEEE  ),
  162.           (  $777DDDD,  $666EEEE,   $777DDDD  ),
  163.           (  $777DDDD,  $666DDDD,   $777EEEE  ),
  164.           (  $777DDDD,  $666DDDD,   $777DDDD  ),
  165.           (  $777DDDD,  $666DDDD,   $777CCCC  ),
  166.           (  $777DDDD,  $666CCCC,   $777DDDD  ),
  167.           (  $777DDDD,  $666CCCC,   $777CCCC  ),
  168.           (  $777DDDD,  $666CCCC,   $777BBBB  ),
  169.           (  $777DDDD,  $666EEEE,   $666FFFF  ), {HiWord state = 8}
  170.           (  $777DDDD,  $666EEEE,   $666EEEE  ),
  171.           (  $777DDDD,  $666EEEE,   $666DDDD  ),
  172.           (  $777DDDD,  $666DDDD,   $666EEEE  ),
  173.           (  $777DDDD,  $666DDDD,   $666DDDD  ),
  174.           (  $777DDDD,  $666DDDD,   $666CCCC  ),
  175.           (  $777DDDD,  $666CCCC,   $666DDDD  ),
  176.           (  $777DDDD,  $666CCCC,   $666CCCC  ),
  177.           (  $777DDDD,  $666CCCC,   $666BBBB  ),
  178.           (  $777DDDD,  $666EEEE,   $555FFFF  ), {HiWord state = 9}
  179.           (  $777DDDD,  $666EEEE,   $555EEEE  ),
  180.           (  $777DDDD,  $666EEEE,   $555DDDD  ),
  181.           (  $777DDDD,  $666DDDD,   $555EEEE  ),
  182.           (  $777DDDD,  $666DDDD,   $555DDDD  ),
  183.           (  $777DDDD,  $666DDDD,   $555CCCC  ),
  184.           (  $777DDDD,  $666CCCC,   $555DDDD  ),
  185.           (  $777DDDD,  $666CCCC,   $555CCCC  ),
  186.           (  $777DDDD,  $666CCCC,   $555BBBB  ));
  187.  
  188.   TA2 : array[1..9,1..3] of Word =
  189.          ((  $DDDD,  $EEEE,   $FFFF  ),
  190.           (  $DDDD,  $EEEE,   $EEEE  ),
  191.           (  $DDDD,  $EEEE,   $DDDD  ),
  192.           (  $DDDD,  $DDDD,   $EEEE  ),
  193.           (  $DDDD,  $DDDD,   $DDDD  ),
  194.           (  $DDDD,  $DDDD,   $CCCC  ),
  195.           (  $DDDD,  $CCCC,   $DDDD  ),
  196.           (  $DDDD,  $CCCC,   $CCCC  ),
  197.           (  $DDDD,  $CCCC,   $BBBB  ));
  198.  
  199.   TA2A : array[1..9,1..3] of Word =
  200.          ((  $DDD,  $EEE,   $FFF  ),
  201.           (  $DDD,  $EEE,   $EEE  ),
  202.           (  $DDD,  $EEE,   $DDD  ),
  203.           (  $DDD,  $DDD,   $EEE  ),
  204.           (  $DDD,  $DDD,   $DDD  ),
  205.           (  $DDD,  $DDD,   $CCC  ),
  206.           (  $DDD,  $CCC,   $DDD  ),
  207.           (  $DDD,  $CCC,   $CCC  ),
  208.           (  $DDD,  $CCC,   $BBB  ));
  209.  
  210.   TA1 : array[1..9,1..3] of Word =
  211.          ((  $DD,  $EE,   $FF  ),
  212.           (  $DD,  $EE,   $EE  ),
  213.           (  $DD,  $EE,   $DD  ),
  214.           (  $DD,  $DD,   $EE  ),
  215.           (  $DD,  $DD,   $DD  ),
  216.           (  $DD,  $DD,   $CC  ),
  217.           (  $DD,  $CC,   $DD  ),
  218.           (  $DD,  $CC,   $CC  ),
  219.           (  $DD,  $CC,   $BB  ));
  220.  
  221.   TA1A : array[1..9,1..3] of Word =
  222.          ((  $D,  $E,   $F  ),
  223.           (  $D,  $E,   $E  ),
  224.           (  $D,  $E,   $D  ),
  225.           (  $D,  $D,   $E  ),
  226.           (  $D,  $D,   $D  ),
  227.           (  $D,  $D,   $C  ),
  228.           (  $D,  $C,   $D  ),
  229.           (  $D,  $C,   $C  ),
  230.           (  $D,  $C,   $B  ));
  231.  
  232.  
  233. var
  234. s1,s2,s3  : shortint;
  235. b1,b2,b3  : byte;
  236. i1,i2,i3  : integer;
  237. w1,w2,w3  : word;
  238. l1,l2,l3  : longint;
  239. G1,G2,G3  : string;
  240.  
  241. begin
  242.   Write('Set printer to max 12 char. per inch. Any key when ready...');
  243.   if ReadKeyWord = 0 then ;
  244.   WriteLn(LST,'':7,'UNSIGNED compare -- 4 byte');
  245.   for S1 := 1 to 81 do begin
  246.     if odd(S1) then Write(LST,'':7);
  247.     for S2 := 1 to 3 do
  248.       Write(LST, '$'+HexL(TA4[S1, S2]),' ');
  249.     Write(LST,BetwU(TA4[S1,1], TA4[S1,2], TA4[S1,3]):5,'':5);
  250.     if not odd(S1) then WriteLn(Lst);
  251.     end;
  252.   Write(LST,^L);
  253.  
  254.   for S1 := 1 to 81 do begin
  255.     if odd(S1) then Write(LST,'':7);
  256.     for S2 := 1 to 3 do
  257.       Write(LST, '$'+HexL(TA4A[S1, S2]),' ');
  258.     Write(LST,BetwU(TA4A[S1,1], TA4A[S1,2], TA4A[S1,3]):5,'':5);
  259.     if not odd(S1) then WriteLn(Lst);
  260.     end;
  261.   Write(LST,^L);
  262.  
  263.   WriteLn(LST,'':7,'SIGNED compare -- 4 byte');
  264.   for S1 := 1 to 81 do begin
  265.     if odd(S1) then Write(LST,'':7);
  266.     for S2 := 1 to 3 do
  267.       Write(LST, (TA4[S1, S2]):11,' ');
  268.     Write(LST,BetwS(TA4[S1,1], TA4[S1,2], TA4[S1,3]):5,'':2);
  269.     if not odd(S1) then WriteLn(Lst);
  270.     end;
  271.   Write(LST,^L);
  272.  
  273.   for S1 := 1 to 81 do begin
  274.     if odd(S1) then Write(LST,'':7);
  275.     for S2 := 1 to 3 do
  276.       Write(LST, (TA4A[S1, S2]):11,' ');
  277.     Write(LST,BetwS(TA4A[S1,1], TA4A[S1,2], TA4A[S1,3]):5,'':2);
  278.     if not odd(S1) then WriteLn(Lst);
  279.     end;
  280.   Write(LST,^L);
  281.  
  282.   WriteLn(LST,'':7,'UNSIGNED compare -- 2 byte');
  283.   for S1 := 1 to 9 do begin
  284.     if odd(S1) then Write(LST,'':7);
  285.     for S2 := 1 to 3 do
  286.       Write(LST, '$'+HexW(TA2[S1, S2]),' ');
  287.     Write(LST,BetwU(TA2[S1,1], TA2[S1,2], TA2[S1,3]):5,'':5);
  288.     if not odd(S1) then WriteLn(Lst);
  289.     end;
  290.   Write(LST,^M^J^J^J^J^J);
  291.  
  292.   for S1 := 1 to 9 do begin
  293.     if odd(S1) then Write(LST,'':7);
  294.     for S2 := 1 to 3 do
  295.       Write(LST, '$'+HexW(TA2A[S1, S2]),' ');
  296.     Write(LST,BetwU(TA2A[S1,1], TA2A[S1,2], TA2A[S1,3]):5,'':5);
  297.     if not odd(S1) then WriteLn(Lst);
  298.     end;
  299.   Write(LST,^M^J^J^J^J^J);
  300.  
  301.   WriteLn(LST,'':7,'SIGNED compare -- 2 byte');
  302.   for S1 := 1 to 9 do begin
  303.     if odd(S1) then Write(LST,'':7);
  304.     for S2 := 1 to 3 do
  305.       Write(LST, integer(TA2[S1, S2]):6,' ');
  306.     Write(LST,BetwS(TA2[S1,1], TA2[S1,2], TA2[S1,3]):5,'':5);
  307.     if not odd(S1) then WriteLn(Lst);
  308.     end;
  309.   Write(LST,^M^J^J^J^J^J);
  310.  
  311.   for S1 := 1 to 9 do begin
  312.     if odd(S1) then Write(LST,'':7);
  313.     for S2 := 1 to 3 do
  314.       Write(LST, integer(TA2A[S1, S2]):6,' ');
  315.     Write(LST,BetwS(TA2A[S1,1], TA2A[S1,2], TA2A[S1,3]):5,'':5);
  316.     if not odd(S1) then WriteLn(Lst);
  317.     end;
  318.   Write(LST,^L);
  319.  
  320.   WriteLn(LST,'':7,'UNSIGNED compare -- 1 byte');
  321.   for S1 := 1 to 9 do begin
  322.     if odd(S1) then Write(LST,'':7);
  323.     for S2 := 1 to 3 do
  324.       Write(LST, '$'+HexB(TA1[S1, S2]),' ');
  325.     Write(LST,BetwU(TA1[S1,1], TA1[S1,2], TA1[S1,3]):5,'':5);
  326.     if not odd(S1) then WriteLn(Lst);
  327.     end;
  328.   Write(LST,^M^J^J^J^J^J);
  329.  
  330.   for S1 := 1 to 9 do begin
  331.     if odd(S1) then Write(LST,'':7);
  332.     for S2 := 1 to 3 do
  333.       Write(LST, '$'+HexB(TA1A[S1, S2]),' ');
  334.     Write(LST,BetwU(TA1A[S1,1], TA1A[S1,2], TA1A[S1,3]):5,'':5);
  335.     if not odd(S1) then WriteLn(Lst);
  336.     end;
  337.   Write(LST,^M^J^J^J^J^J);
  338.  
  339.   WriteLn(LST,'':7,'SIGNED compare -- 1 byte');
  340.   for S1 := 1 to 9 do begin
  341.     if odd(S1) then Write(LST,'':7);
  342.     for S2 := 1 to 3 do
  343.       Write(LST, ShortInt(TA1[S1, S2]):4,' ');
  344.     Write(LST,BetwS(TA1[S1,1], TA1[S1,2], TA1[S1,3]):5,'':5);
  345.     if not odd(S1) then WriteLn(Lst);
  346.     end;
  347.   Write(LST,^M^J^J^J^J^J);
  348.  
  349.   for S1 := 1 to 9 do begin
  350.     if odd(S1) then Write(LST,'':7);
  351.     for S2 := 1 to 3 do
  352.       Write(LST, ShortInt(TA1A[S1, S2]):4,' ');
  353.     Write(LST,BetwS(TA1A[S1,1], TA1A[S1,2], TA1A[S1,3]):5,'':5);
  354.     if not odd(S1) then WriteLn(Lst);
  355.     end;
  356.   Write(LST,^L);
  357.  
  358.   end.
  359.