[Back to ISR SWAG index] [Back to Main SWAG index] [Original]

    {
    > How do you have a Procedure running Constantly While others things are
    > happening??

    Well, to have them run at the exact same time isn't possible. You can swap
    back and forth pretty quick though. The basic idea is that when the
    computer is idle (waiting For a key, displaying a Text File, etc) you have
    it jump to your routine.
    }
    Program Test1;
    (* This will wait For a key and display the time *)
    Uses
      Dos, Crt;

    Procedure WriteTime;
    Var
      CurX,
      CurY,
      CurA  : Byte;
      H, M,
      S, MS : Word;
    begin
      CurX := WhereX;
      CurY := WhereY;
      CurA := TextAttr;
      TextColor(7);
      GotoXy(60, 1);
      GetTime(H, M, S, MS);
      Write(H, ':', M, ':', S, '.', MS);
      TextAttr := CurA;
      GotoXy(CurX, CurY);
    end;

    { Uncomment this For Keyboard IDLE Demo }
    Var Ch : Char;
        Done : Boolean;
    begin
      Repeat
        Repeat
          WriteTime
        Until KeyPressed;
        Ch := ReadKey;
        Done := (Ch = #27);
      Until Done;
    end.

    { Uncomment this For TextFile IDLE Demo }
    {
    Var T : Text;
        Ts : String;
    begin
      Assign(T,'BBS.NFO');
      Reset(T);
      While Not Eof(T) Do begin
        ReadLn(T,Ts);
        WriteTime;
        WriteLn(Ts);
      end;
      Close(T);
    end.
    }

[Back to ISR SWAG index] [Back to Main SWAG index] [Original]