home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a081 / 2.ddi / CTFXX.EXE / FOXCOM05.PRG < prev    next >
Encoding:
Text File  |  1993-05-12  |  3.2 KB  |  114 lines

  1. *.............................................................................
  2. *   Program Name: FOXCOM05         Copyright: Magna Carta Software, Inc.
  3. *   Date Created: 06-24-91         Language:  FoxPro 2.0
  4. *.............................................................................
  5. * Description: FOXCOM03 plus...
  6. * a) Received data transformation.
  7. * Usage notes: Log into a remote system.
  8. * Note that all text received from the remote system is converted to uppercase
  9. *.............................................................................
  10. CLEAR ALL
  11. SET TALK OFF
  12. SET ESCAPE OFF
  13.  
  14. * Load the right library
  15. foxid = VERS()
  16. IF "2.0" $ foxid
  17.     SET LIBR TO ctf                 && Identified FoxPro 2.0
  18. ELSE
  19.     IF "2.5" $ VERS()
  20.         IF "Windows" $ foxid        && Identified FoxPro 2.5 for Windows
  21.             SET LIBR TO ctfw
  22.         ELSE
  23.             SET LIBR TO ctf25       && Identified FoxPro 2.5 for DOS
  24.         ENDIF
  25.     ENDIF
  26. ENDIF
  27.  
  28. SET COLOR OF SCHEME 17 TO SCHEME 1  && save default color scheme
  29. SET COLOR OF SCHEME 18 TO SCHEME 2
  30.  
  31. DO ctfhdr
  32. DO ctfutil
  33. SET PROCEDURE TO CTFUTIL
  34. version = 5
  35. portid  = 0
  36.  
  37. ACTIVATE WINDOW w_status
  38. ACTIVATE WINDOW w_term
  39.  
  40. ret = u8250_init(portid, COM1, 2400, 8, PARITY_NONE, 1)      && initialize COM1
  41. IF ret < 0
  42.     ? ret
  43.     =INKEY(0)
  44.     CANCEL
  45. ENDIF
  46. =CT_SET_WIN(portid)
  47. ret =install_ipr(portid, RECEIVE, NULL, 2048)   && initialize receive IPR
  48. IF ret < 0
  49.     ? ret-1
  50.     =INKEY(0)
  51.     CANCEL
  52. ENDIF
  53. ret =install_isr(portid, 4, NULL)                     && IRQ4 (use 3 for COM2)
  54. IF ret < 0
  55.     ? ret-2
  56.     =INKEY(0)
  57.     CANCEL
  58. ENDIF
  59.  
  60. @ 00,00 SAY "CommTools Terminal Version " +;
  61.     ALLTRIM(STR(version)) + ": Press ESC for a list of commands"
  62. =set_rx_xlat(0, LOCAL_ECHO, TRUE)           && turn on RX echo
  63. =set_rx_xlat(0, TEXTCASE, UPPERCASE)        && convert RX to uppercase
  64.  
  65. ACTIVATE MENU main_menu
  66.  
  67.  
  68.  
  69. FUNCTION ct_online
  70.     PARAMETERS portid
  71.  
  72.     ACTIVATE WINDOW w_term
  73.     =c_term(portid)                 && switch to dumb terminal mode
  74. RETURN (0)
  75.  
  76.  
  77.  
  78. *
  79. * C_TERM -- This is a dumb terminal loop in FoxPro.
  80. * Alternately poll the serial input buffer and the keyboard for data.
  81. *
  82. FUNCTION c_term
  83.     PARAMETERS portid
  84.     PRIVATE c
  85.  
  86.     ?
  87.     DO WHILE .T.
  88.         * CHECK SERIAL PORT FOR BYTE *
  89.         c = c_getc(portid)                      && check the serial port for a byte
  90.         * CHECK KEYBOARD FOR A KEY PRESS *
  91.         c = INKEY()                             && check keyboard for a key
  92.         DO CASE                                 && evaluate the received key
  93.             CASE c == ESC                       && ESC was pressed
  94.                 RETURN (0)
  95.             CASE c <> 0
  96.                 =c_putc(portid, c)
  97.         ENDCASE
  98.     ENDDO                                       && do while .t.
  99. RETURN (0)
  100.  
  101.  
  102.  
  103. FUNCTION ct_quit
  104.     PARAMETERS portid
  105.     =deinit_port(portid)                        && deinitialize the port
  106.     DEACTIVATE WINDOW w_term
  107.     DEACTIVATE WINDOW w_status
  108.     DEACTIVATE MENU main_menu
  109.     CLEAR ALL
  110.     @ SROWS()-1, 00 SAY "End of CommTools Terminal Version " + ALLTRIM(STR(version))
  111.     @ SROWS()-1, 00 SAY PADC("Thank You for Using CommTools", WCOLS())
  112.     EXIT
  113. RETURN (0)
  114.