home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / RKEY12.ZIP / RKSAMPLE.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1991-01-21  |  3.4 KB  |  152 lines

  1. PROGRAM RkSample;
  2.  
  3. {
  4.  This is a sample program using rKey.  It does not use registration levels.
  5.  This is a very simple program that doesn't actually do anything, but it
  6.  should demonstrate some of what can be done with rKey.
  7. }
  8.  
  9.  
  10. USES
  11.   Crt, rKey;     { to use StrLib change rKey to rKeyS }
  12.  
  13.  
  14. CONST
  15.   RkSampleVer = '2.4';
  16.  
  17.  
  18. VAR
  19.   kc : CHAR;
  20.  
  21.  
  22. PROCEDURE BadRegBeep;
  23.  
  24. BEGIN
  25.   Sound(1200);
  26.   Delay(200);
  27.   Sound(600);
  28.   Delay(200);
  29.   Sound(1200);
  30.   Delay(200);
  31.   Sound(600);
  32.   Delay(200);
  33.   NoSound;
  34. END;
  35.  
  36.  
  37. PROCEDURE NotRegBeep;
  38.  
  39. BEGIN
  40.   Sound(600);
  41.   Delay(200);
  42.   Sound(1200);
  43.   Delay(200);
  44.   NoSound;
  45. END;
  46.  
  47.  
  48. PROCEDURE DoView;
  49.  
  50. BEGIN
  51.   WriteLn('Sample data :');
  52.   WriteLn;
  53.   WriteLn('4.465536  7.918270  0.118373  5.367233');
  54.   WriteLn('1.396349  4.868343  7.079323  4.783021');
  55.   WriteLn('3.947924  8.864673  8.846264  2.999999');
  56.   WriteLn('8.490832  6.874378  5.338329  3.729270');
  57.   WriteLn('6.839882  8.873478  6.750373  7.018948');
  58.   WriteLn('5.034784  3.003763  3.253290  4.892387');
  59.   WriteLn('3.874378  8.314159  9.880869  3.987842');
  60.   WriteLn('2.764947  9.265358  4.013002  9.903278');
  61. END;
  62.  
  63.  
  64. PROCEDURE DoCalc;
  65.  
  66. BEGIN
  67.   IF RegStatus THEN BEGIN
  68.     Write('The calculated result is ');
  69.     WriteLn(4.465536+7.918270+0.118373+5.367233+1.396349+4.868343+7.079323+4.783021
  70.     +3.947924+8.864673+8.846264+2.999999+8.490832+6.874378+5.338329+3.729270
  71.     +6.839882+8.873478+6.750373+7.018948+5.034784+3.003763+3.253290+4.892387
  72.     +3.874378+8.314159+9.880869+3.987842+2.764947+9.265358+4.013002+9.903278);
  73.   END ELSE
  74.     WriteLn('Not available in evaluation version!');
  75. END;
  76.  
  77.  
  78. PROCEDURE DoTest;
  79.  
  80. BEGIN
  81.   IF RegStatus THEN BEGIN
  82.     Write('Performing tests...');
  83.     Delay(300);
  84.     WriteLn;
  85.     WriteLn('All tests passed.');
  86.   END ELSE
  87.     WriteLn('Not available in evaluation version!');
  88. END;
  89.  
  90.  
  91. BEGIN
  92.   OwnerCode := 'ArgleBarbWotsLeeb';
  93.   ProgramCode := 'RkSample Two';
  94.   KeyFileName := 'RKSAMPLE';
  95.   GetRegInfo;
  96.   Write('RkSample v' + RkSampleVer);
  97.   IF RegError THEN
  98.     WriteLn(' [invalid]')
  99.   ELSE IF RegStatus THEN
  100.     WriteLn(' [registered]')
  101.   ELSE
  102.     WriteLn(' [evaluation]');
  103.   WriteLn('(c) 1990 TrendSoft, Inc.');
  104.   WriteLn;
  105.   IF RegError THEN BEGIN
  106.     WriteLn(KeyFilePath+' has been altered!');
  107.     WriteLn('Please contact TrendSoft, Inc. to obtain a valid key file.');
  108.     BadRegBeep;
  109.     Halt(1);
  110.   END ELSE IF RegStatus THEN BEGIN
  111.     WriteLn('This version of RkSample is registered to '+RegName);
  112.     WriteLn('Thank you for registering!');
  113.   END ELSE BEGIN
  114.     WriteLn('This version of RkSample is a limited evaluation copy.');
  115.     WriteLn('Contact TrendSoft, Inc. for information on obtaining a registered version.');
  116.     NotRegBeep;
  117.     Delay(500);
  118.   END;
  119.   WriteLn;
  120.   Write('RkSample v' + RkSampleVer);
  121.   IF NOT RegStatus THEN
  122.     Write(' Evaluation');
  123.   WriteLn(' Menu');
  124.   WriteLn;
  125.   WriteLn('[V]iew sample data');
  126.   Write('[C]alculate');
  127.   IF NOT RegStatus THEN
  128.     WriteLn('  (not available in evaluation version)')
  129.   ELSE
  130.     WriteLn;
  131.   Write('[T]est results');
  132.   IF NOT RegStatus THEN
  133.     WriteLn('  (not available in evaluation version)')
  134.   ELSE
  135.     WriteLn;
  136.   WriteLn;
  137.   Write('Selection : ');
  138.   kc := UpCase(ReadKey);
  139.   WriteLn;
  140.   WriteLn;
  141.   CASE kc OF
  142.   'V' :
  143.     DoView;
  144.   'C' :
  145.     DoCalc;
  146.   'T' :
  147.     DoTest;
  148.   ELSE
  149.     WriteLn('Invalid selection!');
  150.   END;
  151. END.
  152.