📄 frmmain.vb
字号:
Dim p As Integer = dtData.savePathfilename.LastIndexOf("\")
displayFilename = dtData.savePathfilename.Substring(p + 1, dtData.savePathfilename.Length - p - 1).Replace(".working", "")
Dim per As String
If dtData.Complete = "0" OrElse dtData.Length = "0" Then
per = "0%"
End If
If dtData.Length = "0" Then dtData.Length = ""
Dim downtask As New MyDownloadTask
downtask.MyTaskInfo = dtData
AddHandler downtask.ShowDownTaskInfo, AddressOf Me.downTaskEvent
Dim lvi As New ListViewItem(New String() {dtData.status.ToString, displayFilename, dtData.Length, dtData.Complete, downed.ToString, "", dtData.time.ToString, "", ""})
lvi.Tag = downtask
Me.ListView1.Items.Add(lvi)
End While
End Using
If Me.ListView1.Items.Count >= 1 Then
Me.ListView1.Focus()
Me.ListView1.Items(Me.selectItemRecoder(selectShow)).Selected = True
End If
End Sub
Function CalDownLenght(ByVal thdatastr As String) As Long
Dim ret As Long
Dim mmm As RegularExpressions.MatchCollection = RegularExpressions.Regex.Matches(thdatastr, "#\d+:\d+:\d+")
For Each mm As System.Text.RegularExpressions.Match In mmm
Dim mc As RegularExpressions.MatchCollection = RegularExpressions.Regex.Matches(mm.ToString, "(?<s>\d+):(?<n>\d+):(?<e>\d+)")
For Each m As System.Text.RegularExpressions.Match In mc
'Dim ts As New MyThreadStru
'ts.startPos = CLng(m.Groups("s").ToString)
'ts.nowPos = CLng(m.Groups("n").ToString)
'ts.endPos = CLng(m.Groups("e").ToString)
'Debug.WriteLine(ts.startPos.ToString & " " & ts.nowPos.ToString & " " & ts.endPos)
ret += CLng(m.Groups("n").ToString) - CLng(m.Groups("s").ToString) + 0 'index to pos
Next
Next
Return ret
End Function
Sub TaskStopProcessAll()
For i As Integer = 0 To ListView1.Items.Count - 1
Dim lvi As ListViewItem = CType(ListView1.Items(i), ListViewItem)
'If lvi.Selected = True Then
If lvi.SubItems(0).Text = "1" Then
'For j As Integer = 1 To Me.workingTaskColl.Count
' If CType(Me.workingTaskColl.Item(j), MyDownloadTask).Equals(CType(lvi.Tag, MyDownloadTask)) Then
' End If
'Next
CType(lvi.Tag, MyDownloadTask).StopTask(lvi, i)
End If
Next
End Sub
Sub TaskStopProcessOne()
For i As Integer = 0 To ListView1.Items.Count - 1
Dim lvi As ListViewItem = CType(ListView1.Items(i), ListViewItem)
If lvi.Selected = True Then
CType(lvi.Tag, MyDownloadTask).StopTask(lvi, i)
End If
Next
End Sub
Public Sub downTaskEvent(ByVal sender As MyDownloadTask, ByVal lvi As ListViewItem, ByVal info As String)
lvi.SubItems(0).Text = info
If info = "10" Then
Me.ListView1.Items.Remove(lvi)
End If
Exit Sub
'For Each lvi As ListViewItem In Me.ListView1.Items
' If lvi.Tag.Equals(sender) Then
' lvi.SubItems.Item(0).Text = "完成"
' End If
'Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.selectShow = 1
L1.Text = CType(sender, Button).Text
Me.LoadData(0, 1, 4, 7)
Me.canUpdateInfo = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.selectShow = 2
L1.Text = CType(sender, Button).Text
Me.canUpdateInfo = False
Me.LoadData(10)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.selectShow = 3
L1.Text = CType(sender, Button).Text
Me.canUpdateInfo = False
Me.LoadData(-1)
End Sub
Sub ShowInfo(ByVal dt As MyDownloadTask)
Dim nl As String = "</br>" 'Microsoft.VisualBasic.ControlChars.NewLine
Dim sb As New System.Text.StringBuilder
sb.Append("<form>")
sb.Append("下载链接:<a id=""url"" href=" & "" & dt.MyTaskInfo.downUrl & "" & ">" & dt.MyTaskInfo.downUrl & "</a>" & nl)
sb.Append("引用地址:<a id=""refurl"" href=" & "" & dt.MyTaskInfo.refUrl & "" & ">" & dt.MyTaskInfo.refUrl & "</a>" & nl)
' sb.Append(dt.MyTaskInfo.downThreadAmount.ToString & nl)
sb.Append("文件位置:<a id=""filepath"" href=" & "" & dt.MyTaskInfo.savePathfilename & "" & ">" & dt.MyTaskInfo.savePathfilename & "</a>" & nl)
sb.Append("注释:" & nl & "<input id=""note"" style=""height: 200px; width: 300px"" type=""text"" value="" " & dt.MyTaskInfo.notetxt & """" & "/>" & nl)
sb.Append("<input id=""save"" type=""button"" value=""保存"" " & "/>" & nl)
sb.Append("</form>")
Me.MyInfoShow1.DocumentText = sb.ToString
End Sub
Private Sub MyInfoShow1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles MyInfoShow1.DocumentCompleted
Dim doc As HtmlDocument
doc = Me.MyInfoShow1.Document
Dim elem1 As HtmlElement = doc.All("url")
Dim elem2 As HtmlElement = doc.All("refurl")
Dim elem3 As HtmlElement = doc.All("filepath")
Dim elem4 As HtmlElement = doc.All("note")
Dim elem5 As HtmlElement = doc.All("save")
If elem1 IsNot Nothing Then AddHandler elem1.Click, AddressOf fun1
If elem2 IsNot Nothing Then AddHandler elem2.Click, AddressOf fun1
If elem3 IsNot Nothing Then AddHandler elem3.Click, AddressOf fun1
If elem1 IsNot Nothing Then AddHandler elem1.Drag, AddressOf ddd1
If elem1 IsNot Nothing Then AddHandler elem1.DragEnd, AddressOf ddd2
'If elem1 IsNot Nothing Then AddHandler elem1.DragLeave, AddressOf ddd
'If elem1 IsNot Nothing Then AddHandler elem1.DragOver, AddressOf ddd
If elem5 IsNot Nothing Then
'elem5.AttachEventHandler("onclick", New EventHandler(AddressOf Me.fun3))
AddHandler elem5.Click, AddressOf fun3
End If
Me.ListView1.Focus()
End Sub
Sub ddd1(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
Dim he As HtmlElement = CType(sender, HtmlElement)
Dim doc As HtmlDocument = Me.MyInfoShow1.Document
Debug.WriteLine(he.InnerText & " drag")
End Sub
Sub ddd2(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
Dim he As HtmlElement = CType(sender, HtmlElement)
Debug.WriteLine("end " & he.InnerHtml)
End Sub
Sub fun1(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
Dim he As HtmlElement = CType(sender, HtmlElement)
Dim s As String = he.InnerText
Dim p As New System.Diagnostics.Process
If s.ToLower.StartsWith("http://") Then
' p = System.Diagnostics.Process.Start("IExplore.exe", s)
My.Computer.Clipboard.SetText(s)
MessageBox.Show("链接已复制到剪贴板", "信息", MessageBoxButtons.OK)
Else
Dim f As New IO.FileInfo(s)
p = System.Diagnostics.Process.Start("Explorer.exe", f.DirectoryName)
End If
e.ReturnValue = False
End Sub
Sub fun3(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
Dim doc As HtmlDocument
doc = Me.MyInfoShow1.Document
Dim elem4 As HtmlElement = doc.All("note")
Me.currentTask.MyTaskInfo.notetxt = elem4.GetAttribute("value").ToString
Using conn As New Data.OleDb.OleDbConnection(connStr)
Dim com As New Data.OleDb.OleDbCommand("", conn)
Dim comtext As String
com.Parameters.Add("@note", OleDb.OleDbType.VarChar).Value = Me.currentTask.MyTaskInfo.notetxt
comtext = "UPDATE 下载数据 SET NoteTxt=@note WHERE MD5='" & Me.currentTask.MyTaskInfo.md5 & "'"
com.CommandText = comtext
conn.Open()
com.ExecuteNonQuery()
com.Dispose()
End Using
MessageBox.Show("123", "456", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -