⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmyaddnewdownload.vb

📁 编程环境VB.NET2005 多线程下载
💻 VB
字号:
Public Class frmMyAddNewDownLoad

    Private Sub TextBoxUrl_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBoxUrl.DoubleClick
        Dim txt As TextBox = CType(sender, TextBox)
        txt.Select(0, txt.TextLength)
    End Sub
    Private Sub TextBoxUrl_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBoxUrl.TextChanged
        'http://ftp.science.nus.edu.sg/linux/ubuntu-ISO/feisty/ubuntu-7.04-server-amd64.iso
        'http://filestreamtest/1.txt

        Dim s As String = TextBoxUrl.Text
        If s.StartsWith("http://") = False Then
            TextBoxUrl.BackColor = Color.AliceBlue
            Exit Sub
        Else
            TextBoxUrl.BackColor = Color.FromKnownColor(KnownColor.Window)
        End If
        Dim p As Integer = s.LastIndexOf("/")
        If p = -1 Then Exit Sub
        s = s.Substring(p + 1, s.Length - p - 1)
        's = System.Text.RegularExpressions.Regex.Match(s, "^\w[\w|\.]*").ToString
        TextBoxFileName.Text = s
        'http://www.51dd.com/Download.asp?ID=42296&sID=2&UUName=222.183.235.190005&TFlag=1173630217&OPIN=678F08E94BDBBC577B0D303643792BB2
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim fbd As FolderBrowserDialog = New FolderBrowserDialog
        If fbd.ShowDialog = Windows.Forms.DialogResult.OK Then
            TextBoxSavePath.Text = fbd.SelectedPath
        End If
    End Sub
    Private Sub btn_AddOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_AddOK.Click
        If TextBoxSavePath.Text.Length = 0 OrElse TextBoxFileName.Text.Length = 0 Then Exit Sub
        Dim s1 As String = TextBoxSavePath.Text & "\" & TextBoxFileName.Text
        Dim s2 As String = TextBoxSavePath.Text & "\" & TextBoxFileName.Text & ".working"
        Dim savePathfilename As String
        If IO.File.Exists(s1) Or IO.File.Exists(s2) Then
            savePathfilename = TextBoxSavePath.Text & "\" & "(同)" & TextBoxFileName.Text & ".working"
        Else
            savePathfilename = s2
        End If
        'MsgBox(TextBoxUrl.Text)
        Me.CreateNewTask(savePathfilename, TextBoxUrl.Text, TextBoxRef.Text, TextBoxNote.Text, CInt(NumericUpDown1.Value))
        Me.Close()
    End Sub
    Sub CreateNewTask(ByVal fname As String, ByVal url As String, ByVal refurl As String, ByVal note As String, ByVal tcount As Integer)
        Dim dtData As New MyDownTaskClass
        dtData.md5 = getMd5Hash(fname)
        dtData.status = 0
        dtData.savePathfilename = fname
        dtData.downUrl = url
        dtData.refUrl = refurl
        dtData.Length = ""
        dtData.Complete = ""
        dtData.downThreadAmount = tcount
        dtData.thData = Nothing
        dtData.notetxt = note
        dtData.time = 0
        Using conn As New Data.OleDb.OleDbConnection(connStr)
            Dim com As New Data.OleDb.OleDbCommand("", conn)
            Dim comtext As String
            com.Parameters.Add("@md5", OleDb.OleDbType.VarChar).Value = dtData.md5
            com.Parameters.Add("@status", OleDb.OleDbType.VarChar).Value = dtData.status
            com.Parameters.Add("@filename", OleDb.OleDbType.VarChar).Value = dtData.savePathfilename
            com.Parameters.Add("@url", OleDb.OleDbType.VarChar).Value = dtData.downUrl
            com.Parameters.Add("@refurl", OleDb.OleDbType.VarChar).Value = dtData.refUrl
            com.Parameters.Add("@length", OleDb.OleDbType.Char).Value = dtData.Length
            com.Parameters.Add("@Complete", OleDb.OleDbType.Char).Value = dtData.Complete
            com.Parameters.Add("@threadcount", OleDb.OleDbType.VarChar).Value = dtData.downThreadAmount
            com.Parameters.Add("@note", OleDb.OleDbType.VarChar).Value = dtData.notetxt
            com.Parameters.Add("@t", OleDb.OleDbType.Integer).Value = dtData.time
            conn.Open()
            comtext = "SELECT MD5 FROM 下载数据 WHERE MD5=@md5"
            com.CommandText = comtext
            If com.ExecuteScalar Is Nothing = False Then
                MsgBox("file exis")
                Exit Sub
            End If
            comtext = "INSERT INTO 下载数据 " & _
            "(MD5,Status, Filename,Url,RefUrl,Length,Complete,ThreadCount,NoteTxt,UsedTime) " & _
            "VALUES (@md5,@status,@filename,@Url, @refurl,@length,@Complete,@threadcount,@note,@t)"
            com.CommandText = comtext
            com.ExecuteNonQuery()
            com.Dispose()
        End Using

        Dim downtask As New MyDownloadTask
        downtask.MyTaskInfo = dtData
        AddHandler downtask.ShowDownTaskInfo, AddressOf App.MainForm.downTaskEvent
        'add to list   ‘状态 文件名 大小 进度 已完成 速度 已用时间 剩余时间
        Dim lvi As New ListViewItem(New String() {"0", TextBoxFileName.Text, "", "0%", "", "", "", ""})
        lvi.Tag = downtask
        ' FrmMain.ListView1.Items.Add(lvi)
        App.MainForm.LoadData(0, 1, 4)
        '        App.MainForm.ListView1.Items.Add(lvi)
    End Sub

    Private Sub frmMyAddNewDownLoad_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TextBoxUrl.Text = "http://filestreamtest/1.txt"

        '"http://ftp.science.nus.edu.sg/linux/ubuntu-ISO/feisty/ubuntu-7.04-server-amd64.iso"
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -