home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1996 December / CD_shareware_12-96.iso / WIN / Programa / WSC4VB10.ZIP / RS232.FRM (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1996-08-25  |  12.8 KB  |  522 lines

  1. VERSION 2.00
  2. Begin Form RS232 
  3.    AutoRedraw      =   -1  'True
  4.    BorderStyle     =   3  'Fixed Double
  5.    Caption         =   "RS232"
  6.    ClientHeight    =   5595
  7.    ClientLeft      =   2520
  8.    ClientTop       =   3930
  9.    ClientWidth     =   8565
  10.    FontBold        =   0   'False
  11.    FontItalic      =   0   'False
  12.    FontName        =   "Courier New"
  13.    FontSize        =   8.25
  14.    FontStrikethru  =   0   'False
  15.    FontUnderline   =   0   'False
  16.    Height          =   6285
  17.    Left            =   2460
  18.    LinkTopic       =   "Form1"
  19.    ScaleHeight     =   5595
  20.    ScaleWidth      =   8565
  21.    Top             =   3300
  22.    Width           =   8685
  23.    Begin Timer Timer1 
  24.       Interval        =   125
  25.       Left            =   360
  26.       Top             =   240
  27.    End
  28.    Begin Menu menuLine 
  29.       Caption         =   "Line"
  30.       Begin Menu menuExit 
  31.          Caption         =   "Exit"
  32.       End
  33.       Begin Menu menuOnLine 
  34.          Caption         =   "OnLine"
  35.       End
  36.       Begin Menu menuOffLine 
  37.          Caption         =   "OffLine"
  38.          Enabled         =   0   'False
  39.       End
  40.    End
  41.    Begin Menu menuChange 
  42.       Caption         =   "Change"
  43.       Begin Menu menuPort 
  44.          Caption         =   "Port"
  45.          Begin Menu menuCOM1 
  46.             Caption         =   "COM1"
  47.             Checked         =   -1  'True
  48.          End
  49.          Begin Menu menuCOM2 
  50.             Caption         =   "COM2"
  51.          End
  52.          Begin Menu menuCOM3 
  53.             Caption         =   "COM3"
  54.          End
  55.          Begin Menu menuCOM4 
  56.             Caption         =   "COM4"
  57.          End
  58.       End
  59.       Begin Menu menuBaud 
  60.          Caption         =   "Baud"
  61.          Begin Menu menu110 
  62.             Caption         =   "110"
  63.          End
  64.          Begin Menu menu300 
  65.             Caption         =   "300"
  66.          End
  67.          Begin Menu menu1200 
  68.             Caption         =   "1200"
  69.          End
  70.          Begin Menu menu2400 
  71.             Caption         =   "2400"
  72.          End
  73.          Begin Menu menu4800 
  74.             Caption         =   "4800"
  75.          End
  76.          Begin Menu menu9600 
  77.             Caption         =   "9600"
  78.          End
  79.          Begin Menu menu19200 
  80.             Caption         =   "19200"
  81.             Checked         =   -1  'True
  82.          End
  83.          Begin Menu menu38400 
  84.             Caption         =   "38400"
  85.          End
  86.          Begin Menu menu57600 
  87.             Caption         =   "57600"
  88.          End
  89.       End
  90.       Begin Menu menuParity 
  91.          Caption         =   "Parity"
  92.          Begin Menu menuNone 
  93.             Caption         =   "None"
  94.             Checked         =   -1  'True
  95.          End
  96.          Begin Menu menuEven 
  97.             Caption         =   "Even"
  98.          End
  99.          Begin Menu menuOdd 
  100.             Caption         =   "Odd"
  101.          End
  102.       End
  103.       Begin Menu menuDataBits 
  104.          Caption         =   "DataBits"
  105.          Begin Menu menuSeven 
  106.             Caption         =   "Seven"
  107.          End
  108.          Begin Menu menuEight 
  109.             Caption         =   "Eight"
  110.             Checked         =   -1  'True
  111.          End
  112.       End
  113.       Begin Menu menuStopBits 
  114.          Caption         =   "StopBits"
  115.          Begin Menu menuOne 
  116.             Caption         =   "One"
  117.             Checked         =   -1  'True
  118.          End
  119.          Begin Menu menuTwo 
  120.             Caption         =   "Two"
  121.          End
  122.       End
  123.    End
  124.    Begin Menu menuStatus 
  125.       Caption         =   "Status"
  126.       Enabled         =   0   'False
  127.    End
  128.    Begin Menu menuControl 
  129.       Caption         =   "Control"
  130.       Enabled         =   0   'False
  131.       Begin Menu menuDTR 
  132.          Caption         =   "DTR"
  133.          Begin Menu menuSetDTR 
  134.             Caption         =   "Set"
  135.             Checked         =   -1  'True
  136.             Enabled         =   0   'False
  137.          End
  138.          Begin Menu menuClearDTR 
  139.             Caption         =   "Clear"
  140.          End
  141.       End
  142.       Begin Menu menuRTS 
  143.          Caption         =   "RTS"
  144.          Begin Menu menuSetRTS 
  145.             Caption         =   "Set"
  146.             Checked         =   -1  'True
  147.             Enabled         =   0   'False
  148.          End
  149.          Begin Menu menuClearRTS 
  150.             Caption         =   "Clear"
  151.          End
  152.       End
  153.    End
  154.    Begin Menu menuFlow 
  155.       Caption         =   "Flow_Control"
  156.       Enabled         =   0   'False
  157.       Begin Menu menuHardware 
  158.          Caption         =   "Hardware"
  159.       End
  160.       Begin Menu menuSoftware 
  161.          Caption         =   "Software"
  162.       End
  163.       Begin Menu menuNoFlow 
  164.          Caption         =   "NONE"
  165.          Checked         =   -1  'True
  166.       End
  167.    End
  168.    Begin Menu menuDebug 
  169.       Caption         =   "DEBUG"
  170.    End
  171. ' RS232.BAS
  172. Option Explicit
  173. Sub Form_KeyPress (KeyAscii As Integer)
  174.     Dim Code As Integer
  175.     '''RS232.Print "["; Hex$(KeyAscii); "]";
  176.     If KeyAscii <> 10 Then
  177.       Code = SioPutc(ThePort, KeyAscii)
  178.     End If
  179. End Sub
  180. Sub Form_Load ()
  181.     Dim Row As Integer
  182.     DataFlag = 0
  183.     ParityText(0) = "N"
  184.     ParityText(1) = "O"
  185.     ParityText(2) = "E"
  186.     ParityText(3) = "M"
  187.     ParityText(4) = "S"
  188.     BaudRateTable(0) = "110"
  189.     BaudRateTable(1) = "300"
  190.     BaudRateTable(2) = "1200"
  191.     BaudRateTable(3) = "2400"
  192.     BaudRateTable(4) = "4800"
  193.     BaudRateTable(5) = "9600"
  194.     BaudRateTable(6) = "19200"
  195.     BaudRateTable(7) = "38400"
  196.     BaudRateTable(8) = "57600"
  197.     FatalFlag = 0
  198.     ThePort = COM1
  199.     TheBaudCode = Baud19200
  200.     TheDataBits = WordLength8
  201.     TheStopBits = OneStopBit
  202.     TheParity = NoParity
  203.     CurrentCol = 0
  204.     CurrentRow = 0
  205.     OnLineFlag = 0
  206.     For Row = 0 To 23
  207.       ScreenBuffer(Row) = Space$(80)
  208.     Next Row
  209.     RS232.Cls
  210.     Call ShowConfig
  211. End Sub
  212. Sub menu110_Click ()
  213.   Call UncheckBaudRate
  214.   menu110.Checked = True
  215.   TheBaudCode = Baud110
  216.   Call SetBaud
  217.   Call ShowConfig
  218. End Sub
  219. Sub menu1200_Click ()
  220.   Call UncheckBaudRate
  221.   menu1200.Checked = True
  222.   TheBaudCode = Baud1200
  223.   Call SetBaud
  224.   Call ShowConfig
  225. End Sub
  226. Sub menu19200_Click ()
  227.   Call UncheckBaudRate
  228.   menu19200.Checked = True
  229.   TheBaudCode = Baud19200
  230.   Call SetBaud
  231.   Call ShowConfig
  232. End Sub
  233. Sub menu2400_Click ()
  234.   Call UncheckBaudRate
  235.   menu2400.Checked = True
  236.   TheBaudCode = Baud2400
  237.   Call SetBaud
  238.   Call ShowConfig
  239. End Sub
  240. Sub menu300_Click ()
  241.   Call UncheckBaudRate
  242.   menu300.Checked = True
  243.   TheBaudCode = Baud300
  244.   Call SetBaud
  245.   Call ShowConfig
  246. End Sub
  247. Sub menu38400_Click ()
  248.   Call UncheckBaudRate
  249.   menu38400.Checked = True
  250.   TheBaudCode = Baud38400
  251.   Call SetBaud
  252.   Call ShowConfig
  253. End Sub
  254. Sub menu4800_Click ()
  255.   Call UncheckBaudRate
  256.   menu4800.Checked = True
  257.   TheBaudCode = Baud4800
  258.   Call SetBaud
  259.   Call ShowConfig
  260. End Sub
  261. Sub menu57600_Click ()
  262.   Call UncheckBaudRate
  263.   menu57600.Checked = True
  264.   TheBaudCode = Baud57600
  265.   Call SetBaud
  266.   Call ShowConfig
  267. End Sub
  268. Sub menu9600_Click ()
  269.   Call UncheckBaudRate
  270.   menu9600.Checked = True
  271.   TheBaudCode = Baud9600
  272.   Call SetBaud
  273.   Call ShowConfig
  274. End Sub
  275. Sub menuClearDTR_Click ()
  276.   Dim Code As Integer
  277.   'clear DTR
  278.   Code = SioDTR(ThePort, Asc("C"))
  279.   menuSetDTR.Checked = False
  280.   menuClearDTR.Checked = True
  281.   menuSetDTR.Enabled = True
  282.   menuClearDTR.Enabled = False
  283. End Sub
  284. Sub menuClearRTS_Click ()
  285.   Dim Code As Integer
  286.   'clear RTS
  287.   Code = SioRTS(ThePort, Asc("C"))
  288.   menuSetRTS.Checked = False
  289.   menuClearRTS.Checked = True
  290.   menuSetRTS.Enabled = True
  291.   menuClearRTS.Enabled = False
  292. End Sub
  293. Sub menuCOM1_Click ()
  294.   Call UncheckComPorts
  295.   menuCOM1.Checked = True
  296.   ThePort = COM1
  297.   Call ShowConfig
  298. End Sub
  299. Sub menuCOM2_Click ()
  300.   Call UncheckComPorts
  301.   menuCOM2.Checked = True
  302.   ThePort = COM2
  303.   Call ShowConfig
  304. End Sub
  305. Sub menuCOM3_Click ()
  306.   Call UncheckComPorts
  307.   menuCOM3.Checked = True
  308.   ThePort = COM3
  309.   Call ShowConfig
  310. End Sub
  311. Sub menuCOM4_Click ()
  312.   Call UncheckComPorts
  313.   menuCOM4.Checked = True
  314.   ThePort = COM4
  315.   Call ShowConfig
  316. End Sub
  317. Sub menuData_Click ()
  318. DataFlag = 1 - DataFlag
  319. End Sub
  320. Sub menuDebug_Click ()
  321. Dim I, Code As Integer
  322. Dim S As String
  323. 'send alphabet 10 times
  324. S = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + Chr$(13) + Chr$(10)
  325. For I = 1 To 10
  326.   Code = SioPuts(ThePort, S, 28)
  327. Next I
  328. End Sub
  329. Sub menuEight_Click ()
  330.   Call UncheckDataBits
  331.   menuEight.Checked = True
  332.   TheDataBits = WordLength8
  333.   Call ShowConfig
  334. End Sub
  335. Sub menuEven_Click ()
  336.   Call UncheckParity
  337.   menuEven.Checked = True
  338.   TheParity = EvenParity
  339.   Call ShowConfig
  340. End Sub
  341. Sub menuExit_Click ()
  342.   Call GoOffLine
  343.   End
  344. End Sub
  345. Sub menuHardware_Click ()
  346. Dim Code As Integer
  347. Code = SioFlow(ThePort, Asc("H"))
  348. Call DisplayString("[Hardware flow control enabled]")
  349. menuHardware.Checked = True
  350. menuSoftware.Checked = False
  351. menuNoflow.Checked = False
  352. End Sub
  353. Sub menuNoFlow_Click ()
  354. Dim Code As Integer
  355. Code = SioFlow(ThePort, Asc("N"))
  356. Call DisplayString("[Flow control disabled]")
  357. menuHardware.Checked = False
  358. menuSoftware.Checked = False
  359. menuNoflow.Checked = True
  360. End Sub
  361. Sub menuNone_Click ()
  362.   Call UncheckParity
  363.   menuNone.Checked = True
  364.   TheParity = NoParity
  365.   Call ShowConfig
  366. End Sub
  367. Sub menuOdd_Click ()
  368.   Call UncheckDataBits
  369.   menuOdd.Checked = True
  370.   TheParity = OddParity
  371.   Call ShowConfig
  372. End Sub
  373. Sub menuOffLine_Click ()
  374.   '''menuChange.Enabled = True
  375.   menuOffline.Enabled = False
  376.   menuOnline.Enabled = True
  377.   Call GoOffLine
  378.   Call ShowConfig
  379. End Sub
  380. Sub menuOne_Click ()
  381.   Call UncheckStopBits
  382.   menuOne.Checked = True
  383.   TheStopBits = OneStopBit
  384.   Call ShowConfig
  385. End Sub
  386. Sub menuOnLine_Click ()
  387.   CurrentRow = 0
  388.   CurrentCol = 0
  389.   RS232.Cls
  390.   menuOffline.Enabled = True
  391.   menuOnline.Enabled = False
  392.   '''menuChange.Enabled = False
  393.   Call GoOnLine
  394.   Call ShowConfig
  395. End Sub
  396. Sub menuSet_Click ()
  397. End Sub
  398. Sub menuSetDTR_Click ()
  399.   Dim Code As Integer
  400.   If OnLineFlag = 0 Then
  401.     Call DisplayString("[Not online!]")
  402.     Exit Sub
  403.   End If
  404.   'set DTR
  405.   Code = SioDTR(ThePort, Asc("S"))
  406.   menuSetDTR.Checked = True
  407.   menuClearDTR.Checked = False
  408.   menuSetDTR.Enabled = False
  409.   menuClearDTR.Enabled = True
  410. End Sub
  411. Sub menuSetRTS_Click ()
  412.   Dim Code As Integer
  413.   'set DTR
  414.   Code = SioRTS(ThePort, Asc("S"))
  415.   menuSetRTS.Checked = True
  416.   menuClearRTS.Checked = False
  417.   menuSetRTS.Enabled = False
  418.   menuClearRTS.Enabled = True
  419. End Sub
  420. Sub menuSeven_Click ()
  421.   Call UncheckDataBits
  422.   menuSeven.Checked = True
  423.   TheDataBits = WordLength7
  424.   Call ShowConfig
  425. End Sub
  426. Sub menuSoftware_Click ()
  427. Dim Code As Integer
  428. Code = SioFlow(ThePort, Asc("S"))
  429. Call DisplayString("[Software flow control enabled]")
  430. menuHardware.Checked = False
  431. menuSoftware.Checked = True
  432. menuNoflow.Checked = False
  433. End Sub
  434. Sub menuStatus_Click ()
  435. Dim S As String
  436. Dim N As Integer
  437. N = SioStatus(ThePort, &HFFFF)
  438. 'framing error ?
  439. If (WSC_FRAME And N) > 0 Then
  440.   Call DisplayString("[Framing error]")
  441. End If
  442. 'overrun error ?
  443. If (WSC_OVERRUN And N) > 0 Then
  444.   Call DisplayString("[Data overrun error]")
  445. End If
  446. 'parity error ?
  447. If (WSC_PARITY And N) > 0 Then
  448.   Call DisplayString("[Data parity error]")
  449. End If
  450. 'RX overflow
  451. If (WSC_RXOVER And N) > 0 Then
  452.   Call DisplayString("[Receive queue overflow]")
  453. End If
  454. 'TX overflow
  455. If (WSC_TXFULL And N) > 0 Then
  456.   Call DisplayString("[Transmit queue overflow]")
  457. End If
  458. 'Show TX & RX queue sizes
  459. S = "[RX queue size =" + Str$(SioRxQue(ThePort))
  460. S = S + ", TX queue size =" + Str$(SioTxQue(ThePort)) + "]"
  461. Call DisplayString(S)
  462. 'BREAK signal status
  463. If SioBrkSig(ThePort, Asc("D")) > 0 Then
  464.   Call DisplayString("[BREAK detected]")
  465. End If
  466. 'DSR status
  467. If SioDSR(ThePort) > 0 Then
  468.   Call DisplayString("[DSR state changed]")
  469. End If
  470. 'CTS status
  471. If SioCTS(ThePort) > 0 Then
  472.   Call DisplayString("[CTS state changed]")
  473. End If
  474. End Sub
  475. Sub menuTwo_Click ()
  476.   Call UncheckStopBits
  477.   menuTwo.Checked = True
  478.   TheStopBits = TwoStopBits
  479.   Call ShowConfig
  480. End Sub
  481. Sub Timer1_Timer ()
  482.   If OnLineFlag Then
  483.     'get incoming serial data
  484.     Call GetIncoming
  485.   End If
  486. End Sub
  487. Sub UncheckBaudRate ()
  488. 'uncheck all baud rates
  489. menu110.Checked = False
  490. menu300.Checked = False
  491. menu1200.Checked = False
  492. menu2400.Checked = False
  493. menu4800.Checked = False
  494. menu9600.Checked = False
  495. menu19200.Checked = False
  496. menu38400.Checked = False
  497. menu57600.Checked = False
  498. End Sub
  499. Sub UncheckComPorts ()
  500. 'uncheck all COM ports
  501. menuCOM1.Checked = False
  502. menuCOM2.Checked = False
  503. menuCOM3.Checked = False
  504. menuCOM4.Checked = False
  505. End Sub
  506. Sub UncheckDataBits ()
  507. 'uncheck data bits
  508. menuSeven.Checked = False
  509. menuEight.Checked = False
  510. End Sub
  511. Sub UncheckParity ()
  512. 'uncheck parity
  513. menuOdd.Checked = False
  514. menuEven.Checked = False
  515. menuTwo.Checked = False
  516. End Sub
  517. Sub UncheckStopBits ()
  518. 'uncheck stop bits
  519. menuOne.Checked = False
  520. menuNone.Checked = False
  521. End Sub
  522.