Mega Code Archive

 
Categories / VB.Net Tutorial / Socket Network
 

Ftp Client in VB net

Imports System.Net Imports System.IO Imports System.Net.Sockets Imports System.Text Imports System.Windows.Forms public class FtpClientVB    public Shared Sub Main         Application.Run(New Form1)    End Sub End class Public Class ftpCreate     Private ftpTcpClient As TcpClient     Public ResponseStream As NetworkStream     Public ReturnNameMessage As String     Public ReturnPwdMessage As String     Public Sub ftpLogin(ByVal strName As String, ByVal strPWD As String, ByVal strftpLogin As String)         Try             Dim strCommand As String             Dim strReturnMessage As String             Dim bteSendBytes() As Byte             Dim bteRetruenBytes() As Byte             Dim intReturnByteLength As Integer             Dim ftpTcpClient As TcpClient = New TcpClient(strftpLogin, 21)             ResponseStream = ftpTcpClient.GetStream             strCommand = "USER " + strName + vbCrLf             bteSendBytes = Encoding.ASCII.GetBytes(strCommand)             ResponseStream.Write(bteSendBytes, 0, bteSendBytes.Length)             intReturnByteLength = ftpTcpClient.ReceiveBufferSize             ReDim bteRetruenBytes(intReturnByteLength)             ResponseStream.Read(bteRetruenBytes, 0, intReturnByteLength)             strReturnMessage = Encoding.ASCII.GetString(bteRetruenBytes) + "/ "             ReturnNameMessage = strCommand + strReturnMessage             strCommand = "PASS " + strPWD + vbCrLf             Array.Clear(bteSendBytes, 0, bteSendBytes.Length)             bteSendBytes = Encoding.ASCII.GetBytes(strCommand)             ResponseStream.Write(bteSendBytes, 0, bteSendBytes.Length)             intReturnByteLength = ftpTcpClient.ReceiveBufferSize             ReDim bteRetruenBytes(intReturnByteLength)             ResponseStream.Read(bteRetruenBytes, 0, intReturnByteLength)             strReturnMessage = Encoding.ASCII.GetString(bteRetruenBytes) + "/ "             ReturnPwdMessage = strCommand + strReturnMessage + vbCrLf         Catch ex As SocketException             ReturnPwdMessage = ex.Message         End Try     End Sub End Class Public Class ftpClient     Dim ReturnNameMessage     Dim ReturnPwdMessage     Dim myftpCreate As ftpCreate     Public Sub LogInFTP(ByVal strName As String, ByVal strPWD As String, ByVal strftpLogin As String)         myftpCreate = New ftpCreate()         myftpCreate.ftpLogin(strName, strPWD, strftpLogin)         ReturnNameMessage = myftpCreate.ReturnNameMessage         ReturnPwdMessage = myftpCreate.ReturnPwdMessage     End Sub     Public ReadOnly Property GetReturnNameMessage() As String         Get             Return ReturnNameMessage         End Get     End Property     Public ReadOnly Property GetReturnPwdMessage() As String         Get             Return ReturnPwdMessage         End Get     End Property     Public Sub FTPUpLoad(ByVal strFilePath As String, ByVal strFtpPath As String, ByRef pstrReturnMessage As String)         Dim UPFile As New FileStream(strFilePath, FileMode.Open)         Dim bytUPFile() As Byte         Dim lngFileLength As Long         Dim ftpStream As NetworkStream = myftpCreate.ResponseStream         Dim returnMessage As String         Dim UpLoadStream As NetworkStream         Try             lngFileLength = UPFile.Length             ReDim bytUPFile(lngFileLength)             UPFile.Read(bytUPFile, 0, lngFileLength)             FTPCommands(ftpStream, "PASV", returnMessage)             UpLoadStream = GetConnectTcpClient(returnMessage)             FTPCommands(ftpStream, "TYPE I", returnMessage)             FTPCommands(ftpStream, "STOR " + strFtpPath, returnMessage)             pstrReturnMessage += returnMessage.TrimEnd             UpLoadStream.Write(bytUPFile, 0, lngFileLength)             UpLoadStream.Close()             UPFile.Close()         Catch ex As Exception             pstrReturnMessage = ex.Message         End Try     End Sub     Public Sub FTPDownLoad(ByVal strFilePath As String, ByVal strFtpPath As String, ByRef pstrReturnMessage As String)         Dim UPFile As New FileStream(strFtpPath, FileMode.Create)         Dim bytUPFile() As Byte         Dim lngFileLength As Long         Dim ftpStream As NetworkStream = myftpCreate.ResponseStream         Dim returnMessage As String         FTPCommands(ftpStream, "PASV", returnMessage)         Dim DownloadStream As NetworkStream         DownloadStream = GetConnectTcpClient(returnMessage)         FTPCommands(ftpStream, "TYPE I", returnMessage)         FTPCommands(ftpStream, "RETR " + strFilePath, returnMessage)         pstrReturnMessage += returnMessage         ReDim bytUPFile(1024)         Do             lngFileLength = DownloadStream.Read(bytUPFile, 0, 1024)             UPFile.Write(bytUPFile, 0, lngFileLength)         Loop While lngFileLength > 0         UPFile.Close()         DownloadStream.Close()     End Sub     Private Function FTPCommands(ByVal ftpStream As NetworkStream, ByVal strCommand As String, ByRef strMessage As String) As Integer         Dim bteCommand() As Byte         bteCommand = Encoding.ASCII.GetBytes(strCommand + vbCrLf)         ftpStream.Write(bteCommand, 0, bteCommand.Length)         Dim b(360000) As Byte         ftpStream.Read(b, 0, 360000)         strMessage = Encoding.ASCII.GetString(b)     End Function     Private Function GetConnectTcpClient(ByVal respMessage As String) As NetworkStream         Dim i As Integer         Dim strIP As String         Dim strIPs() As String         Dim strAddress As String         Dim intPort As Integer         Try             strIP = respMessage.Substring(respMessage.IndexOf("(")).Replace("(", "")             strIPs = strIP.Split(",")             strIP = ""             For i = 0 To 3                 strIP += strIPs(i) + "."             Next             strAddress = strIP.Substring(0, strIP.Length - 1)             intPort = Integer.Parse(strIPs(4)) * 256 + _                       Integer.Parse(strIPs(5).Substring(0, strIPs(5).IndexOf(")")))             Dim dataClient As New TcpClient()             Dim cIPEP As New IPEndPoint(IPAddress.Parse(strAddress), intPort)             dataClient.Connect(cIPEP)             Return dataClient.GetStream         Catch ex As Exception             MessageBox.Show(ex.Message)         End Try     End Function     Public Function CreateDir(ByVal strDirPath As String) As String         Dim ftpStream As NetworkStream = myftpCreate.ResponseStream         Dim returnMessage As String         FTPCommands(ftpStream, "MKD " + strDirPath, returnMessage)         returnMessage = "Creating Dir" + vbCrLf + returnMessage         Return returnMessage         ftpStream.Close()     End Function     Public Function DeleteDir(ByVal strDirPath As String) As String         Dim ftpStream As NetworkStream = myftpCreate.ResponseStream         Dim returnMessage As String         FTPCommands(ftpStream, "RMD " + strDirPath, returnMessage)         returnMessage = "Delete Dir" + vbCrLf + returnMessage         Return returnMessage         ftpStream.Close()     End Function     Public Function PrintDir() As String         Dim ftpStream As NetworkStream = myftpCreate.ResponseStream         Dim returnMessage As String         FTPCommands(ftpStream, "PWD ", returnMessage)         returnMessage = returnMessage         Return returnMessage         ftpStream.Close()     End Function     Public Function ChangeDir(ByVal strDirPath As String) As String         Dim ftpStream As NetworkStream = myftpCreate.ResponseStream         Dim returnMessage As String         FTPCommands(ftpStream, "CWD " + strDirPath, returnMessage)         returnMessage = returnMessage         Return returnMessage         ftpStream.Close()     End Function     Public Function DeleteFile(ByVal strFile As String) As String         Dim ftpStream As NetworkStream = myftpCreate.ResponseStream         Dim returnMessage As String         FTPCommands(ftpStream, "DELE " + strFile, returnMessage)         returnMessage = returnMessage         Return returnMessage         ftpStream.Close()     End Function     Public Function QuitFTP(ByVal strFile As String) As String         Dim ftpStream As NetworkStream = myftpCreate.ResponseStream         Dim returnMessage As String         FTPCommands(ftpStream, "QUIT", returnMessage)         returnMessage = returnMessage         Return returnMessage         ftpStream.Close()     End Function End Class Public Class Form1     Inherits System.Windows.Forms.Form     Public Sub New()         MyBase.New()         InitializeComponent()     End Sub     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)         If disposing Then             If Not (components Is Nothing) Then                 components.Dispose()             End If         End If         MyBase.Dispose(disposing)     End Sub     Private components As System.ComponentModel.IContainer     Friend WithEvents TabControl1 As System.Windows.Forms.TabControl     Friend WithEvents loginPage As System.Windows.Forms.TabPage     Friend WithEvents Label3 As System.Windows.Forms.Label     Friend WithEvents Label2 As System.Windows.Forms.Label     Friend WithEvents txtPassword As System.Windows.Forms.TextBox     Friend WithEvents txtName As System.Windows.Forms.TextBox     Friend WithEvents Label1 As System.Windows.Forms.Label     Friend WithEvents ftpLoign As System.Windows.Forms.TextBox     Friend WithEvents btnLogin As System.Windows.Forms.Button     Friend WithEvents DownloadPage As System.Windows.Forms.TabPage     Friend WithEvents Label4 As System.Windows.Forms.Label     Friend WithEvents txtMessage As System.Windows.Forms.TextBox     Friend WithEvents btnFTPUpLoad As System.Windows.Forms.Button     Friend WithEvents UploadPage As System.Windows.Forms.TabPage     Friend WithEvents txtFilePath As System.Windows.Forms.TextBox     Friend WithEvents btnFTPDownLoad As System.Windows.Forms.Button     Friend WithEvents txtFTPDownLoadPath As System.Windows.Forms.TextBox     Friend WithEvents Label5 As System.Windows.Forms.Label     Friend WithEvents Label7 As System.Windows.Forms.Label     Friend WithEvents doFilePath As System.Windows.Forms.TextBox     Friend WithEvents txtDestFile As System.Windows.Forms.TextBox     Friend WithEvents Label8 As System.Windows.Forms.Label     Friend WithEvents Label9 As System.Windows.Forms.Label     Friend WithEvents btnDelete As System.Windows.Forms.Button     Friend WithEvents Dir As System.Windows.Forms.TabPage     Friend WithEvents Label6 As System.Windows.Forms.Label     Friend WithEvents Button1 As System.Windows.Forms.Button     Friend WithEvents Button2 As System.Windows.Forms.Button     Friend WithEvents Button3 As System.Windows.Forms.Button     Friend WithEvents txtDir As System.Windows.Forms.TextBox     Friend WithEvents btnChange As System.Windows.Forms.Button     Friend WithEvents btnQuit As System.Windows.Forms.Button     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()         Me.TabControl1 = New System.Windows.Forms.TabControl()         Me.loginPage = New System.Windows.Forms.TabPage()         Me.btnQuit = New System.Windows.Forms.Button()         Me.Label3 = New System.Windows.Forms.Label()         Me.Label2 = New System.Windows.Forms.Label()         Me.txtPassword = New System.Windows.Forms.TextBox()         Me.txtName = New System.Windows.Forms.TextBox()         Me.Label1 = New System.Windows.Forms.Label()         Me.ftpLoign = New System.Windows.Forms.TextBox()         Me.btnLogin = New System.Windows.Forms.Button()         Me.UploadPage = New System.Windows.Forms.TabPage()         Me.Label9 = New System.Windows.Forms.Label()         Me.Label5 = New System.Windows.Forms.Label()         Me.txtDestFile = New System.Windows.Forms.TextBox()         Me.txtFilePath = New System.Windows.Forms.TextBox()         Me.btnFTPUpLoad = New System.Windows.Forms.Button()         Me.DownloadPage = New System.Windows.Forms.TabPage()         Me.btnDelete = New System.Windows.Forms.Button()         Me.Label8 = New System.Windows.Forms.Label()         Me.doFilePath = New System.Windows.Forms.TextBox()         Me.Label7 = New System.Windows.Forms.Label()         Me.txtFTPDownLoadPath = New System.Windows.Forms.TextBox()         Me.btnFTPDownLoad = New System.Windows.Forms.Button()         Me.Dir = New System.Windows.Forms.TabPage()         Me.btnChange = New System.Windows.Forms.Button()         Me.Button3 = New System.Windows.Forms.Button()         Me.Button2 = New System.Windows.Forms.Button()         Me.Label6 = New System.Windows.Forms.Label()         Me.txtDir = New System.Windows.Forms.TextBox()         Me.Button1 = New System.Windows.Forms.Button()         Me.Label4 = New System.Windows.Forms.Label()         Me.txtMessage = New System.Windows.Forms.TextBox()         Me.TabControl1.SuspendLayout()         Me.loginPage.SuspendLayout()         Me.UploadPage.SuspendLayout()         Me.DownloadPage.SuspendLayout()         Me.Dir.SuspendLayout()         Me.SuspendLayout()         '         'TabControl1         '         Me.TabControl1.Controls.AddRange(New System.Windows.Forms.Control() {Me.loginPage, Me.DownloadPage, Me.UploadPage, Me.Dir})         Me.TabControl1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))         Me.TabControl1.Location = New System.Drawing.Point(31, 6)         Me.TabControl1.Name = "TabControl1"         Me.TabControl1.SelectedIndex = 0         Me.TabControl1.Size = New System.Drawing.Size(655, 122)         Me.TabControl1.TabIndex = 12         '         'loginPage         '         Me.loginPage.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnQuit, Me.Label3, Me.Label2, Me.txtPassword, Me.txtName, Me.Label1, Me.ftpLoign, Me.btnLogin})         Me.loginPage.Location = New System.Drawing.Point(4, 25)         Me.loginPage.Name = "loginPage"         Me.loginPage.Size = New System.Drawing.Size(647, 93)         Me.loginPage.TabIndex = 0         Me.loginPage.Text = "Login"         '         'btnQuit         '         Me.btnQuit.Location = New System.Drawing.Point(461, 8)         Me.btnQuit.Name = "btnQuit"         Me.btnQuit.Size = New System.Drawing.Size(112, 24)         Me.btnQuit.TabIndex = 14         Me.btnQuit.Tag = "3"         Me.btnQuit.Text = "Quit"         '         'Label3         '         Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))         Me.Label3.Location = New System.Drawing.Point(20, 40)         Me.Label3.Name = "Label3"         Me.Label3.Size = New System.Drawing.Size(93, 16)         Me.Label3.TabIndex = 13         Me.Label3.Text = "Password"         '         'Label2         '         Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))         Me.Label2.Location = New System.Drawing.Point(20, 16)         Me.Label2.Name = "Label2"         Me.Label2.Size = New System.Drawing.Size(93, 16)         Me.Label2.TabIndex = 12         Me.Label2.Text = "Account"         '         'txtPassword         '         Me.txtPassword.Location = New System.Drawing.Point(123, 32)         Me.txtPassword.Name = "txtPassword"         Me.txtPassword.PasswordChar = Microsoft.VisualBasic.ChrW(42)         Me.txtPassword.Size = New System.Drawing.Size(205, 22)         Me.txtPassword.TabIndex = 11         Me.txtPassword.Tag = "1"         Me.txtPassword.Text = "1"         '         'txtName         '         Me.txtName.Location = New System.Drawing.Point(123, 8)         Me.txtName.Name = "txtName"         Me.txtName.Size = New System.Drawing.Size(205, 22)         Me.txtName.TabIndex = 10         Me.txtName.Tag = "0"         Me.txtName.Text = "Administrator"         '         'Label1         '         Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))         Me.Label1.Location = New System.Drawing.Point(10, 64)         Me.Label1.Name = "Label1"         Me.Label1.Size = New System.Drawing.Size(92, 16)         Me.Label1.TabIndex = 9         Me.Label1.Text = "FTP Server"         '         'ftpLoign         '         Me.ftpLoign.Location = New System.Drawing.Point(123, 64)         Me.ftpLoign.Name = "ftpLoign"         Me.ftpLoign.Size = New System.Drawing.Size(502, 22)         Me.ftpLoign.TabIndex = 8         Me.ftpLoign.Tag = "2"         Me.ftpLoign.Text = "192.168.1.100"         '         'btnLogin         '         Me.btnLogin.Location = New System.Drawing.Point(338, 8)         Me.btnLogin.Name = "btnLogin"         Me.btnLogin.Size = New System.Drawing.Size(113, 24)         Me.btnLogin.TabIndex = 7         Me.btnLogin.Tag = "3"         Me.btnLogin.Text = "Login FTP"         '         'UploadPage         '         Me.UploadPage.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label9, Me.Label5, Me.txtDestFile, Me.txtFilePath, Me.btnFTPUpLoad})         Me.UploadPage.Location = New System.Drawing.Point(4, 25)         Me.UploadPage.Name = "UploadPage"         Me.UploadPage.Size = New System.Drawing.Size(647, 93)         Me.UploadPage.TabIndex = 1         Me.UploadPage.Text = "Upload"         Me.UploadPage.Visible = False         '         'Label9         '         Me.Label9.Location = New System.Drawing.Point(13, 62)         Me.Label9.Name = "Label9"         Me.Label9.Size = New System.Drawing.Size(82, 16)         Me.Label9.TabIndex = 9         Me.Label9.Text = "FTP File"         '         'Label5         '         Me.Label5.Location = New System.Drawing.Point(10, 29)         Me.Label5.Name = "Label5"         Me.Label5.Size = New System.Drawing.Size(82, 16)         Me.Label5.TabIndex = 4         Me.Label5.Text = "Upload"         '         'txtDestFile         '         Me.txtDestFile.Location = New System.Drawing.Point(102, 56)         Me.txtDestFile.Name = "txtDestFile"         Me.txtDestFile.Size = New System.Drawing.Size(400, 22)         Me.txtDestFile.TabIndex = 3         Me.txtDestFile.Text = "yourfile.txt"         '         'txtFilePath         '         Me.txtFilePath.Location = New System.Drawing.Point(102, 24)         Me.txtFilePath.Name = "txtFilePath"         Me.txtFilePath.Size = New System.Drawing.Size(400, 22)         Me.txtFilePath.TabIndex = 1         Me.txtFilePath.Text = "c:\yourfile.txt"         '         'btnFTPUpLoad         '         Me.btnFTPUpLoad.Location = New System.Drawing.Point(513, 24)         Me.btnFTPUpLoad.Name = "btnFTPUpLoad"         Me.btnFTPUpLoad.Size = New System.Drawing.Size(113, 24)         Me.btnFTPUpLoad.TabIndex = 0         Me.btnFTPUpLoad.Text = "Upload"         '         'DownloadPage         '         Me.DownloadPage.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnDelete, Me.Label8, Me.doFilePath, Me.Label7, Me.txtFTPDownLoadPath, Me.btnFTPDownLoad})         Me.DownloadPage.Location = New System.Drawing.Point(4, 25)         Me.DownloadPage.Name = "DownloadPage"         Me.DownloadPage.Size = New System.Drawing.Size(647, 93)         Me.DownloadPage.TabIndex = 2         Me.DownloadPage.Text = "Download"         Me.DownloadPage.Visible = False         '         'btnDelete         '         Me.btnDelete.Location = New System.Drawing.Point(512, 56)         Me.btnDelete.Name = "btnDelete"         Me.btnDelete.Size = New System.Drawing.Size(113, 24)         Me.btnDelete.TabIndex = 9         Me.btnDelete.Text = "Delete file"         '         'Label8         '         Me.Label8.Location = New System.Drawing.Point(10, 30)         Me.Label8.Name = "Label8"         Me.Label8.Size = New System.Drawing.Size(82, 16)         Me.Label8.TabIndex = 8         Me.Label8.Text = "FTP File"         '         'doFilePath         '         Me.doFilePath.Location = New System.Drawing.Point(92, 56)         Me.doFilePath.Name = "doFilePath"         Me.doFilePath.Size = New System.Drawing.Size(410, 22)         Me.doFilePath.TabIndex = 7         Me.doFilePath.Text = "c:\yourfile.txt"         '         'Label7         '         Me.Label7.Location = New System.Drawing.Point(10, 61)         Me.Label7.Name = "Label7"         Me.Label7.Size = New System.Drawing.Size(82, 16)         Me.Label7.TabIndex = 6         Me.Label7.Text = "Target File"         '         'txtFTPDownLoadPath         '         Me.txtFTPDownLoadPath.Location = New System.Drawing.Point(92, 24)         Me.txtFTPDownLoadPath.Name = "txtFTPDownLoadPath"         Me.txtFTPDownLoadPath.Size = New System.Drawing.Size(410, 22)         Me.txtFTPDownLoadPath.TabIndex = 4         Me.txtFTPDownLoadPath.Text = "yourfile.txt"         '         'btnFTPDownLoad         '         Me.btnFTPDownLoad.Location = New System.Drawing.Point(513, 24)         Me.btnFTPDownLoad.Name = "btnFTPDownLoad"         Me.btnFTPDownLoad.Size = New System.Drawing.Size(113, 24)         Me.btnFTPDownLoad.TabIndex = 3         Me.btnFTPDownLoad.Text = "Download file"         '         'Dir         '         Me.Dir.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnChange, Me.Button3, Me.Button2, Me.Label6, Me.txtDir, Me.Button1})         Me.Dir.Location = New System.Drawing.Point(4, 25)         Me.Dir.Name = "Dir"         Me.Dir.Size = New System.Drawing.Size(647, 93)         Me.Dir.TabIndex = 3         Me.Dir.Text = "Dir"         '         'btnChange         '         Me.btnChange.Location = New System.Drawing.Point(522, 16)         Me.btnChange.Name = "btnChange"         Me.btnChange.Size = New System.Drawing.Size(113, 22)         Me.btnChange.TabIndex = 10         Me.btnChange.Text = "Change Dir"         '         'Button3         '         Me.Button3.Location = New System.Drawing.Point(399, 56)         Me.Button3.Name = "Button3"         Me.Button3.Size = New System.Drawing.Size(113, 22)         Me.Button3.TabIndex = 9         Me.Button3.Text = "Current Folder"         '         'Button2         '         Me.Button2.Location = New System.Drawing.Point(276, 56)         Me.Button2.Name = "Button2"         Me.Button2.Size = New System.Drawing.Size(113, 22)         Me.Button2.TabIndex = 8         Me.Button2.Text = "Delete"         '         'Label6         '         Me.Label6.Location = New System.Drawing.Point(20, 20)         Me.Label6.Name = "Label6"         Me.Label6.Size = New System.Drawing.Size(82, 16)         Me.Label6.TabIndex = 7         Me.Label6.Text = "FTP Dir"         '         'txtDir         '         Me.txtDir.Location = New System.Drawing.Point(113, 16)         Me.txtDir.Name = "txtDir"         Me.txtDir.Size = New System.Drawing.Size(399, 22)         Me.txtDir.TabIndex = 6         Me.txtDir.Text = "C"         '         'Button1         '         Me.Button1.Location = New System.Drawing.Point(154, 56)         Me.Button1.Name = "Button1"         Me.Button1.Size = New System.Drawing.Size(112, 22)         Me.Button1.TabIndex = 5         Me.Button1.Text = "New"         '         'Label4         '         Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))         Me.Label4.Location = New System.Drawing.Point(31, 136)         Me.Label4.Name = "Label4"         Me.Label4.Size = New System.Drawing.Size(70, 16)         Me.Label4.TabIndex = 11         Me.Label4.Text = "Message"         Me.Label4.TextAlign = System.Drawing.ContentAlignment.MiddleRight         '         'txtMessage         '         Me.txtMessage.Location = New System.Drawing.Point(31, 160)         Me.txtMessage.MaxLength = 1048576         Me.txtMessage.Multiline = True         Me.txtMessage.Name = "txtMessage"         Me.txtMessage.ScrollBars = System.Windows.Forms.ScrollBars.Vertical         Me.txtMessage.Size = New System.Drawing.Size(650, 192)         Me.txtMessage.TabIndex = 10         Me.txtMessage.Text = ""         '         'Form1         '         Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)         Me.ClientSize = New System.Drawing.Size(716, 365)         Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.TabControl1, Me.Label4, Me.txtMessage})         Me.TabControl1.ResumeLayout(False)         Me.loginPage.ResumeLayout(False)         Me.UploadPage.ResumeLayout(False)         Me.DownloadPage.ResumeLayout(False)         Me.Dir.ResumeLayout(False)         Me.ResumeLayout(False)     End Sub     Dim myftp As New ftpClient()     Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click         Dim strReturnFields As String = ""         Dim strName As String         Dim strPWD As String         Dim strftpLogin As String         FieldsChek(strReturnFields)         If strReturnFields.Length > 0 Then             MessageBox.Show(strReturnFields + " cannot be empty")             Return         End If         '' «Ø         strName = txtName.Text         strPWD = txtPassword.Text         strftpLogin = ftpLoign.Text         myftp.LogInFTP(strName, strPWD, strftpLogin)         txtMessage.Text = myftp.GetReturnNameMessage         txtMessage.Text = txtMessage.Text + myftp.GetReturnPwdMessage     End Sub     Private Sub FieldsChek(ByRef strReturnFields As String)         If txtName.Text.Length = 0 Then txtName.Focus()         If txtPassword.Text.Length = 0 Then txtPassword.Focus()         If ftpLoign.Text.Length = 0 Then ftpLoign.Focus()     End Sub     Private Sub btnFTPUpLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFTPUpLoad.Click         Dim strUPFilePath As String         Dim strFtpAddress As String         Dim strMessage As String         strUPFilePath = txtFilePath.Text         strFtpAddress = txtDestFile.Text         myftp.FTPUpLoad(strUPFilePath, strFtpAddress, strMessage)         txtMessage.Text += vbCrLf + strMessage     End Sub     Private Sub btnFTPDownLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFTPDownLoad.Click         Dim strFTPDownLoadPath As String         Dim strFtpAddress As String         Dim strMessage As String         strFTPDownLoadPath = txtFTPDownLoadPath.Text         strFtpAddress = doFilePath.Text         myftp.FTPDownLoad(strFTPDownLoadPath, strFtpAddress, strMessage)         txtMessage.Text += vbCrLf + strMessage     End Sub     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         Dim strDir As String = txtDir.Text         Dim strReturnMessage As String         strReturnMessage = myftp.CreateDir(strDir)         txtMessage.Text += vbCrLf + strReturnMessage     End Sub     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click         Dim strDir As String = txtDir.Text         Dim strReturnMessage As String         strReturnMessage = myftp.DeleteDir(strDir)         txtMessage.Text += vbCrLf + strReturnMessage     End Sub     Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click         Dim strDir As String = txtDir.Text         Dim strReturnMessage As String         strReturnMessage = myftp.PrintDir()         txtMessage.Text += vbCrLf + strReturnMessage     End Sub     Private Sub btnChange_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnChange.Click         Dim strDir As String = txtDir.Text         Dim strReturnMessage As String         strReturnMessage = myftp.ChangeDir(strDir)         txtMessage.Text += vbCrLf + strReturnMessage     End Sub     Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click         Dim strFile As String = txtFTPDownLoadPath.Text         Dim strReturnMessage As String         strReturnMessage = myftp.DeleteFile(strFile)         txtMessage.Text += vbCrLf + strReturnMessage     End Sub     Private Sub btnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuit.Click         Dim strReturnMessage As String         strReturnMessage = myftp.QuitFTP(strReturnMessage)         txtMessage.Text += vbCrLf + strReturnMessage     End Sub End Class