[VB2010]HyperURLGetter─專門讀取網路資源的類別

HyperURLGetter類別使用方法

在Windows Form應用程式專案內加入HyperURLGetter類別

使用HyperURLGetter類別之前,需先將它加入到專案內。以前我習慣另外新增一個模組(Module)來放自己寫的Public Class,但是這個HyperURLGetter實在是有點龐大,乾脆把它另外獨立成一個Class檔案吧!因此若要使用HyperURLGetter,請先加入類別

取好類別的檔案名稱後按下「新增」。

貼上文章第一頁提供的一大串HyperURLGetter類別程式碼。

基礎使用範例

建構HyperURLGetter實體

首先要在Form(以Form1為例)內宣告一個全域變數(以DownloadManager為例,可自行更改),並運用WithEvents建立帶有事件的HyperURLGetter類別實體。建構的方法有三種,分別如下:

Dim DownloadManager As New HyperURLGetter("讀取目標的URL")
Dim DownloadManager As New HyperURLGetter("讀取目標的URL" , "儲存檔案的檔名")
Dim DownloadManager As New HyperURLGetter("讀取目標的URL" , "儲存檔案的資料夾路徑" , "儲存檔案的檔名")

在此以下載小紅傘的安裝程式為例。

Dim WithEvents DownloadManager As New HyperURLGetter("http://dlce.antivir.com/package/wks_avira/win32/zhtw/pecl/avira_antivir_personal_zhtw.exe") '建立一個HyperURLGetter實體,用來下載檔案,並且包含事件。

佈置表單控制項元件

表單控制項元件可以任意佈置,沒有硬性規定哪些一定要有。在這裡我佈置Button(Button1)和ProgressBar(ProgressBar1)各一個。按下Button1會讓下載程序開始,ProgressBar1會顯示目前的下載進度。布置結果如下圖:

撰寫事件

接著要撰寫Button1的Click事件,和DownloadManager的ProgressLoading與ProgressCompleted事件。完成後的程式碼如下:

Public Class Form1
    Dim WithEvents DownloadManager As New HyperURLGetter("http://dlce.antivir.com/package/wks_avira/win32/zhtw/pecl/avira_antivir_personal_zhtw.exe") '建立一個HyperURLGetter實體,用來下載檔案,並且包含事件。
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click '按下按鈕
        DownloadManager.SaveFullPath = "D:測試檔案.exe" '設定檔案的下載路徑
        DownloadManager.RunWorkerAsync() '開始連線讀取
    End Sub
 
    Private Sub DownloadManager_Loading() Handles DownloadManager.ProgressLoading '讀取中
        ProgressBar1.Value = DownloadManager.GetProgressPercentage '取得下載進度百分比(0~100)
    End Sub
 
    Private Sub DownloadManager_Completed() Handles DownloadManager.ProgressCompleted '讀取完成
        Select Case DownloadManager.GetStatus '取得狀態傳回值
            Case 0
                MsgBox("下載失敗", MsgBoxStyle.Critical)
            Case 1
                ProgressBar1.Value = 100
                MsgBox("下載成功。使用時間:" & DownloadManager.FormatTime(DownloadManager.GetLoadedTime), MsgBoxStyle.Information)
        End Select
    End Sub
End Class

執行

程式碼撰寫完畢後,就可以執行了。首先按下「Button1」,觸發Click事件,讓HyperURLGetter實體開始進行網路資源的讀取程序。

進度列也會隨著下載進度而變化。

在HyperURLGetter讀取網路資源的過程中,可以在底下的「即時運算視窗」看到即時的網路連線狀況。

文章分類:VB.net|標籤:, , , , , ,

迴響已關閉