欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

易語(yǔ)言實(shí)現(xiàn)http下載斷點(diǎn)續(xù)傳功能的代碼

 更新時(shí)間:2018年11月30日 11:29:50   作者:易語(yǔ)言源碼教程  
今天小編就為大家分享一篇關(guān)于易語(yǔ)言實(shí)現(xiàn)http下載斷點(diǎn)續(xù)傳功能的代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

DLL命令表

.版本 2
.DLL命令 InternetGetConnectedState, , "Wininet.dll", "InternetGetConnectedState"
  .參數(shù) lpdwFlags, 整數(shù)型, 傳址
  .參數(shù) dwReserved, 整數(shù)型
.DLL命令 InternetOpenA, 整數(shù)型, "Wininet.dll", "InternetOpenA"
  .參數(shù) lpszAgent, 文本型
  .參數(shù) dwAccessType, 整數(shù)型
  .參數(shù) lpszProxyName, 整數(shù)型
  .參數(shù) lpszProxyBypass, 整數(shù)型
  .參數(shù) dwFlags, 整數(shù)型
.DLL命令 InternetOpenUrlA, 整數(shù)型, "Wininet.dll", "InternetOpenUrlA"
  .參數(shù) hInternet, 整數(shù)型
  .參數(shù) lpszUrl, 文本型
  .參數(shù) lpszHeaders, 文本型
  .參數(shù) dwHeadersLength, 整數(shù)型
  .參數(shù) dwFlags, 整數(shù)型
  .參數(shù) dwContext, 整數(shù)型
.DLL命令 HttpQueryInfoA, 整數(shù)型, "Wininet.dll", "HttpQueryInfoA"
  .參數(shù) hRequest, 整數(shù)型
  .參數(shù) dwInfoLevel, 整數(shù)型
  .參數(shù) lpvBuffer, 整數(shù)型, 傳址
  .參數(shù) lpdwBufferLength, 整數(shù)型, 傳址
  .參數(shù) lpdwIndex, 整數(shù)型, 傳址
.DLL命令 InternetCloseHandle, , "Wininet.dll", "InternetCloseHandle"
  .參數(shù) handle, 整數(shù)型
.DLL命令 InternetReadFile, 整數(shù)型, "Wininet.dll", "InternetReadFile"
  .參數(shù) hFile, 整數(shù)型
  .參數(shù) lpBuffer, 字節(jié)集
  .參數(shù) dwNumberOfBytesToRead, 整數(shù)型
  .參數(shù) lpdwNumberOfBytesRead, 整數(shù)型, 傳址
.DLL命令 CallWindowProcA, 整數(shù)型, , "CallWindowProcA"
  .參數(shù) 子程序指針, 子程序指針
  .參數(shù) 參數(shù)1, 整數(shù)型
  .參數(shù) 參數(shù)2, 整數(shù)型
  .參數(shù) 參數(shù)3, 整數(shù)型
  .參數(shù) 參數(shù)4, 整數(shù)型

HTTP

.版本 2
.支持庫(kù) spec
.支持庫(kù) iconv
.程序集 HTTP, , 公開(kāi)
.程序集變量 file_hwnd, 整數(shù)型
.程序集變量 dwBytes, 長(zhǎng)整數(shù)型
.程序集變量 url, 文本型
.程序集變量 dwByteToRead, 長(zhǎng)整數(shù)型
.程序集變量 是否_開(kāi)始下載, 邏輯型
.程序集變量 是否_停止, 邏輯型
.程序集變量 file_name, 文本型
.程序集變量 file_type, 文本型
.程序集變量 file_path, 文本型
.程序集變量 start_time, 長(zhǎng)整數(shù)型
.程序集變量 speed, 長(zhǎng)整數(shù)型
.子程序 _初始化, , , 當(dāng)基于本類(lèi)的對(duì)象被創(chuàng)建后,此方法會(huì)被自動(dòng)調(diào)用
.子程序 _銷(xiāo)毀, , , 當(dāng)基于本類(lèi)的對(duì)象被銷(xiāo)毀前,此方法會(huì)被自動(dòng)調(diào)用
停止下載 ()
.子程序 創(chuàng)建下載, 邏輯型, 公開(kāi)
.參數(shù) 遠(yuǎn)程地址, 文本型
.參數(shù) 本地地址, 文本型, 可空
.局部變量 url_code, 文本型
.局部變量 url_name, 文本型
.如果真 (取文本左邊 (遠(yuǎn)程地址, 7) ≠ “http://”)
  .如果真 (取文本左邊 (遠(yuǎn)程地址, 8) ≠ “https://”)
    返回 (假)
  .如果真結(jié)束
.如果真結(jié)束
file_name = 取文本右邊 (遠(yuǎn)程地址, 取文本長(zhǎng)度 (遠(yuǎn)程地址) - 倒找文本 (遠(yuǎn)程地址, “/”, , 假))
file_type = 取文本右邊 (遠(yuǎn)程地址, 取文本長(zhǎng)度 (遠(yuǎn)程地址) - 倒找文本 (遠(yuǎn)程地址, “.”, , 假) + 1)
url_code = 取文本右邊 (遠(yuǎn)程地址, 取文本長(zhǎng)度 (遠(yuǎn)程地址) - 尋找文本 (遠(yuǎn)程地址, “/”, 8, 假))
url_name = 取文本左邊 (遠(yuǎn)程地址, 尋找文本 (遠(yuǎn)程地址, “/”, 8, 假))
url = url_name + UTF8_URL_編碼 (url_code) ' 支持中文名
.如果真 (是否為空 (本地地址))
  本地地址 = 取運(yùn)行目錄 () + “\” + file_name
.如果真結(jié)束
.如果 (文件是否存在 (本地地址))
  file_hwnd = 打開(kāi)文件 (本地地址, #改寫(xiě), )
.否則
  file_hwnd = 打開(kāi)文件 (本地地址, #重寫(xiě), )
.如果結(jié)束
.如果真 (file_hwnd = 0)
  返回 (假)
.如果真結(jié)束
移到文件尾 (file_hwnd)
dwBytes = 取文件長(zhǎng)度 (file_hwnd)
file_path = 本地地址
返回 (真)
.子程序 開(kāi)始下載, 邏輯型, 公開(kāi)
.參數(shù) 進(jìn)度回調(diào), 整數(shù)型
.參數(shù) 退出回調(diào), 整數(shù)型
.局部變量 dwFlags, 整數(shù)型
.局部變量 strAgent, 文本型
.局部變量 hOpen, 整數(shù)型
.局部變量 szHead, 文本型
.局部變量 szTemp, 字節(jié)集
.局部變量 hConnect, 整數(shù)型
.局部變量 dwSize, 長(zhǎng)整數(shù)型
是否_開(kāi)始下載 = 真
是否_停止 = 假
InternetGetConnectedState (dwFlags, 0)
strAgent = “Agent” + 到文本 (取啟動(dòng)時(shí)間 ())
.如果 (位與 (dwFlags, 4) = 0)
  hOpen = InternetOpenA (strAgent, 4, 0, 0, 0)
.否則
  hOpen = InternetOpenA (strAgent, 0, 0, 0, 0)
.如果結(jié)束
.如果真 (hOpen = 0)
  返回 (假)
.如果真結(jié)束
szHead = “Accept: */*” + #換行符 + “Accept-Language: zh-cn” + #換行符 + “Accept-Encoding: no-gzip, deflate” + #換行符 + “User-Agent: Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.0; MyIE2; .NET CLR 1.1.4322)”
szHead = szHead + #換行符 + “Range:bytes=” + 到文本 (dwBytes) + “-”
szTemp = 取空白字節(jié)集 (10240)
hConnect = InternetOpenUrlA (hOpen, url, szHead, 取文本長(zhǎng)度 (szHead), 2214592768, 0)
dwByteToRead = 0
.如果真 (HttpQueryInfoA (hConnect, 536870917, dwByteToRead, 4, 0) = 0)
  dwByteToRead = 0
.如果真結(jié)束
dwByteToRead = dwByteToRead + dwBytes
start_time = time ()
.循環(huán)判斷首 ()
  .如果真 (是否_停止 = 真)
    調(diào)用子程序 (退出回調(diào), , , )
    返回 (假)
    跳出循環(huán) ()
  .如果真結(jié)束
  .如果真 (InternetReadFile (hConnect, szTemp, 10240, dwSize) = 0)
    關(guān)閉文件 (file_hwnd)
    返回 (假)
  .如果真結(jié)束
  .如果 (dwSize = 0)
    跳出循環(huán) ()
  .否則
    szTemp = 取字節(jié)集左邊 (szTemp, dwSize)
    寫(xiě)出字節(jié)集 (file_hwnd, szTemp)
  .如果結(jié)束
  dwBytes = dwBytes + dwSize
  調(diào)用子程序 (進(jìn)度回調(diào), , , )
.循環(huán)判斷尾 (真)
關(guān)閉文件 (file_hwnd)
是否_開(kāi)始下載 = 假
InternetCloseHandle (hOpen)
返回 (真)
.子程序 取已下載尺寸, 長(zhǎng)整數(shù)型, 公開(kāi)
返回 (dwBytes)
.子程序 取總大小, 長(zhǎng)整數(shù)型, 公開(kāi)
返回 (dwByteToRead)
.子程序 取文件名, 文本型, 公開(kāi)
返回 (file_name)
.子程序 取擴(kuò)展類(lèi)型, 文本型, 公開(kāi)
返回 (file_type)
.子程序 取下載進(jìn)度, 整數(shù)型, 公開(kāi)
返回 (dwBytes × 100 ÷ dwByteToRead)
.子程序 取下載時(shí)長(zhǎng), 整數(shù)型, 公開(kāi)
返回 (time () - start_time)
.子程序 取本地文件名, 文本型, 公開(kāi)
返回 (file_path)
.子程序 停止下載, , 公開(kāi)
是否_停止 = 真
.如果真 (file_hwnd ≠ 0)
  關(guān)閉文件 (file_hwnd)
.如果真結(jié)束
.子程序 是否開(kāi)始下載, 邏輯型, 公開(kāi)
返回 (是否_開(kāi)始下載)
.子程序 UTF8_URL_編碼, 文本型
.參數(shù) url, 文本型
.局部變量 字節(jié)集數(shù)據(jù), 字節(jié)集
.局部變量 i, 整數(shù)型
.局部變量 b, 文本型
.局部變量 a, 文本型
字節(jié)集數(shù)據(jù) = 編碼轉(zhuǎn)換 (到字節(jié)集 (url), #編碼_GBK, #編碼_UTF_8, )
.計(jì)次循環(huán)首 (取字節(jié)集長(zhǎng)度 (字節(jié)集數(shù)據(jù)), i)
  a = 取十六進(jìn)制文本 (字節(jié)集數(shù)據(jù) [i])
  b = b + “%” + a
.計(jì)次循環(huán)尾 ()
返回 (b)
.子程序 time, 長(zhǎng)整數(shù)型
.局部變量 初始時(shí)間, 日期時(shí)間型
初始時(shí)間 = 到時(shí)間 (“1970-01-01 08:00:00”)
返回 (取時(shí)間間隔 (取現(xiàn)行時(shí)間 (), 初始時(shí)間, #秒))
.子程序 date, 日期時(shí)間型
.參數(shù) 時(shí)間戳記值, 長(zhǎng)整數(shù)型, , 要轉(zhuǎn)換的時(shí)間戳記值
.局部變量 初始時(shí)間, 日期時(shí)間型
初始時(shí)間 = 到時(shí)間 (“1970-01-01 08:00:00”)
返回 (增減時(shí)間 (初始時(shí)間, #秒, 時(shí)間戳記值))

http下載斷點(diǎn)續(xù)傳

.版本 2
.程序集 窗口程序集_啟動(dòng)窗口
.程序集變量 下載, HTTP
.程序集變量 上次位置, 整數(shù)型
.程序集變量 是否結(jié)束, 邏輯型
.子程序 __啟動(dòng)窗口_創(chuàng)建完畢
是否結(jié)束 = 假
.子程序 _下載按鈕_被單擊
進(jìn)度條1.位置 = 0
.如果真 (下載.創(chuàng)建下載 (“http://gw.datiw.com:8080/201708/tools/eyy_chs_jb51.rar”) = 假)
  信息框 (“創(chuàng)建任務(wù)失敗!”, 0, )
.如果真結(jié)束
.如果真 (下載.開(kāi)始下載 (到整數(shù) (&下載回調(diào)), 到整數(shù) (&退出回調(diào))))
  進(jìn)度條1.位置 = 100
  信息框 (“下載完成!”, 0, )
.如果真結(jié)束
.子程序 下載回調(diào)
進(jìn)度條1.位置 = 下載.取下載進(jìn)度 ()
處理事件 () ' 必須加,否則假死
.子程序 退出回調(diào)
.如果真 (是否結(jié)束 = 真)
  結(jié)束 ()
.如果真結(jié)束
.子程序 _停止按鈕_被單擊
下載.停止下載 ()
.子程序 _時(shí)鐘1_周期事件
.如果真 (下載.是否開(kāi)始下載 ())
  標(biāo)簽1.標(biāo)題 = “當(dāng)前任務(wù)總大小:” + 到文本 (到整數(shù) (下載.取總大小 () ÷ 1024)) + “ KB”
  標(biāo)簽2.標(biāo)題 = “當(dāng)前已下載:” + 到文本 (到整數(shù) (下載.取已下載尺寸 () ÷ 1024)) + “ KB”
  標(biāo)簽3.標(biāo)題 = “當(dāng)前下載速度:” + 到文本 (到整數(shù) ((下載.取已下載尺寸 () - 上次位置) ÷ 1024)) + “ KB/s”
  標(biāo)簽4.標(biāo)題 = “當(dāng)前下載進(jìn)度:” + 到文本 (下載.取下載進(jìn)度 ()) + “ %”
  標(biāo)簽5.標(biāo)題 = “保存文件路徑:” + 到文本 (下載.取本地文件名 ())
  上次位置 = 下載.取已下載尺寸 ()
.如果真結(jié)束
.子程序 __啟動(dòng)窗口_可否被關(guān)閉, 邏輯型
.如果真 (下載.是否開(kāi)始下載 () = 假)
  返回 (真)
.如果真結(jié)束
下載.停止下載 ()
是否結(jié)束 = 真 ' 保證退出循環(huán)
返回 (假)

運(yùn)行結(jié)果:

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • 易語(yǔ)言通過(guò)超級(jí)鏈接框跳轉(zhuǎn)到網(wǎng)頁(yè)的方法

    易語(yǔ)言通過(guò)超級(jí)鏈接框跳轉(zhuǎn)到網(wǎng)頁(yè)的方法

    今天小編就為大家分享一篇關(guān)于易語(yǔ)言通過(guò)超級(jí)鏈接框跳轉(zhuǎn)到網(wǎng)頁(yè)的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-11-11
  • 易語(yǔ)言純IP數(shù)據(jù)庫(kù)查詢(xún)代碼實(shí)例

    易語(yǔ)言純IP數(shù)據(jù)庫(kù)查詢(xún)代碼實(shí)例

    在本篇內(nèi)容中我們給大家分享了關(guān)于易語(yǔ)言編寫(xiě)的純IP數(shù)據(jù)庫(kù)查詢(xún)相關(guān)代碼實(shí)例,有需要的朋友們可以測(cè)試下。
    2018-11-11
  • 易語(yǔ)言求正弦命令使用講解

    易語(yǔ)言求正弦命令使用講解

    今天小編就為大家分享一篇關(guān)于易語(yǔ)言求正弦命令使用講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-11-11
  • 易語(yǔ)言在指定位置顯示彈出式菜單的方法

    易語(yǔ)言在指定位置顯示彈出式菜單的方法

    今天小編就為大家分享一篇關(guān)于易語(yǔ)言在指定位置顯示彈出式菜單的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-11-11
  • 易語(yǔ)言Ex_DirectUI自繪掃雷游戲源碼

    易語(yǔ)言Ex_DirectUI自繪掃雷游戲源碼

    今天小編就為大家分享一篇關(guān)于易語(yǔ)言Ex_DirectUI自繪掃雷游戲源碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • 易語(yǔ)言九九乘除加減表制作方法

    易語(yǔ)言九九乘除加減表制作方法

    在本篇內(nèi)容里小編給大家分享了關(guān)于易語(yǔ)言制作九九乘除加減表方法和步驟,需要的朋友參考下。
    2019-01-01
  • 安裝易語(yǔ)言助手的步驟

    安裝易語(yǔ)言助手的步驟

    在本篇文章里小編給大家分享的是一篇關(guān)于安裝易語(yǔ)言助手的步驟的寫(xiě)法詳解內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2020-02-02
  • 易語(yǔ)言GB2312轉(zhuǎn)UTF8編碼教學(xué)

    易語(yǔ)言GB2312轉(zhuǎn)UTF8編碼教學(xué)

    在本篇文章中小編給大家分享了關(guān)于易語(yǔ)言GB2312轉(zhuǎn)UTF8編碼教學(xué)內(nèi)容,對(duì)此有興趣的朋友們學(xué)習(xí)下。
    2019-01-01
  • 易語(yǔ)言制作酷狗付費(fèi)音樂(lè)解析下載工具

    易語(yǔ)言制作酷狗付費(fèi)音樂(lè)解析下載工具

    今天小編就為大家分享一篇關(guān)于易語(yǔ)言制作酷狗付費(fèi)音樂(lè)解析下載工具,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • 易語(yǔ)言檢測(cè)文件被哪個(gè)進(jìn)程占用的代碼

    易語(yǔ)言檢測(cè)文件被哪個(gè)進(jìn)程占用的代碼

    今天小編就為大家分享一篇關(guān)于易語(yǔ)言檢測(cè)文件被哪個(gè)進(jìn)程占用的代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-11-11

最新評(píng)論