home *** CD-ROM | disk | FTP | other *** search
/ Programmer Power Tools / Programmer Power Tools.iso / pibterm / pibt41s4.arc / UPDATEST.MOD < prev    next >
Encoding:
Text File  |  1988-01-05  |  1.9 KB  |  68 lines

  1. (*----------------------------------------------------------------------*)
  2. (*             Update_Status_Line --- Update status line time           *)
  3. (*----------------------------------------------------------------------*)
  4.  
  5. PROCEDURE Update_Status_Line;
  6.  
  7. VAR
  8.    H_String : STRING[2];
  9.    M_String : STRING[2];
  10.    HM_String: STRING[5];
  11.    Hours    : INTEGER;
  12.    Mins     : INTEGER;
  13.  
  14. (* STRUCTURED *) CONST
  15.    OffOn : ARRAY[0..1] OF STRING[1] = ('-','+');
  16.  
  17. BEGIN (* Update_Status_Line *)
  18.  
  19.    IF Do_Status_Time THEN
  20.       BEGIN
  21.  
  22.          FastTime( New_Status_Time );
  23.  
  24.          IF ( New_Status_Time <> Current_Status_Time ) THEN
  25.             BEGIN
  26.  
  27.                Current_Status_Time := New_Status_Time;
  28.  
  29.                Hours := HI( New_Status_Time );
  30.                Mins  := LO( New_Status_Time );
  31.  
  32.                IF ( Time_Format = AMPM_Time ) THEN
  33.                   IF ( Hours = 0 ) THEN
  34.                      Hours := 12
  35.                   ELSE IF ( Hours > 12 ) THEN
  36.                      Hours := Hours - 12;
  37.  
  38.                STR( Hours : 2 , H_String );
  39.                STR( Mins  : 2 , M_String );
  40.  
  41.                IF ( M_String[1] = ' ' ) THEN
  42.                   M_String[1] := '0';
  43.  
  44.                HM_String := H_String + ':' + M_String;
  45.  
  46.                Write_To_Status_Line( HM_String , 13 );
  47.  
  48.                MOVE( HM_String[1], Status_Line_Name[13], 5 );
  49.  
  50.             END;
  51.  
  52.       END;
  53.  
  54. (* New_Carrier_Status := Async_Carrier_Detect; *)
  55.  
  56.    New_Carrier_Status := ODD( Port[ UART_MSR + Async_Base ] SHR 7 ) OR
  57.                          Async_Hard_Wired_On;
  58.  
  59.    IF ( New_Carrier_Status <> Current_Carrier_Status ) THEN
  60.       BEGIN
  61.          Carrier_Dropped        := ( New_Carrier_Status = FALSE );
  62.          Current_Carrier_Status := New_Carrier_Status;
  63.          IF ( NOT Host_Mode ) THEN
  64.             Write_To_Status_Line( OffOn[ ORD( Current_Carrier_Status ) ], 47 );
  65.       END;
  66.  
  67. END   (* Update_Status_Line *);
  68.