home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / turbopas / tp / utl2 / bell.pzs / BELL.PAS
Pascal/Delphi Source File  |  1994-07-23  |  3KB  |  110 lines

  1. Program Ring_Bell;
  2.  
  3. {***************************************************
  4. * This program has a two fold benifit. First, is   *
  5. *  to assist when running a time consuming batch   *
  6. *  file and I might be somewhere else within       *
  7. *  hearing range like in the next room, I would    *
  8. *  know immediatly when it finishes.               *
  9. *  Last, it gave me a chance to figure out how     *
  10. *  load parameters from the command line even      *
  11. *  thought it's nothing fancy.                     *
  12. *                                                  *
  13. * The parameter choises are as follows:            *
  14. *  A = Alarm, a steady bell till a key is pressed. *
  15. *  W = Warning, a pause between each bell till a   *
  16. *       key is pressed.                            *
  17. *  B = Bell, a single bell.                        *
  18. *  H = Help, gives something like this.            *
  19. *      ex. A>BELL B                                *
  20. *  Only one space between the second L and the     *
  21. *    parameter.                                    *
  22. *                                                  *
  23. * Version 1.00                                     *
  24. * Kirk Fitzgerald  12 August 1985                  *
  25. ***************************************************}
  26.  
  27. Const
  28.    FCB                = $5d;
  29.    FCBHowLong         = $80;
  30.  
  31. Var
  32.    CommandLine,
  33.    CommandLineLength:   Byte;
  34.    I:                   Integer;
  35.  
  36.  
  37. {*************** Procedures ****************}
  38.  
  39.  
  40. Procedure Alarm;
  41. Begin
  42.      While not KeyPressed do
  43.         Write(^G^G);
  44. End;
  45.  
  46.  
  47. Procedure Warning;
  48. Begin
  49.      While not KeyPressed do
  50.      Begin
  51.         Write(^G^G^G);
  52.         Delay(1000);
  53.      End;
  54. End;
  55.  
  56.  
  57. Procedure Bell;
  58. Begin
  59.      Write(^G^G^G^G^G);
  60. End;
  61.  
  62.  
  63. Procedure Help;
  64. Begin
  65.      Writeln('A = Alarm, a steady bell till a key is pressed.');
  66.      Writeln('W = Warning, a pause between each bell till a key is pressed.');
  67.      Writeln('B = Bell, a single bell.');
  68.      Writeln('H = Help, gives something like this.');
  69.      Writeln('  Ex.  A>BELL B');
  70.      Writeln('With only one space between.');
  71. End;
  72.  
  73.  
  74.  
  75. Procedure Read_Interpret_and_Do_Command_Line;
  76. Begin
  77.      CommandLineLength := Mem[FCBHowLong];
  78.      CommandLine := Mem[FCB];
  79.  
  80.      If commandLineLength = 2 Then
  81.      Begin
  82.           Case Chr(CommandLine) of
  83.              'A': Alarm;
  84.              'W': Warning;
  85.              'B': Bell;
  86.              'H': Help;
  87.           Else
  88.              Bell;
  89.              Help;
  90.           End;
  91.      End
  92.      Else
  93.      Begin
  94.           Bell;
  95.           Help;
  96.      End;
  97. End;
  98.  
  99.  
  100. {************* Main Line *************}
  101.  
  102.  
  103. Begin
  104.      Read_Interpret_and_Do_Command_Line;
  105. End.
  106.  
  107.  
  108.  
  109.  
  110.