home *** CD-ROM | disk | FTP | other *** search
/ Eagles Nest BBS 6 / Eagles_Nest_Mac_Collection_Disc_6.TOAST / Windows / VisBasAPIex / VBAPIGUIDE.image / COMMDEMO.FRM < prev    next >
Text File  |  1992-10-11  |  4KB  |  138 lines

  1. VERSION 2.00
  2. Begin Form CommDemo 
  3.    Caption         =   "Communications Demo - Mini Terminal"
  4.    Height          =   5595
  5.    Left            =   915
  6.    LinkMode        =   1  'Source
  7.    LinkTopic       =   "Form1"
  8.    ScaleHeight     =   4905
  9.    ScaleWidth      =   8400
  10.    Top             =   1155
  11.    Width           =   8520
  12.    Begin TextBox TermText 
  13.       FontBold        =   0   'False
  14.       FontItalic      =   0   'False
  15.       FontName        =   "Fixedsys"
  16.       FontSize        =   9
  17.       FontStrikethru  =   0   'False
  18.       FontUnderline   =   0   'False
  19.       Height          =   4095
  20.       Left            =   120
  21.       MultiLine       =   -1  'True
  22.       ScrollBars      =   3  'Both
  23.       TabIndex        =   0
  24.       Top             =   600
  25.       Width           =   8175
  26.    End
  27.    Begin ccCallback Callback1 
  28.       Left            =   7800
  29.       Top             =   120
  30.    End
  31.    Begin Menu MenuConfigure 
  32.       Caption         =   "Configure"
  33.    End
  34.    Begin Menu MenuDial 
  35.       Caption         =   "Dial"
  36.    End
  37. End
  38. Sub Callback1_CommEvent (DeviceID As Integer, NotifyStatus As Integer)
  39.     Dim t$
  40.     Dim textlen%
  41.     Dim cstat As COMSTAT
  42.     Dim crloc%
  43.     Dim use$
  44.     Dim cpos%
  45.     
  46.  
  47.     If NotifyStatus And CN_EVENT Then
  48.         di% = GetCommError(DeviceID, cstat)
  49.         If di% <> 0 And Dialing% Then
  50.             ' Check for connect fallback
  51.             If InStr(TermText.Text, "CONNECT 1200") <> 0 Then
  52.                 PortConfig.BaudRate = 1200
  53.                 di% = SetCommState(PortConfig)
  54.             End If
  55.             Dialing% = 0
  56.         Else
  57.             MsgBox "Communication Error Occured - " + Hex$(di%)
  58.         End If
  59.         ' Clear the error event mask
  60.         dl& = GetCommEventMask(CommID%, EV_ERR)
  61.     End If
  62.     
  63.     t$ = GetChars$()
  64.     use$ = ""
  65.     If t$ <> "" Then
  66.         ' Substitute the CR with a CRLF pair, dump the LF
  67.         
  68.         For cpos% = 1 To Len(t$)
  69.             Select Case Asc(Mid$(t$, cpos%))
  70.                 Case 13
  71.                     use$ = use$ + Chr$(13) + Chr$(10)
  72.                 Case 10
  73.                     ' Dump the line feeds
  74.                 Case Else
  75.                     use$ = use$ + Mid$(t$, cpos%, 1)
  76.             End Select
  77.         Next cpos%
  78.         TermText.SelStart = Len(TermText.Text)
  79.         TermText.SelLength = 0
  80.         TermText.SelText = use$
  81.         
  82.         If Len(TermText.Text) > 4096 Then
  83.             TermText.Text = Right$(TermText.Text, 2048)
  84.         End If
  85.         TermText.SelStart = Len(TermText.Text)
  86.  
  87.         
  88.     End If
  89.     
  90.  
  91. End Sub
  92.  
  93. '
  94. ' We open the port and get things started here
  95. '
  96. Sub Form_Load ()
  97.     ' We load the configuration form so that the default
  98.     ' settings can be read by OpenThePort
  99.     Load CommCfg
  100.     TermText.Move 0, 0, ScaleWidth, ScaleHeight
  101.     CommID% = -1
  102.     CommNum% = -1
  103.     OpenThePort
  104. End Sub
  105.  
  106. Sub Form_Resize ()
  107.     TermText.Move 0, 0, ScaleWidth, ScaleHeight
  108.  
  109. End Sub
  110.  
  111. '
  112. ' This routine performs necessary cleanup
  113. '
  114. Sub Form_Unload (Cancel As Integer)
  115.     If CommID% <> -1 Then
  116.         di% = EnableCommNotification(CommID%, 0, 0, 0)
  117.         di% = CloseComm%(CommID%)
  118.     End If
  119. End Sub
  120.  
  121. Sub MenuConfigure_Click ()
  122.     CommCfg.Show 1
  123. End Sub
  124.  
  125. Sub MenuDial_Click ()
  126.     Dim dnum$
  127.     TermText.Text = ""
  128.     dnum$ = InputBox$("Enter number to dial", "Dialer")
  129.     SendChars "ATTD" + dnum$ + Chr$(13)
  130.     Dialing% = -1
  131. End Sub
  132.  
  133. Sub TermText_KeyPress (KeyAscii As Integer)
  134.     SendChars Chr$(KeyAscii)
  135.     KeyAscii = 0
  136. End Sub
  137.  
  138.