home *** CD-ROM | disk | FTP | other *** search
- Option Explicit
- Option Base 1
-
- Sub About_Click ()
- aboutForm.Show 1
- End Sub
-
- Sub BinderyObjList_DblCLick ()
- Dim Address As String
- Dim formatString As String
- Dim nwTime As String
- Dim YY, MM, DD, HR, MI, SC, DA As Integer
- Dim nwLoginTime As Variant
- Dim nwUser As USER_INFO
- Dim ccode, index As Integer
-
- nwUser = netWareUsers(BinderyObjList.ListIndex + 1)
- userName = Mid$(BinderyObjList.Text, 1, 20)
- userConn = nwUser.connNumber
- nwTime = nwUser.loginTime
- YY = Asc(Mid(nwTime, 1, 1)) + 1900
- MM = Asc(Mid(nwTime, 2, 1))
- DD = Asc(Mid(nwTime, 3, 1))
- HR = Asc(Mid(nwTime, 4, 1))
- MI = Asc(Mid(nwTime, 5, 1))
- SC = Asc(Mid(nwTime, 6, 1))
-
- 'pretty print the login time
- nwLoginTime = DateSerial(YY, MM, DD)
- formatString = Format$(nwLoginTime, "mm-dd-yyyy")
- userLoginTime = formatString
-
- 'pretty print the login date
- formatString = TimeSerial(HR, MI, SC)
- userLoginDay = formatString
-
- 'pretty print the internet address
- ccode = NWGetInternetAddress(nwConn, userConn, yourInetAddress)
- If ccode Then
- MsgBox "Error getting internet addresss"
- End If
-
- formatString = yourInetAddress.network & yourInetAddress.node
- FormatInternetAddress formatString
-
- userAddress = formatString
- userPicture.Visible = True
-
- Rem The following sets up the remote name, the network, node and socket (&h5454)
- spx1.RemoteName = yourInetAddress.network & yourInetAddress.node & Chr$(&H54) & Chr$(&H54)
- connectButton.SetFocus
-
- End Sub
-
- Sub BinderyObjList_KeyPress (KeyAscii As Integer)
- If KeyAscii = 13 Then
- BinderyObjList_DblCLick
- End If
- End Sub
-
- Sub cancelButton_Click ()
-
- spx1.Status = 0
- userPicture.Visible = False
- receiveList.Visible = False
- connectButton.Enabled = True
- disConnectButton.Enabled = False
-
- End Sub
-
- Sub connectButton_Click ()
-
- If Mid$(spx1.LocalName, 1, 10) = Mid$(spx1.RemoteName, 1, 10) Then
- MsgBox "Unable to directory to yourself"
- Exit Sub
- End If
-
- receiveList.Clear
- spx1.Send = "DIR"
-
- End Sub
-
- Sub disconnectButton_Click ()
-
- spx1.Status = 0
-
- userPicture.Visible = False
- receiveList.Visible = False
- connectButton.Enabled = True
- disConnectButton.Enabled = False
- cancelButton.Enabled = True
-
- End Sub
-
- Sub exitButton_Click ()
- End
- End Sub
-
- Sub Form_Load ()
- Dim title, server, fileServerName As String
- Dim ccode, connID As Integer
- Dim s As String
-
- ccode = NWCallsInit(ByVal 0&, ByVal 0&)
- If ccode Then
- MsgBox "Unable to initialize NWCALLS.DLL"
- End
- End If
-
- spx1.LinkType = 1 'REM This is the default anyway
-
- Screen.MousePointer = 11 'change mouse cursor to hourglass
-
- server = String$(48, 0)
- server = GetConnections()
-
- ScanUsers server 'scan the bindery of the default server
-
- ServerNameBox.Selected(0) = True
- BinderyObjList.Selected(0) = True
-
- End Sub
-
- Sub FormatInternetAddress (inString)
- Dim nwString, outString As String
- Dim index As Integer
-
- 'Pretty printing for the hexidecimal network and node addresses
- outString = "["
- nwString = Mid$(inString, 1, 4)
- For index = 1 To Len(nwString)
- outString = outString & Format$(Hex$(Asc(Mid$(nwString, index, 1))), "00")
- Next index
-
- outString = outString & "]["
- nwString = Mid$(inString, 5, 6)
- For index = 1 To Len(nwString)
- outString = outString & Format$(Hex$(Asc(Mid$(nwString, index, 1))), "00")
- Next index
-
- outString = outString & "]"
-
- inString = outString
- End Sub
-
- Function GetConnections () As String
- Dim connID As Integer
- Dim fileServerName As String
- Dim ccode, mode, connListSize As Integer
- Dim numConnections As Integer
- ReDim connListBuffer(50) As Integer
-
- ServerNameBox.Clear
-
- mode = 0
- connListSize = 50
- ccode = NWGetConnectionList(mode, connListBuffer(1), connListSize, numConnections)
-
-
- For connID = 1 To numConnections
- 'for each connection in workstation's file server name table
- 'get the table entry, then see if it's null
-
- fileServerName = String$(48, 0)
- NWGetFileServerName connID, fileServerName
- If Left$(fileServerName, 1) <> Chr$(0) Then
- 'you have to explicitly look for a null in the first character,
- 'because Visual Basic doesn't know about null-terminated strings
- '(a null prints as a space)
- If connID = 1 Then GetConnections = fileServerName
- ServerNameBox.AddItem fileServerName
- End If
- Next connID
-
- End Function
-
- Sub Rescan_Click ()
-
- ServerNameBox_DblClick 'same effect as if the user had
- 'double-clicked on a file server name
-
- End Sub
-
- Sub RescanButton_Click ()
- Dim server As String
-
- server = GetConnections()
- ServerNameBox_DblClick 'same effect as if the user had
- 'double-clicked on a file server name
- End Sub
-
- Sub ScanUsers (server)
-
- Dim objectType As String * 6
- Dim maxConns As Long
- Dim ccode As Integer
- Dim index As Integer
- Dim nIndex As Integer
- Dim nwUser As USER_INFO
- Dim objectName As String * 48
-
- Screen.MousePointer = 11 'change mouse cursor to hourglass
-
- BinderyObjList.Clear
-
- ccode = NWGetConnectionHandle(server, ByVal 0, nwConn, ByVal 0&)
- 'get the connection handle to our default server
- If (ccode) Then
- MsgBox "Unable to get connection"
- Exit Sub
- End
- End If
-
- ccode = NWGetConnectionNumber(nwConn, nwConnNumber)
- 'and get the connection number
- If (ccode) Then
- MsgBox "Unable to get connection number"
- Exit Sub
- End
- End If
-
- ccode = NWGetInternetAddress(nwConn, nwConnNumber, myInetAddress)
- Rem myInetAddress = spx1.LocalName
- ' get our internet address and put it in a global for use later
- If (ccode) Then
- MsgBox "Unable to get internet address"
- Exit Sub
- End
- End If
-
- ccode = NWGetFileServerInformation(nwConn, ByVal 0&, ByVal 0&, ByVal 0&, ByVal 0&, maxConns, ByVal 0&, ByVal 0&, ByVal 0&, ByVal 0&, ByVal 0&)
- ' get the maximum number of connections the file server has used
- If (ccode) Then
- Exit Sub
- End If
-
- ReDim netWareUsers(maxConns)
- nIndex = 1
- 'loop through all the possible connection numbers to get
- 'all the logged in users
-
- For index = 1 To maxConns
- ccode = NWGetConnectionInformation(nwConn, index, ByVal nwUser.objectName, nwUser.objectType, nwUser.objectID, ByVal nwUser.loginTime)
- If ccode = 0 And Left$(nwUser.objectName, 1) <> Chr$(0) Then
- BinderyObjList.AddItem nwUser.objectName
- nwUser.connNumber = index
- netWareUsers(nIndex) = nwUser
- nIndex = nIndex + 1
- End If
- DoEvents
- Next index
-
- EndConns:
- Screen.MousePointer = 0 'change mouse cursor back to how it was
-
- End Sub
-
- Sub ServerNameBox_DblClick ()
- Dim server, prefServer As String
- Dim index, ccode, connID As Integer
-
- prefServer = ServerNameBox.Text
-
- If Len(prefServer) = 0 Then
- Rem no server selected
- prefServer = ServerNameBox.List(0)
- End If
-
- server = GetConnections()
-
- ScanUsers prefServer 'then go scan its bindery
- index = SendMessage(ServerNameBox.hWnd, LB_FINDSTRING, ByVal -1, ByVal prefServer)
- If (index <> LB_ERR) Then
- ServerNameBox.Selected(index) = True
- Else
- ServerNameBox.Selected(0) = True
- End If
-
- BinderyObjList.Selected(0) = True
- End Sub
-
- Sub spx1_LinkEvent ()
-
- If spx1.Event Then
- MsgBox "Link Error: " & spx1.Event
- Exit Sub
- End If
-
- End Sub
-
- Sub spx1_ReceiveData ()
-
- receiveList.Visible = True
- disConnectButton.Enabled = True
- connectButton.Enabled = False
- receiveList.AddItem spx1.Received
-
- End Sub
-
- Sub spx1_SendData ()
-
- 'Fired when the packet has been sent
-
- End Sub
-
- Sub userPictureDrop_DblClick ()
- aboutForm.Show 1
- End Sub
-
-