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

📄 publicset.vb

📁 基于Windows Mobile平台的网络蚂蚁下载工具
💻 VB
字号:
Module PublicSet

    '图标位置。
    Public Const ICO_STOP As Int32 = 0
    Public Const ICO_RUN As Int32 = 1
    Public Const ICO_ERROR As Int32 = 2
    Public Const ICO_OK As Int32 = 3
    Public Const ICO_WAITRUN As Int32 = 4

    '下载任务设置。
    Public Const FileName As Int32 = 0
    Public Const RemoteFileSize As Int32 = 1
    Public Const FileSizeOk As Int32 = 2
    Public Const URL As Int32 = 3
    Public Const Cookie As Int32 = 4
    Public Const Login As Int32 = 5
    Public Const UserName As Int32 = 6
    Public Const PassWord As Int32 = 7
    Public Const FTP_mode As Int32 = 8
    Public Const RenameD As Int32 = 9
    Public Const Domain As Int32 = 10
    Public Const State As Int32 = 11
    Public Const logs As Int32 = 12          '不保存
    Public Const ERR_times As Int32 = 13     '不保存
    Public Const CheckPage As Int32 = 14     '不保存
    ''''''''''''''''''''''''''''
    Public Const JOBS_C As Int32 = 14

    '状态。
    'Public Const ST_unknow = 0
    Public Const ST_ERROR As Int32 = 1
    Public Const ST_OK_END As Int32 = 2
    Public Const ST_STOP As Int32 = 3
    Public Const ST_RUNNING As Int32 = 4
    Public Const ST_WAITRUN As Int32 = 5

    '默认参数设置。
    Public SaveDir As String = "\temp"
    Public Rollback As Int32 = 100
    Public AutoStartOnRun As Int32 = 1
    Public Runs As Int32 = 1            '同时运行任务个数。
    Public AutoSave As Int32 = 600       '自动保存下载列表。
    Public TIME_OUT As Int32 = 10000     'http请求超时时间,(ms)。
    Public AutoRestart As Int32 = 1              '下载没有完成,自动重新开始
    'PUBLIC ERR_times as Int32 =20
    '[file1] 的数据项目个数,0开始。
    Public JOBS(,) As String    'jobs([fileX]的个数,任务个数)。
    Public DISP(,) As String    '当前显示的任务。(2维,显示的索引,JOBS的索引)
    Public Rs() As Down       '每个任务一个类  Rs(Runs) 
    Public fls As String = "down.ini"
    Public Form1active As Boolean = True
    Public Const WM_COPY As Integer = &H301
    Public Const WM_CUT As Integer = &H300
    Public Const WM_PASTE As Integer = &H302
    Public Const WM_UNDO As Integer = &H304

    Public Const ERR_OK As String = ""
    Public Const ERR_ERR As String = "Error"
    Public Const ERR_OHTER As String = "Unknow"

    Public Declare Function GetCapture Lib "coredll" () As IntPtr
    Public Declare Function SendMessage Lib "coredll" (ByVal hwnd As System.IntPtr, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32

    Const shi As String = ";"         '文件注释符号

    Public Function GetIniValue(ByVal FileName As String, ByVal AppName As String, ByRef KeyS(,) As String) As Long
        'Dim nn As Long
        Dim xx As String
        Dim y As Long
        Dim AP As String
        Dim i As Long
        Const lens As Int32 = 10
        AP = "[" & AppName.ToUpper & "]"
        Dim sr As IO.StreamReader
        Try
            sr = New IO.StreamReader(fls, System.Text.Encoding.Default)
        Catch ex As Exception
            MessageBox.Show("无法读取配置文件!", "MobileAnt Demo")
            Return -1
            Exit Function
        End Try

        ReDim KeyS(1, lens)
        Do Until sr.Peek = -1
            xx = READLINE(sr)
            If xx.ToUpper = AP Then
                i = 0
                Do Until sr.Peek = -1
                    xx = READLINE(sr)
                    If xx = "" And sr.Peek = -1 Then Exit Do
                    If Left(xx, 1) = "[" Then      '进入了下一个“[]”
                        If i = 0 Then              '只有标题,没有数据
                            Erase KeyS
                            GetIniValue = i
                        Else
                            ReDim Preserve KeyS(1, i - 1)
                            GetIniValue = i
                        End If
                        sr.Close()
                        Exit Function
                    End If
                    y = xx.IndexOf("=")
                    If y <= 0 Then
                        MessageBox.Show("配置文件错误,请检查如下行:" & vbCrLf & xx, "MobileAnt Demo")
                        GetIniValue = -1
                        Exit Function
                    End If
                    Try
                        KeyS(0, i) = Trim(xx.Substring(0, y))
                        KeyS(1, i) = Trim(xx.Substring(y + 1))
                    Catch ex As Exception
                        ReDim Preserve KeyS(1, UBound(KeyS, 2) + lens)
                        KeyS(0, i) = Trim(xx.Substring(0, y))
                        KeyS(1, i) = Trim(xx.Substring(y + 1))
                    End Try
                    i = i + 1
                Loop
            End If
        Loop
        sr.Close()
        If KeyS(0, 0) = "" Then
            Erase KeyS
            GetIniValue = 0
        Else
            ReDim Preserve KeyS(1, i - 1)
            GetIniValue = UBound(KeyS, 2) + 1
        End If
    End Function

    Function READLINE(ByRef SS As IO.StreamReader) As String
        Dim XX As String
        Dim Y As Int32
        Do
            Do
                XX = SS.ReadLine
            Loop Until XX <> "" Or SS.Peek = -1
            If XX = "" Then
                Return ""
                Exit Function
            End If
            XX = XX.Replace(Chr(9), "")
            Y = XX.IndexOf(shi)
            If Y >= 0 Then XX = XX.Substring(0, Y)
            XX = XX.Trim
        Loop Until XX <> ""
        Return XX
    End Function

    Public Function Sizes(ByVal dw As Long) As String
        Dim x As Int32
        x = 0
        Sizes = ""
        While dw > 10000
            dw = dw / 1024
            If dw > 500 Then dw = Math.Round(dw, 0)
            dw = Math.Round(dw, 1)
            x = x + 1
        End While
        Select Case x
            Case 0
                Sizes = CStr(dw)
            Case 1
                Sizes = CStr(dw) & "KB"
            Case 2
                Sizes = CStr(dw) & "MB"
            Case 3
                Sizes = CStr(dw) & "GB"
            Case 4
                Sizes = CStr(dw) & "TB"
            Case Else
        End Select
    End Function

    Public Function GetName(ByVal Sstr As String) As String
        Dim url As String = Sstr
        Dim p2 As Int32
        If url.ToUpper.Substring(url.Length - 1, 1) = "/" Then
            url = url.Substring(0, url.Length - 1)
        End If
        p2 = url.LastIndexOf("/")
        url = url.Substring(p2 + 1)
        p2 = url.IndexOf("?")
        If p2 = -1 Then p2 = url.IndexOf("#")
        If p2 >= 0 Then
            Return url.Substring(0, p2)
        Else
            Return url
        End If
    End Function
End Module

⌨️ 快捷键说明

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