武汉理工大学《计算机网络》课程设计说明书
个注册表变量则,默认为1000
Me.Width = GetSetting(App.Title, \ Me.Height = GetSetting(App.Title, \ Set m_FtpConnection = New CFtpConnection m_FtpConnection.Timeout = 180 End Sub
Private Sub Form_Unload(Cancel As Integer) Dim i As Integer
Set m_FtpConnection = Nothing 'close all sub forms For i = Forms.Count - 1 To 1 Step -1 '卸载所有窗体 Unload Forms(i) Next
SaveSetting App.Title, \End Sub
Private Sub m_FtpConnection_StateChanged(State As FTP_CONNECTION_STATES) Dim strStatus As String Select Case State
Case FTP_CONNECTION_RESOLVING_HOST strStatus = \
Case FTP_CONNECTION_HOST_RESOLVED strStatus = \
Case FTP_CONNECTION_CONNECTED strStatus = \
Case FTP_CONNECTION_AUTHENTICATION strStatus = \ Case FTP_USER_LOGGED
strStatus = \ Case FTP_ESTABLISHING_DATA_CONNECTION strStatus = \
5
武汉理工大学《计算机网络》课程设计说明书
Case FTP_DATA_CONNECTION_ESTABLISHED strStatus = \ Case FTP_RETRIEVING_DIRECTORY_INFO strStatus = \ Case FTP_DIRECTORY_INFO_COMPLETED strStatus = \ Case State = FTP_TRANSFER_STARTING strStatus = \ Case FTP_TRANSFER_COMLETED strStatus = \ ProgressBar1.Value = 0.01 m_lFileSize = 0 End Select
sbStatusBar.Panels(1).Text = strStatus End Sub
Private Sub imgSplitter_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
With imgSplitter 'imgSplitter为image(图片)控件 picSplitter.Move .Left, .Top, .Width \\ 2, .Height - 20 End With
picSplitter.Visible = True mbMoving = True
LockWindowUpdate Me.hwnd '指将句柄为Handle的窗体锁定,不能更新。 End Sub
Private Sub m_FtpConnection_UploadProgress(lBytes As Long) On Error Resume Next
sbStatusBar.Panels(1).Text = \ ProgressBar1.Value = lBytes / (m_lFileSize / 100) End Sub
6
武汉理工大学《计算机网络》课程设计说明书
Private Sub mnuConnect_Click() Call EstablishConnection End Sub
Private Sub mnuDelete_Click() Dim intRetVal As Integer Dim strFileName As String On Error GoTo ERROR_HANDLER
strFileName = tvTreeView.SelectedItem.Key & lvListView.SelectedItem.Text
intRetVal = MsgBox(\you really want to delete file \& strFileName & \vbYesNoCancel, \ If intRetVal = vbYes Then
If m_FtpConnection.DeleteFile(strFileName) Then
ListFiles tvTreeView.SelectedItem '返回最近选中的项目 Else
MsgBox \ \
m_FtpConnection.GetLastServerResponse, , _ \ End If End If Exit Sub ERROR_HANDLER: If Err = 91 Then
MsgBox \ Else
MsgBox \ vbInformation, \ End If End Sub
7
武汉理工大学《计算机网络》课程设计说明书
Private Sub mnuDownload_Click() Call DownloadFile End Sub
Private Sub mnuFile_Click() With m_FtpConnection
mnuDownload.Enabled = Not .Busy mnuUpload.Enabled = Not .Busy End With End Sub
Private Sub mnuHelp_Click()
mnuHelpAbout.Enabled = Not m_FtpConnection.Busy End Sub
Private Sub mnuListViewMode_Click(Index As Integer) Select Case Index '当鼠标点击工具栏的view菜单时
Case 0 lvListView.View = lvwIcon '显示大图标的情况 Case 1 lvListView.View = lvwSmallIcon '显示小图标的情况 Case 2 lvListView.View = lvwList '只显示列表
Case 3 lvListView.View = lvwReport '显示文件大小和日期 End Select
tbToolBar.Buttons(15 + Index).Value = tbrPressed End Sub
Private Sub tbToolBar_ButtonClick(ByVal Button As MSComctlLib.Button) 'ByRef是VB默认的参数传递方式,如果指定传递的是参数的值要使用关键字ByVal Dim strTemp As String On Error Resume Next Select Case Button.Key Case \
Call EstablishConnection Case \
8
武汉理工大学《计算机网络》课程设计说明书
Set tvTreeView.SelectedItem = tvTreeView.SelectedItem.Parent strTemp = tvTreeView.SelectedItem.FullPath
strTemp = Mid$(strTemp, InStr(1, strTemp, \返回某一字符串从另一字符串的右侧开始算起第一次出现的位置
If m_FtpConnection.SetCurrentDirectory(strTemp) Then ListFiles tvTreeView.SelectedItem End If Case \
If Not m_FtpConnection.CloseConnection Then If
m_FtpConnection.FtpGetLastError
=
ERROR_FTP_USER_TRANSFER_IN_PROGRESS Then Dim intRetVal As Integer
intRetVal = MsgBox(\the data transfer?\ If intRetVal = vbYes Then
m_FtpConnection.CancelTransfer End If End If End If Case \
Call RefreshDirectory Case \ mnuDownload_Click Case \ mnuUpload_Click Case \ mnuCreateDir_Click Case \ mnuDelete_Click
9