home *** CD-ROM | disk | FTP | other *** search
/ Power Programming / powerprogramming1994.iso / progtool / pibterm / pibt41s1.arc / DISPLAYT.MOD < prev    next >
Text File  |  1988-03-21  |  4KB  |  150 lines

  1. (*----------------------------------------------------------------------*)
  2. (*              Display_Timers --- Display session timers               *)
  3. (*----------------------------------------------------------------------*)
  4.  
  5. PROCEDURE Display_Timers;
  6.  
  7. VAR
  8.    Ch: CHAR;
  9.    Y1: INTEGER;
  10.    Y2: INTEGER;
  11.    Y3: INTEGER;
  12.    Y4: INTEGER;
  13.  
  14. (*----------------------------------------------------------------------*)
  15.  
  16. PROCEDURE Update_Timers;
  17.  
  18. BEGIN (* Update_Timers *)
  19.  
  20.    WriteSXY( TimeString( TimeDiff( Session_Start_Time , TimeOfDay ),
  21.                          Military_Time ),
  22.              58, Y1 + 5, Menu_Text_Color );
  23.  
  24.    IF Async_Carrier_Detect THEN
  25.       WriteSXY( TimeString( TimeDiff( Dialing_Start_Time , TimeOfDay ),
  26.                             Military_Time ),
  27.                 58, Y2 + 5, Menu_Text_Color );
  28.  
  29.    WriteSXY( TimeString( TimeOfDay , Time_Format ), 25, Y3 + 5,
  30.              Menu_Text_Color );
  31.  
  32.    WriteSXY( DateString, 25, Y3 + 6, Menu_Text_Color );
  33.  
  34. END   (* Update_Timers *);
  35.  
  36. (*----------------------------------------------------------------------*)
  37.  
  38. BEGIN (* Display_Timers *)
  39.  
  40.    Draw_Titled_Box( Saved_Screen, 5, 5, 75, 23,
  41.                     'Display session information' );
  42.  
  43.    TextColor( Menu_Text_Color_2 );
  44.  
  45.    IF ( Async_Carrier_Detect AND ( Phone_Entry_Number > 0 ) ) THEN
  46.       BEGIN
  47.          WRITE  ('Current host system : ');
  48.          TextColor( Menu_Text_Color );
  49.          WRITELN( Phone_Entry_Data.Phone_Name   );
  50.          TextColor( Menu_Text_Color_2 );
  51.          WRITE  ('Current phone number: ');
  52.          TextColor( Menu_Text_Color );
  53.          WRITELN( LTrim( Phone_Entry_Data.Phone_Number ) );
  54.       END
  55.    ELSE
  56.       BEGIN
  57.          WRITE  ('Current host system :  ');
  58.          TextColor( Menu_Text_Color );
  59.          WRITELN('*** None ***');
  60.          TextColor( Menu_Text_Color_2 );
  61.          WRITE  ('Current phone number:  ');
  62.          TextColor( Menu_Text_Color );
  63.          WRITELN('*** None ***');
  64.       END;
  65.  
  66.    WRITELN;
  67.  
  68.    TextColor( Menu_Text_Color_2 );
  69.  
  70.    WRITE('Elapsed time since PibTerm started      : ');
  71.  
  72.    Y1 := WhereY;
  73.    WRITELN;
  74.  
  75.    IF Async_Carrier_Detect THEN
  76.       BEGIN
  77.          WRITE('Elapsed time since current session began: ');
  78.          Y2 := WhereY;
  79.       END
  80.    ELSE
  81.       WRITELN;
  82.  
  83.    WRITELN;
  84.  
  85.    WRITE  ('Available heap space in bytes: ');
  86.  
  87.    TextColor( Menu_Text_Color );
  88.    WRITELN( MaxAvail );
  89.  
  90.    TextColor( Menu_Text_Color_2 );
  91.  
  92.    WRITELN;
  93.    WRITE('Current time: ');
  94.    Y3 := WhereY;
  95.    WRITELN;
  96.    WRITELN('Current date: ');
  97.  
  98.    Update_Timers;
  99.  
  100.    TextColor( Menu_Text_Color_2 );
  101.  
  102.    WRITELN;
  103.    WRITE('Current capture file name: ');
  104.  
  105.    TextColor( Menu_Text_Color );
  106.  
  107.    IF Capture_On THEN
  108.       WRITELN( Capture_File_Name )
  109.    ELSE
  110.       WRITELN('*** None ***');
  111.  
  112.    TextColor( Menu_Text_Color_2 );
  113.  
  114.    WRITE('Current script name      : ');
  115.  
  116.    TextColor( Menu_Text_Color );
  117.  
  118.    IF ( Script_File_Mode AND ( Current_Script_Num > 0 ) ) THEN
  119.       WRITELN( Scripts[Current_Script_Num].Script_Name )
  120.    ELSE
  121.       WRITELN('*** None ***');
  122.  
  123.    TextColor( Menu_Text_Color_2 );
  124.  
  125.    WRITELN;
  126.    WRITE  ('Enter C to clear dialing session timer, hit ESC to continue ... ');
  127.  
  128.    WHILE ( NOT PibTerm_KeyPressed ) DO
  129.       BEGIN
  130.          Update_Timers;
  131.          GiveAwayTime( 1 );
  132.       END;
  133.  
  134.    Read_Kbd( Ch );
  135.  
  136.    IF ( ORD( Ch ) = ESC ) AND PibTerm_KeyPressed THEN
  137.       Read_Kbd( Ch )
  138.    ELSE
  139.       BEGIN
  140.          IF UpCase( Ch ) = 'C' THEN
  141.             BEGIN
  142.                Dialing_Start_Time := TimeOfDay;
  143.                Write_Log('Dialing session timer reset.', FALSE, FALSE);
  144.             END;
  145.       END;
  146.  
  147.    Restore_Screen_And_Colors( Saved_Screen );
  148.  
  149. END   (* Display_Timers *);
  150.