home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 August / Chip_1999-08_cd.bin / sharewar / wscmclib / FOXPRO.PRG < prev    next >
Text File  |  1999-06-02  |  2KB  |  85 lines

  1. *
  2. * FOXPRO.PRG
  3. *
  4. * Visual FoxPro 3.0 Test Program
  5. *
  6.  
  7. #define COM1   0
  8. #define COM2   1
  9. #define COM3   2
  10. #define COM4   3
  11.  
  12. * WSC Functions (see WSC32.FOX for complete declaration file)
  13. DECLARE INTEGER SioBaud in WSC32.DLL INTEGER Port, INTEGER BaudCode
  14. DECLARE INTEGER SioDone in WSC32.DLL INTEGER Port
  15. DECLARE INTEGER SioDTR in WSC32.DLL INTEGER Port, INTEGER Cmd
  16. DECLARE INTEGER SioGetc in WSC32.DLL INTEGER Port
  17. DECLARE INTEGER SioPutc in WSC32.DLL INTEGER Port, INTEGER TheChar
  18. DECLARE INTEGER SioReset in WSC32.DLL INTEGER Port, INTEGER RxBufSize, INTEGER TxBufSize
  19. DECLARE INTEGER SioRTS in WSC32.DLL INTEGER Port, INTEGER Cmd
  20. DECLARE INTEGER SioWinError in WSC32.DLL STRING @Buffer, INTEGER  Size
  21.  
  22. Port = COM1
  23.  
  24. CR = CHR(13)
  25. LF = CHR(10)
  26. Buffer = SPACE(128)
  27.  
  28. ?? "Transmitting AT to modem connected to COM" + LTRIM(Str(1+Port)) + CR + LF
  29. ?? "Expecting OK back" + CR + LF
  30.  
  31. * reset port
  32. Code = SioReset(Port,512,256)
  33. if Code < 0
  34.   ? "Error: SioReset returns ", Code
  35.    Code = SioWinError(@Buffer, 128)
  36.   ? Buffer
  37.   Return
  38. endif
  39. Code = SioBaud(Port,19200)
  40. * set DTR and RTS
  41. Code = SioDTR(Port,Asc("S"))
  42. Code = SioRTS(Port,Asc("S"))
  43. * transmit "AT" to modem
  44. Code = SioPutc(Port,13)
  45. Code = Delay(0.25)
  46. Code = SioPutc(Port,13)
  47. Code = Delay(0.25)
  48. Code = SioPutc(Port,Asc("A"))
  49. Code = Delay(0.25)
  50. Code = SioPutc(Port,Asc("T"))
  51. Code = Delay(0.25)
  52. Code = SioPutc(Port,13)
  53. * wait 1 second for response
  54. MarkTime = Seconds() + 1.0
  55. Do while Seconds() < MarkTime
  56.   Code = SioGetc(Port)
  57.   if Code = 13
  58.     ?? CR
  59.   endif
  60.   if Code = 10
  61.     ?? LF
  62.   endif
  63.   if Code >= 32
  64.     ?? Chr(Code)
  65.   endif
  66. EndDo
  67. ?? CR + LF
  68. Code = SioDone(Port)
  69. return
  70.  
  71. * Delay Function ( waits <WaitSecs> )
  72.  
  73. Function Delay
  74. Parameter WaitSecs
  75. Private Counter
  76. Private MarkTime
  77. Counter = 0
  78. MarkTime = Seconds() + WaitSecs
  79. do while Seconds() < MarkTime
  80.   Counter = Counter + 1
  81. enddo
  82. return Counter
  83.  
  84.  
  85.