亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 207.htm

?? VB的一些網(wǎng)絡(luò)編程的例子,個(gè)人認(rèn)為還不錯(cuò)。大家一起來研究一下.
?? HTM
字號:
<p>用VB編寫異步多線程下載程序</p>
<p></p>
<p>為了高效率地下載某站點(diǎn)的網(wǎng)頁,我們可利用VB的Internet Transfer 控件編寫自己的下載程序, Internet Transfer 控件支持超文本傳輸協(xié)議 (HTTP) 和文件傳輸協(xié)議 (FTP),使用 Internet Transfer 控件可以通過 OpenURL 或 Execute 方法連接到任何使用這兩個(gè)協(xié)議的站點(diǎn)并檢索文件。本程序使用多個(gè)Internet Transfer 控件,使其同時(shí)下載某站點(diǎn)。并可判斷文件是否已下載過或下載過的文件是否比服務(wù)器上當(dāng)前的文件陳舊,以決定是否重新下載。所有下載的文件中的鏈接都做了調(diào)整,以便于本地查閱。 </p>
<p>OpenURL 方法以同步方式傳輸數(shù)據(jù)。同步指的是傳輸操作未完成之前,不能執(zhí)行其它過程。這樣數(shù)據(jù)傳輸就必須在執(zhí)行其它代碼之前完成。 </p>
<p>而 Execute 方法以異步方式傳輸數(shù)據(jù)。在調(diào)用 Execute 方法時(shí),傳輸操作與其它過程無關(guān)。這樣,在調(diào)用 Execute 方法后,在后臺接收數(shù)據(jù)的同時(shí)可執(zhí)行其它代碼。 </p>
<p>用 OpenURL 方法能夠直接得到可保存到磁盤的數(shù)據(jù)流,或者直接在 TextBox 控件中閱覽(如果數(shù)據(jù)是文本格式的)。而用 Execute 方法獲取數(shù)據(jù),則必須用 StateChanged 事件監(jiān)視該控件的連接狀態(tài)。當(dāng)達(dá)到適當(dāng)?shù)臓顟B(tài)時(shí),調(diào)用 GetChunk 方法從控件的緩沖區(qū)獲取數(shù)據(jù)。 </p>
<p>   </p>
<p>首先,建立啟始的http檢索連接, </p>
<p>Public g As Variant </p>
<p>Public k As Variant </p>
<p>Public spath As String </p>
<p>Dim links() As String </p>
<p>g = 0 </p>
<p>spath = 本地保存下載文件的路徑 </p>
<p>links(0)=啟始URL </p>
<p>inet1.execute links(0), "GET" 注釋:使用GET方法。 </p>
<p>   </p>
<p>事件監(jiān)控子程序(每個(gè)Internet Transfer 控件設(shè)置相對應(yīng)的事件監(jiān)控子程序): </p>
<p>用StateChanged 事件監(jiān)視該控件的連接狀態(tài), 當(dāng)該請求已經(jīng)完成,并且所有數(shù)據(jù)均已接收到時(shí),調(diào)用 GetChunk 方法從控件的緩沖區(qū)獲取數(shù)據(jù)。 </p>
<p>Private Sub Inet1_StateChanged(ByVal State As Integer) </p>
<p>注釋:State = 12 時(shí),使用 GetChunk 方法檢索服務(wù)器的響應(yīng)。 </p>
<p>Select Case State </p>
<p>注釋:...沒有列舉其它情況。 </p>
<p>   </p>
<p>Case icResponseCompleted 注釋:12 </p>
<p>注釋:獲取links(g)中的協(xié)議、主機(jī)和路徑名。 </p>
<p>addsuf = Left(links(g), InStrRev(links(g), "/")) </p>
<p>注釋:獲取links(g)中的文件名。 </p>
<p>fname = Right(links(g), Len(links(g)) - InStrRev(links(g), "/")) </p>
<p>注釋:判斷是否是超文本文件,是超文本文件則分析其中的鏈接,若不是則存為二進(jìn)制文件。 </p>
<p>If InStr(1, fname, "htm", vbTextCompare) = True Then </p>
<p>注釋:初始化用于保存文件的FileSystemObject對象。 </p>
<p>Set fs = CreateObject("Scripting.FileSystemObject") </p>
<p>Dim vtData As Variant 注釋:數(shù)據(jù)變量。 </p>
<p>Dim strData As String: strData = "" </p>
<p>Dim bDone As Boolean: bDone = False </p>
<p>   </p>
<p>注釋:取得第一塊。 </p>
<p>vtData = inet1.GetChunk(1024, icString) </p>
<p>DoEvents </p>
<p>Do While Not bDone </p>
<p>strData = strData & vtData </p>
<p>DoEvents </p>
<p>注釋:取得下一塊。 </p>
<p>vtData = inet1.GetChunk(1024, icString) </p>
<p>If Len(vtData) = 0 Then </p>
<p>bDone = True </p>
<p>End If </p>
<p>Loop </p>
<p>   </p>
<p>注釋:獲取文檔中的鏈接并置于數(shù)組中。 </p>
<p>Dim i As Variant </p>
<p>Dim po1 As Variant </p>
<p>Dim po2 As Variant </p>
<p>Dim oril As String </p>
<p>Dim newl As String </p>
<p>Dim lmtime, ctime </p>
<p>po1 = InStr(1, strData, "href=", vbTextCompare) + 5 </p>
<p>po2 = 1 </p>
<p>Dim newstr As String: newstr = "" </p>
<p>Dim whostr As String: whostr = "" </p>
<p>i = 0 </p>
<p>Do While po1 > 0 </p>
<p>newstr = Mid(strData, po2, po1) </p>
<p>whostr = whostr + newstr </p>
<p>po2 = InStr(po1, strData, ">", vbTextCompare) </p>
<p>注釋:將原鏈接改為新鏈接 </p>
<p>oril = Mid(strData, po1 + 1, po2 - po1 - 1) </p>
<p>注釋:如果有引號,去掉引號 </p>
<p>ln = Replace(oril, """", "", vbTextCompare) </p>
<p>newl = Right(ln, Len(ln) - InStrRev(ln, "/")) </p>
<p>whostr = whostr & newl </p>
<p>If ln <> "" Then </p>
<p>注釋:判定文件是否下載過。 </p>
<p>If fileexists(spath & newl) = False Then </p>
<p>links(i) = addsuf & ln </p>
<p>i = i + 1 </p>
<p>Else </p>
<p>lmtime = inet1.getheader("Last-modified") </p>
<p>Set f = fs.getfile(spath & newl) </p>
<p>ctime = f.datecreated </p>
<p>注釋:判斷文件是否更新 </p>
<p>If DateDiff("s", lmtime, ctime) < 0 Then </p>
<p>i = i + 1 </p>
<p>End If </p>
<p>End If </p>
<p>End If </p>
<p>po1 = InStr(po2 + 1, strData, "href=", vbTextCompare) + 5 </p>
<p>Loop </p>
<p>newstr = Mid(strData, po2) </p>
<p>whostr = whostr + newstr </p>
<p>   </p>
<p>Set a = fs.createtextfile(spath & fname, True) </p>
<p>a.Write whostr </p>
<p>a.Close </p>
<p>k = i </p>
<p>Else </p>
<p>Dim vtData As Variant </p>
<p>Dim b() As Byte </p>
<p>Dim bDone As Boolean: bDone = False </p>
<p>vtData = Inet2.GetChunk(1024, icByteArray) </p>
<p>Do While Not bDone </p>
<p>b() = b() & vtData </p>
<p>vtData = Inet2.GetChunk(1024, icByteArray) </p>
<p>If Len(vtData) = 0 Then </p>
<p>bDone = True </p>
<p>End If </p>
<p>Loop </p>
<p>Open spath & fname For Binary Access Write As #1 </p>
<p>Put #1, , b() </p>
<p>Close #1 </p>
<p>End If </p>
<p>Call devjob 注釋:調(diào)用線程調(diào)度子程序 </p>
<p>End Select </p>
<p>   </p>
<p>End Sub </p>
<p>   </p>
<p>Private Sub Inet2_StateChanged(ByVal State As Integer) </p>
<p>... </p>
<p>end sub </p>
<p>   </p>
<p>... </p>
<p>   </p>
<p>線程調(diào)度子程序,g和是k公用變量,k為最后一個(gè)鏈接的數(shù)組索引加一,g初值為零,每次加一,直到處理完最后一個(gè)鏈接。 </p>
<p>Private Sub devjob() </p>
<p>   </p>
<p>If Not g + 1 < k Then GoTo reportline </p>
<p>If Inet1.StillExecuting = False Then </p>
<p>g = g + 1 </p>
<p>Inet1.Execute links(g), "GET" </p>
<p>End If </p>
<p>If Not g + 1 < k Then GoTo reportline </p>
<p>If Inet2.StillExecuting = False Then </p>
<p>g = g + 1 </p>
<p>Inet2.Execute links(g), "GET" </p>
<p>End If </p>
<p>   </p>
<p>... </p>
<p>   </p>
<p>reportline: </p>
<p>If Inet1.StillExecuting = False And Inet2.StillExecuting = False And ... Then </p>
<p>MsgBox ("下載結(jié)束。") </p>
<p>End If </p>
<p>End Sub </p>
<p> </p>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲在线中文字幕| 天堂av在线一区| 午夜视频在线观看一区| 久久99国产精品久久99| 成人国产亚洲欧美成人综合网| 日本电影亚洲天堂一区| 久久久国产精华| 亚洲成a人片综合在线| 处破女av一区二区| 日韩欧美一卡二卡| 亚洲最快最全在线视频| 国产成人精品影视| 日韩限制级电影在线观看| 中文字幕视频一区| 国产精品一二三四五| 欧美日本在线观看| 亚洲午夜日本在线观看| 99久久久精品| 国产色一区二区| 蜜桃视频在线观看一区二区| 在线视频亚洲一区| 亚洲人成小说网站色在线| 国产福利91精品一区二区三区| 欧美高清你懂得| 成人av中文字幕| 国产欧美精品在线观看| 精品在线视频一区| 欧美成人一区二区三区片免费 | 日韩一区国产二区欧美三区| 伊人婷婷欧美激情| av一区二区三区四区| 国产亚洲精品福利| 国产激情一区二区三区桃花岛亚洲| 日韩三级视频在线观看| 日韩电影在线一区| 欧美一区二区三区视频免费播放| 亚洲成人动漫av| 91久久精品国产91性色tv| 一区二区三区色| 欧美中文字幕一区二区三区| 亚洲激情图片小说视频| 91首页免费视频| 亚洲欧美日韩在线播放| 一本一道久久a久久精品综合蜜臀| 亚洲丝袜自拍清纯另类| 亚洲成人av在线电影| 欧美三级三级三级| 日韩中文字幕一区二区三区| 欧美一区三区二区| 久久91精品国产91久久小草| 2021久久国产精品不只是精品| 九九久久精品视频| 久久精品一区二区三区不卡| 国产成人午夜片在线观看高清观看| 自拍av一区二区三区| 另类小说欧美激情| 亚洲精品少妇30p| 色综合久久久久综合| 国产欧美一区二区三区鸳鸯浴 | 在线免费观看视频一区| 7777精品伊人久久久大香线蕉最新版| 免费观看在线色综合| 日韩精品一级二级| 国产精品伊人色| 亚洲国产精品二十页| 成人精品小蝌蚪| 一区二区在线观看免费| 91精品在线麻豆| 国产乱码精品一区二区三| 亚洲人成精品久久久久久| 亚洲成人在线网站| 精品福利在线导航| 色综合色综合色综合| 久久成人精品无人区| 国产精品麻豆欧美日韩ww| 欧美日韩一区二区在线观看| 国产一区二区91| 亚洲精品乱码久久久久久 | 久久亚洲欧美国产精品乐播 | 在线免费观看日本一区| 精品一区二区三区在线观看国产| 日本一区二区成人在线| 99免费精品在线| 国产日韩综合av| 韩国v欧美v亚洲v日本v| 欧美一区二区在线看| 蜜臀av性久久久久蜜臀av麻豆 | 亚洲精品日产精品乱码不卡| 欧美日韩性生活| 91精品在线观看入口| 免费在线观看一区| 亚洲精品一区二区三区精华液| 日本强好片久久久久久aaa| 国产成人h网站| 欧美激情一区二区三区不卡 | 樱桃视频在线观看一区| 欧洲视频一区二区| 日本久久电影网| www.99精品| 日韩欧美一区电影| 精品国产一区二区在线观看| 欧美日韩激情在线| 日韩极品在线观看| 欧美电影免费观看完整版| 久久99精品网久久| 亚洲欧洲日本在线| 欧美精品18+| 国产suv一区二区三区88区| 日韩美女久久久| 日韩欧美在线不卡| 成人一级视频在线观看| 亚洲不卡一区二区三区| 日本一区二区动态图| 欧美日韩精品三区| 国产美女一区二区| 亚洲成人动漫在线免费观看| 国产视频911| 日韩免费视频一区| 在线观看一区不卡| 国产精品一区一区| 免费精品视频最新在线| 亚洲黄色录像片| 国产精品色呦呦| 久久蜜桃av一区精品变态类天堂| 欧美日韩亚洲国产综合| 日韩一区二区中文字幕| 欧美日韩色综合| 91麻豆免费看| 亚洲在线视频一区| 国产精品午夜久久| 亚洲精品在线电影| 午夜视频一区二区三区| 欧美日韩一区二区三区高清| 国产精品久久99| 91欧美激情一区二区三区成人| 99久久国产综合精品麻豆| 亚洲一区欧美一区| 日韩国产精品91| 久久99国内精品| 久久99国产精品成人| 9久草视频在线视频精品| 成人av电影免费在线播放| 9人人澡人人爽人人精品| 欧美日韩精品一区二区三区蜜桃 | www.欧美日韩国产在线| 久久精品免费观看| 成人在线综合网| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 亚洲欧美日韩一区二区| 国产美女视频91| 国产精品二区一区二区aⅴ污介绍| 国产精华液一区二区三区| 久久久亚洲精品石原莉奈| 色哟哟亚洲精品| 亚洲手机成人高清视频| 亚洲欧美日韩国产一区二区三区 | 午夜精品aaa| 日本高清成人免费播放| 日韩二区三区四区| 精品国产青草久久久久福利| 国产在线不卡一区| 亚洲最大成人网4388xx| 欧美猛男gaygay网站| 久久国产生活片100| 亚洲人成精品久久久久| 日韩免费高清电影| 一本大道久久a久久精品综合| 日本中文字幕一区二区视频| 国产区在线观看成人精品| 91老师片黄在线观看| 粉嫩av一区二区三区粉嫩| 亚洲第一成人在线| 久久综合成人精品亚洲另类欧美 | 成人高清视频在线| 首页亚洲欧美制服丝腿| 在线播放91灌醉迷j高跟美女| 欧美精品一区二区在线播放| 色综合久久99| av一本久道久久综合久久鬼色| 亚洲影视资源网| 最新国产精品久久精品| 91精品在线观看入口| 欧美日韩美少妇| 不卡的av网站| 国产91对白在线观看九色| 日韩国产在线一| 欧美另类变人与禽xxxxx| 亚洲欧洲性图库| 亚洲靠逼com| 国产视频一区二区在线| 玉米视频成人免费看| 日韩精品视频网站| 国产视频在线观看一区二区三区| 福利一区二区在线| 亚洲成人tv网| 日韩精品一卡二卡三卡四卡无卡| 日本亚洲欧美天堂免费| 97精品久久久午夜一区二区三区 | www.亚洲色图| 精品精品欲导航|