(*
   Ever get tired of watching your computer screen for errors generated
   by some command when running a large batch file? We did. This program
   was the result of a need for a 'hailer' for batch error levels and
   completion of job. (that way we could hang around the coffee machine more).
   enjoy it..

        Public Domain software by
                                  L/G Computer Consultants
                                          box 190
                                    Willingboro, NJ 08046


    Note: compile to a .com file with a mAximum memory of 300.

*)

var
 i :integer;



procedure warning;       (* sound procedures for IBM only.. for cpm *)
  begin                  (* change to write(^G) statements (use the imagination *)
    while not keypressed do
       begin
         sound(660);
         delay(150);
         sound(440);
         delay(100);
         nosound;
         delay(800);
       end;
  end;


procedure alarm;

var
  x: integer;
  begin
    while not keypressed do
      begin
        for x:=440 to 2000 do
          sound(x);
        for x:= 2000 downto 440 do
          sound(x);
      end;
    nosound;
 end;


procedure bell;

  begin
   write(^G);
  end;


procedure help;
 begin
   writeln(' Public Domain software by:   L/G Computer Consultants');
   writeln('                                      box 190 ');
   writeln('                                Willingboro, NJ 08046');
   writeln;
   writeln('ERROR: invalid command line.');
   writeln;
   writeln(' W : warning- provides two-tone paced alarm until a key is pressed');
   writeln(' A : siren alarm- continuous until keypressed');
   writeln(' B : single bell');
   writeln;
   writeln(' Enter commandline selection with a space after the filename');
   writeln(' example:  A>dosbel w');
   writeln;
 end;

begin { main }
Textcolor(LightGray);
 if paramcount >0 then  (* paramcount and paramstr() are pre-defined in turbo 3.0 *)
    begin
       case upcase(paramstr(1)) of
         'A' : alarm;
         'B' : bell;
         'W' : warning;
         else help;
      end;
    end
  else
   help;
end.




