home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 August / Chip_1999-08_cd.bin / sharewar / wscmclib / FINDER.FRM < prev    next >
Text File  |  1998-08-11  |  3KB  |  104 lines

  1. VERSION 2.00
  2. Begin Form FINDER 
  3.    AutoRedraw      =   -1  'True
  4.    BorderStyle     =   3  'Fixed Double
  5.    Caption         =   "FINDER"
  6.    ClientHeight    =   5595
  7.    ClientLeft      =   2550
  8.    ClientTop       =   2730
  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            =   2490
  18.    LinkTopic       =   "Form1"
  19.    ScaleHeight     =   5595
  20.    ScaleWidth      =   8565
  21.    Top             =   2100
  22.    Width           =   8685
  23.    Begin Menu menuExit 
  24.       Caption         =   "Exit"
  25.    End
  26.    Begin Menu menuFinderModem 
  27.       Caption         =   "Find_Modem"
  28.    End
  29. End
  30.  
  31. ' FINDER.BAS
  32.  
  33. Option Explicit
  34.  
  35. Sub Form_Load ()
  36.     Call DisplayInit(FINDER)
  37. End Sub
  38.  
  39. Sub menuExit_Click ()
  40.   End
  41. End Sub
  42.  
  43. Sub menuFinderModem_Click ()
  44. Dim Port As Integer
  45. Dim Code As Integer
  46. 'examine COM1 through COM4 for modem
  47. For Port = COM1 To COM4
  48.   'reset the port
  49.   Call DisplayString(FINDER, "COM" + LTrim$(Str$(1 + Port)) + " ")
  50.   Code = SioReset(Port, 512, 512)
  51.   If Code < 0 Then
  52.     Call SayError(FINDER, Code)
  53.   Else
  54.     'we have hardware
  55.     Code = SioBaud(Port, Baud9600)
  56.     'set DTR & RTS
  57.     Code = SioDTR(Port, Asc("S"))
  58.     Code = SioRTS(Port, Asc("S"))
  59.     'look for DSR
  60.     If SioDSR(Port) Then
  61.       Call DisplayString(FINDER, " (DSR=1) ")
  62.       'got DSR, so lets send "AT"
  63.       Code = mioSendTo(Port, 100&, "!AT!")
  64.       Call RunDriver(Port)
  65.       'wait 2 seconds for OK
  66.       Code = mioWaitFor(Port, 2000&, "OK")
  67.       Call RunDriver(Port)
  68.       'get result
  69.       If mioResult(Port) Then
  70.         'found modem
  71.         Call DisplayLine(FINDER, " Modem is detected !")
  72.         Code = SioDone(Port)
  73.         Exit Sub
  74.       Else
  75.         'no response
  76.         Call DisplayLine(FINDER, " No response.")
  77.       End If
  78.     Else
  79.       Call DisplayLine(FINDER, " (DSR=0) ")
  80.     End If
  81.     'shut down port
  82.     Code = SioDone(Port)
  83.   End If
  84. Next Port
  85. Call DisplayLine(FINDER, "")
  86. Call DisplayLine(FINDER, "Cannot locate modem on COM1 through COM4")
  87. End Sub
  88.  
  89. Sub RunDriver (ByVal Port As Integer)
  90. Dim Code As Integer
  91. While True
  92.   Code = mioDriver(Port)
  93.   If Code = MIO_IDLE Then
  94.     ' driver is done
  95.     Exit Sub
  96.   End If
  97.   If Code <> MIO_RUNNING Then
  98.     ' display character returned by driver
  99.     Call DisplayChar(FINDER, Code)
  100.   End If
  101. Wend
  102. End Sub
  103.  
  104.