home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / norskdata / ndkbas.pas next >
Pascal/Delphi Source File  |  2020-01-01  |  1KB  |  58 lines

  1. (*     tab p;
  2.  *
  3.  *      Kermit basic operations.
  4.  *      
  5.  *)
  6.  
  7.  
  8.     function    ToChar ( ch : char ): char;
  9.     begin
  10.         (* make sure not a control character *)
  11.         ToChar := chr( ord ( ch ) + ord ( ' ' ) );
  12.     end;
  13.  
  14.     function    UnChar ( ch : char ): char;
  15.     begin
  16.         (* undoes ToChar *)
  17.         UnChar := chr ( ord ( ch ) - ord ( ' ' ) );
  18.     end;
  19.  
  20.     function    Ctl ( ch : char ): char;
  21.     begin
  22.         (* toggle control bit *)
  23.         Ctl := cxor ( ch , chr ( 64 ) );
  24.     end;
  25.  
  26.     function    MakeCheck ( chksum : integer ): char;
  27.     begin
  28.         MakeCheck := ToChar (
  29.                               chr (
  30.                                     ( chksum +
  31.                                     iand ( chksum , 192 ) div 64 )
  32.                                           mod 64
  33.                                   )
  34.                             );
  35.     end;
  36.  
  37.     function    StripParity ( ch : char ) : char;
  38.     begin
  39.         StripParity := chr( iand( ord( ch ), 127 ) );
  40.     end;
  41.  
  42.     function Prev ( n : integer ):integer;
  43.     begin
  44.         if n = 0 then
  45.             Prev := 63
  46.         else
  47.             Prev := n - 1;
  48.     end;
  49.  
  50.     function    uc( ch : char ):char;
  51.     begin
  52.         if ( ch >= 'a' ) and ( ch <= 'z' ) then
  53.             uc := chr( ord(ch) - 32 )
  54.         else
  55.             uc := ch;
  56.     end;
  57. 
  58.