home *** CD-ROM | disk | FTP | other *** search
/ Power Programming / powerprogramming1994.iso / progtool / pibterm / pibt41s1.arc / KDISPLAY.MOD < prev    next >
Text File  |  1987-12-01  |  10KB  |  357 lines

  1. (*----------------------------------------------------------------------*)
  2. (*    Initialize_Display --- Set up status display of Kermit transfer   *)
  3. (*----------------------------------------------------------------------*)
  4.  
  5. PROCEDURE Initialize_Display;
  6.  
  7. (*----------------------------------------------------------------------*)
  8. (*                                                                      *)
  9. (*     Procedure:  Initialize_Display                                   *)
  10. (*                                                                      *)
  11. (*     Purpose:    Initializes status display for Kermit transfers      *)
  12. (*                                                                      *)
  13. (*     Calling Sequence:                                                *)
  14. (*                                                                      *)
  15. (*        Initialize_Display;                                           *)
  16. (*                                                                      *)
  17. (*----------------------------------------------------------------------*)
  18.  
  19. VAR
  20.    I: INTEGER;
  21.  
  22. BEGIN (* Initialize_Display *)
  23.  
  24.    IF ( NOT Display_Status ) THEN EXIT;
  25.  
  26.    Draw_Menu_Frame( 15, 5, 78, 20, Menu_Frame_Color, Menu_Title_Color,
  27.                     Menu_Text_Color, Kermit_Menu_Title );
  28.  
  29.    PibTerm_Window( 16, 6, 77, 19 );
  30.  
  31.    TextColor( Menu_Text_Color_2 );
  32.  
  33.    FOR I := 1 TO 5 DO
  34.       BEGIN
  35.          GoToXY( 1 , I );
  36.          IF Sending_File THEN
  37.             WRITE(' ', Send_Titles[I] )
  38.          ELSE
  39.             WRITE(' ', Receive_Titles[I] );
  40.          ClrEol;
  41.       END;
  42.  
  43.    FOR I := 6 TO 14 DO
  44.       BEGIN
  45.          GoToXY( 1 , I );
  46.          WRITE(' ', Line_Titles[I] );
  47.          ClrEol;
  48.       END;
  49.  
  50.    GoToXY( 1 , Kermit_Title_Line );
  51.    WRITE( Key_Title );
  52.    ClrEol;
  53.  
  54.    TextColor( Menu_Text_Color );
  55.  
  56. END   (* Initialize_Display *);
  57.  
  58. (*----------------------------------------------------------------------*)
  59. (*   Initialize_Logout_Display --- Set up display for server logout     *)
  60. (*----------------------------------------------------------------------*)
  61.  
  62. PROCEDURE Initialize_Logout_Display;
  63.  
  64. (*----------------------------------------------------------------------*)
  65. (*                                                                      *)
  66. (*     Procedure:  Initialize_Logout_Display                            *)
  67. (*                                                                      *)
  68. (*     Purpose:    Initializes logout display                           *)
  69. (*                                                                      *)
  70. (*     Calling Sequence:                                                *)
  71. (*                                                                      *)
  72. (*        Initialize_Logout_Display;                                    *)
  73. (*                                                                      *)
  74. (*----------------------------------------------------------------------*)
  75.  
  76. BEGIN (* Initialize_Logout_Display *)
  77.  
  78.    IF ( NOT Display_Status ) THEN EXIT;
  79.  
  80.    Draw_Menu_Frame( 15, 5, 78, 20, Menu_Frame_Color, Menu_Title_Color,
  81.                     Menu_Text_Color, 'Logging out remote server' );
  82.  
  83.    PibTerm_Window( 16, 6, 77, 19 );
  84.  
  85.    TextColor( Menu_Text_Color_2 );
  86.  
  87.    GoToXY( 1 , 1 );
  88.    WRITE( ' ', Send_Titles[1] );
  89.    ClrEol;
  90.  
  91.    GoToXY( 1 , 3 );
  92.    WRITE( ' ', Send_Titles[3] );
  93.    ClrEol;
  94.  
  95.    GoToXY( 1 , 11 );
  96.    WRITE( ' ' , Line_Titles[11] );
  97.    ClrEol;
  98.  
  99.    TextColor( Menu_Text_Color );
  100.  
  101. END   (* Initialize_Logout_Display *);
  102.  
  103. (*----------------------------------------------------------------------*)
  104. (*  Display_Kermit_Init_Params --- Display Kermit init. parameters      *)
  105. (*----------------------------------------------------------------------*)
  106.  
  107. PROCEDURE Display_Kermit_Init_Params;
  108.  
  109. VAR
  110.    Quote_8: CHAR;
  111.  
  112. BEGIN (* Display_Kermit_Init_Params *)
  113.  
  114.    IF Display_Status THEN
  115.       BEGIN
  116.  
  117.          GoToXY( 25 , 6 );
  118.  
  119.          IF Sending_File THEN
  120.             Quote_8 := Kermit_Quote_8_Char
  121.          ELSE
  122.             Quote_8 := His_Quote_8_Char;
  123.  
  124.          IF Quoting THEN
  125.             WRITE('ON using <',Quote_8,'>')
  126.          ELSE
  127.             WRITE('OFF');
  128.  
  129.          ClrEol;
  130.  
  131.          GoToXY( 25 , 7 );
  132.  
  133.          CASE His_Chk_Type OF
  134.             '1':  WRITE('1 character checksum');
  135.             '2':  WRITE('2 character checksum');
  136.             '3':  WRITE('3 character CRC');
  137.          END (* CASE *);
  138.  
  139.          ClrEol;
  140.  
  141.          GoToXY( 25 , 8 );
  142.  
  143.          IF Repeating THEN
  144.             WRITE('ON using <',His_Repeat_Char,'>')
  145.          ELSE
  146.             WRITE('OFF');
  147.  
  148.          ClrEol;
  149.  
  150.          GoToXY( 25 , 9 );
  151.  
  152.          IF Kermit_Do_Sliding_Win THEN
  153.             WRITE('ON with window size ', His_Kermit_Window_Size )
  154.          ELSE
  155.             WRITE('OFF');
  156.  
  157.          ClrEol;
  158.  
  159.          GoToXY( 25 , 10 );
  160.  
  161.          IF Kermit_Do_Long_Blocks THEN
  162.             WRITE('ON with maximum size ', His_Kermit_MaxLX1 * 95 + His_Kermit_MaxLX2 )
  163.          ELSE
  164.             WRITE('OFF');
  165.  
  166.          ClrEol;
  167.  
  168.       END;
  169.  
  170. END   (* Display_Kermit_Init_Params *);
  171.  
  172. (*----------------------------------------------------------------------*)
  173. (*        Flip_Display_Status --- turn status display on/off            *)
  174. (*----------------------------------------------------------------------*)
  175.  
  176. PROCEDURE Flip_Display_Status;
  177.  
  178. BEGIN (* Flip_Display_Status *)
  179.  
  180.    IF ( NOT Kermit_Screen_Write ) THEN
  181.       CASE Display_Status OF
  182.  
  183.          TRUE:   BEGIN
  184.                                    (* Indicate no display   *)
  185.  
  186.                     Display_Status := FALSE;
  187.  
  188.                                    (* Remove display window  *)
  189.  
  190.                     Restore_Screen_And_Colors( Kermit_Local_Save );
  191.  
  192.                                    (* Restore cursor *)
  193.                     CursorOn;
  194.  
  195.                  END;
  196.  
  197.          FALSE:  BEGIN
  198.                                    (* Indicate display will be done *)
  199.  
  200.                     Display_Status := TRUE;
  201.  
  202.                                    (* Hide cursor *)
  203.                     CursorOff;
  204.                                    (* Save screen image *)
  205.  
  206.                     Save_Screen( Kermit_Local_Save );
  207.  
  208.                                    (* Initialize display window     *)
  209.  
  210.                     IF Logging_Out_Server THEN
  211.                        Initialize_Logout_Display
  212.                     ELSE
  213.                        BEGIN
  214.                           Initialize_Display;
  215.                           Display_Kermit_Init_Params;
  216.                        END;
  217.  
  218.                  END;
  219.  
  220.       END (* CASE *);
  221.  
  222. END   (* Flip_Display_Status *);
  223.  
  224. (*----------------------------------------------------------------------*)
  225. (*      Update_Kermit_Display --- Update display of Kermit transfer     *)
  226. (*----------------------------------------------------------------------*)
  227.  
  228. PROCEDURE Update_Kermit_Display;
  229.  
  230. BEGIN (* Update_Kermit_Display *)
  231.  
  232.    IF ( Display_Status ) THEN
  233.       BEGIN
  234.  
  235.          GoToXY( 25 , 1 );
  236.          IF Sending_File THEN
  237.             WRITE( Packets_Sent )
  238.          ELSE
  239.             WRITE( Packets_Received );
  240.  
  241.          IF ( NOT Logging_Out_Server ) THEN
  242.             BEGIN
  243.                GoToXY( 25 , 2 );
  244.                WRITE( Buffer_Num );
  245.                ClrEol;
  246.             END;
  247.  
  248.          GoToXY( 25 , 3 );
  249.          WRITE( Packets_Bad );
  250.  
  251.          GoToXY( 25 , 5 );
  252.          IF Kermit_Doing_Transfer THEN
  253.             WRITE ( Kermit_Window_Bottom, ' : ', Kermit_Window_Top );
  254.          ClrEol;
  255.  
  256.       END;
  257.  
  258. END   (* Update_Kermit_Display *);
  259.  
  260. (*----------------------------------------------------------------------*)
  261. (*  Display_Kermit_Message --- Display Kermit reception status message  *)
  262. (*----------------------------------------------------------------------*)
  263.  
  264. PROCEDURE Display_Kermit_Message( Status_Text: AnyStr );
  265.  
  266. BEGIN (* Display_Kermit_Message *)
  267.  
  268.    IF ( NOT Display_Status ) THEN
  269.       Flip_Display_Status;
  270.  
  271.    IF Display_Status THEN
  272.       BEGIN
  273.  
  274.          Update_Kermit_Display;
  275.  
  276.          GoToXY( 25 , Kermit_Mess1_Line );
  277.          WRITE( Status_Text );
  278.          ClrEol;
  279.  
  280.      END;
  281.  
  282.    Write_Log( Status_Text, TRUE, FALSE );
  283.  
  284. END   (* Display_Kermit_Message *);
  285.  
  286. (*----------------------------------------------------------------------*)
  287. (* Display_Kermit_Message_2 --- Display Kermit reception status message *)
  288. (*----------------------------------------------------------------------*)
  289.  
  290. PROCEDURE Display_Kermit_Message_2( Status_Text: AnyStr );
  291.  
  292. BEGIN (* Display_Kermit_Message_2 *)
  293.  
  294.    IF ( NOT Display_Status ) THEN
  295.       Flip_Display_Status;
  296.  
  297.    IF Display_Status THEN
  298.       BEGIN
  299.  
  300.          Update_Kermit_Display;
  301.  
  302.          GoToXY( 2 , Kermit_Mess2_Line );
  303.          WRITE( Status_Text );
  304.          ClrEol;
  305.  
  306.       END;
  307.  
  308.    Write_Log( Status_Text, TRUE, FALSE );
  309.  
  310. END   (* Display_Kermit_Message_2 *);
  311.  
  312. (*----------------------------------------------------------------------*)
  313. (* Display_Kermit_Message_3 --- Display Kermit reception status message *)
  314. (*----------------------------------------------------------------------*)
  315.  
  316. PROCEDURE Display_Kermit_Message_3( Status_Text: AnyStr );
  317.  
  318. BEGIN (* Display_Kermit_Message_3 *)
  319.  
  320.    IF ( NOT Display_Status ) THEN
  321.       Flip_Display_Status;
  322.  
  323.    IF Display_Status THEN
  324.       BEGIN
  325.  
  326.          Update_Kermit_Display;
  327.  
  328.          GoToXY( 2 , Kermit_Mess3_Line );
  329.          WRITE( Status_Text );
  330.          ClrEol;
  331.  
  332.       END;
  333.  
  334.    Write_Log( Status_Text, TRUE, FALSE );
  335.  
  336. END   (* Display_Kermit_Message_3 *);
  337.  
  338. (*----------------------------------------------------------------------*)
  339. (*       Kermit_Clear_Message_Lines --- Clear Kermit message lines      *)
  340. (*----------------------------------------------------------------------*)
  341.  
  342. PROCEDURE Kermit_Clear_Message_Lines;
  343.  
  344. BEGIN (* Kermit_Clear_Message_Lines *)
  345.  
  346.    IF Display_Status THEN
  347.       BEGIN
  348.  
  349.          GoToXY( 1 , Kermit_Mess2_Line );
  350.          ClrEol;
  351.  
  352.          GoToXY( 1 , Kermit_Mess3_Line );
  353.          ClrEol;
  354.  
  355.       END;
  356.  
  357. END   (* Kermit_Clear_Message_Lines *);