您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)易語言怎么通過計(jì)算替換字節(jié)實(shí)現(xiàn)酷狗音樂緩存文件轉(zhuǎn)MP3,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
DLL命令表
.版本 2 .DLL命令 創(chuàng)建線程_, 整數(shù)型, "kernel32", "CreateThread", , CreateThread建立新的線索 .參數(shù) lpThreadAttributes, 整數(shù)型, , 0 .參數(shù) dwStackSize, 整數(shù)型, , 0 .參數(shù) lpStartAddress, 子程序指針 .參數(shù) lpParameter, 整數(shù)型 .參數(shù) dwCreationFlags, 整數(shù)型, , 0 .參數(shù) lpThreadId, 整數(shù)型, , 線程ID .DLL命令 _創(chuàng)建許可證, , "kernel32", "InitializeCriticalSection", , 創(chuàng)建許可證 .參數(shù) lpCriticalSection, 多線程許可證, 傳址 .DLL命令 _刪除許可證, , "kernel32", "DeleteCriticalSection", , 刪除許可證 .參數(shù) lpCriticalSection, 多線程許可證, 傳址 .DLL命令 _進(jìn)入許可區(qū), , "kernel32", "EnterCriticalSection", , 進(jìn)入許可區(qū) .參數(shù) lpCriticalSection, 多線程許可證, 傳址 .DLL命令 _退出許可區(qū), , "kernel32", "LeaveCriticalSection", , 退出許可區(qū) .參數(shù) lpCriticalSection, 多線程許可證, 傳址 .DLL命令 線程_掛起, 整數(shù)型, "kernel32", "SuspendThread" .參數(shù) hThread, 整數(shù)型 .DLL命令 線程_恢復(fù), 整數(shù)型, "kernel32", "ResumeThread" .參數(shù) hThread, 整數(shù)型
自定義數(shù)據(jù)類型表
.版本 2 .數(shù)據(jù)類型 多線程許可證, 公開 .成員 DebugInfo, 整數(shù)型 .成員 LockCount, 整數(shù)型 .成員 RecursionCount, 整數(shù)型 .成員 OwningThread, 整數(shù)型 .成員 LockSemaphore, 整數(shù)型 .成員 SpinCount, 整數(shù)型
酷狗kgtemp轉(zhuǎn)MP3的代碼
.版本 2 .支持庫 iext .支持庫 spec .程序集 窗口程序集_啟動(dòng)窗口 .程序集變量 許可證, 多線程許可證 .程序集變量 線程數(shù), 整數(shù)型 .程序集變量 handle, 整數(shù)型, , "0" .程序集變量 是否暫停, 邏輯型 .程序集變量 是否停止, 邏輯型 .子程序 __啟動(dòng)窗口_創(chuàng)建完畢 路徑編輯框.內(nèi)容 = 取運(yùn)行目錄 () + “\mp3\” _創(chuàng)建許可證 (許可證) 輸出調(diào)試文本 (許可證.DebugInfo) .子程序 _按鈕生成_被單擊 .局部變量 初始目錄, 文本型 .局部變量 文件, 文本型 .局部變量 索引, 整數(shù)型 .局部變量 數(shù)值1, 文本型 .局部變量 i, 整數(shù)型 按鈕開始.禁止 = 假 超級(jí)列表框1.表項(xiàng) = { } i = 0 初始目錄 = 取運(yùn)行目錄 () + “\” 文件 = 尋找文件 (初始目錄 + “*.kgtemp”, ) .循環(huán)判斷首 () .如果真 (文件是否存在 (初始目錄 + 文件)) i = i + 1 索引 = 超級(jí)列表框1.插入表項(xiàng) (, , , , , ) 超級(jí)列表框1.置標(biāo)題 (索引, 0, 到文本 (i)) 超級(jí)列表框1.置標(biāo)題 (索引, 1, 初始目錄 + 文件) 超級(jí)列表框1.置標(biāo)題 (索引, 2, “待轉(zhuǎn)”) .如果真結(jié)束 文件 = 尋找文件 (, ) .循環(huán)判斷尾 (文件 ≠ “”) .子程序 _按鈕開始_被單擊 .如果真 (文件是否存在 (路徑編輯框.內(nèi)容) = 假) 創(chuàng)建目錄 (路徑編輯框.內(nèi)容) .如果真結(jié)束 是否停止 = 假 按鈕開始.禁止 = 真 按鈕生成.禁止 = 真 按鈕停止.禁止 = 假 按鈕暫停.禁止 = 假 多線程啟動(dòng) () 按鈕生成.禁止 = 假 按鈕停止.禁止 = 真 按鈕暫停.禁止 = 真 按鈕開始.禁止 = 假 .子程序 單線程轉(zhuǎn)換 .參數(shù) 表項(xiàng), 整數(shù)型 .局部變量 文件路徑, 文本型 .局部變量 文件名, 文本型 .局部變量 mp3, 字節(jié)集 文件路徑 = 超級(jí)列表框1.取標(biāo)題 (表項(xiàng), 1) 文件名 = 取文本右邊 (文件路徑, 取文本長度 (文件路徑) - 倒找文本 (文件路徑, “\”, , 假)) mp3 = kgtemp轉(zhuǎn)MP3 (文件路徑) .如果 (mp3 ≠ { }) .如果 (寫到文件 (路徑編輯框.內(nèi)容 + 文件名 + “.mp3”, mp3)) 超級(jí)列表框1.置標(biāo)題 (表項(xiàng), 2, “完成”) .否則 超級(jí)列表框1.置標(biāo)題 (表項(xiàng), 2, “失敗”) .如果結(jié)束 .否則 超級(jí)列表框1.置標(biāo)題 (表項(xiàng), 2, “失敗”) .如果結(jié)束 超級(jí)列表框1.保證顯示 (表項(xiàng)) _進(jìn)入許可區(qū) (許可證) 線程數(shù) = 線程數(shù) - 1 _退出許可區(qū) (許可證) .子程序 多線程啟動(dòng) .局部變量 數(shù)量, 整數(shù)型 .局部變量 i, 整數(shù)型 數(shù)量 = 超級(jí)列表框1.取表項(xiàng)數(shù) () 重定義數(shù)組 (handle, 假, 數(shù)量) ' 防止數(shù)組越界 .計(jì)次循環(huán)首 (數(shù)量, i) .如果真 (是否停止) 跳出循環(huán) () .如果真結(jié)束 .判斷循環(huán)首 (是否暫停) 延遲 (200) ' 如果單擊了暫停按鈕,程序就停在此處無限循環(huán),直到單擊恢復(fù)。 .判斷循環(huán)尾 () 創(chuàng)建線程_ (0, 0, &單線程轉(zhuǎn)換, i - 1, 0, handle [i]) 超級(jí)列表框1.置標(biāo)題 (i - 1, 2, “轉(zhuǎn)換中”) _進(jìn)入許可區(qū) (許可證) 線程數(shù) = 線程數(shù) + 1 ' 循環(huán)一次就讓線程數(shù)增加1 _退出許可區(qū) (許可證) .判斷循環(huán)首 (線程數(shù) = 到整數(shù) (編輯框線程數(shù).內(nèi)容)) .如果真 (是否停止) 跳出循環(huán) () .如果真結(jié)束 延遲 (100) ' 延遲的目的是防止線程數(shù)超過設(shè)定數(shù)目。 .判斷循環(huán)尾 () .計(jì)次循環(huán)尾 () .子程序 _按鈕暫停_被單擊 .局部變量 cout, 整數(shù)型 .局部變量 i, 整數(shù)型 cout = 超級(jí)列表框1.取表項(xiàng)數(shù) () .判斷開始 (按鈕暫停.標(biāo)題 = “暫停”) 是否暫停 = 真 .計(jì)次循環(huán)首 (cout, i) 線程_掛起 (handle [i]) .計(jì)次循環(huán)尾 () 按鈕暫停.標(biāo)題 = “恢復(fù)” .默認(rèn) 按鈕暫停.標(biāo)題 = “恢復(fù)” 是否暫停 = 假 .計(jì)次循環(huán)首 (cout, i) 線程_恢復(fù) (handle [i]) .計(jì)次循環(huán)尾 () 按鈕暫停.標(biāo)題 = “暫?!? .判斷結(jié)束 .子程序 _按鈕停止_被單擊 是否停止 = 真 按鈕生成.禁止 = 真 .子程序 kgtemp轉(zhuǎn)MP3, 字節(jié)集 .參數(shù) 文件路徑, 文本型 .局部變量 key, 整數(shù)型, , "4" .局部變量 文件號(hào), 整數(shù)型 .局部變量 臨時(shí)字節(jié)集文件, 字節(jié)集 .局部變量 臨時(shí)字節(jié)集指針, 整數(shù)型 .局部變量 字節(jié)集長度, 整數(shù)型 .局部變量 計(jì)數(shù), 整數(shù)型 .局部變量 i, 整數(shù)型 .局部變量 結(jié)果, 整數(shù)型 .局部變量 輸出結(jié)果, 字節(jié)集 .局部變量 時(shí)間, 整數(shù)型 key [1] = 172 key [2] = 236 key [3] = 223 key [4] = 87 文件號(hào) = 打開文件 (文件路徑, , ) 臨時(shí)字節(jié)集文件 = 讀入字節(jié)集 (文件號(hào), 取文件長度 (文件號(hào))) 關(guān)閉文件 (文件號(hào)) 臨時(shí)字節(jié)集文件 = 取字節(jié)集右邊 (臨時(shí)字節(jié)集文件, 取字節(jié)集長度 (臨時(shí)字節(jié)集文件) - 1024) 臨時(shí)字節(jié)集指針 = 取變量數(shù)據(jù)地址 (臨時(shí)字節(jié)集文件) 字節(jié)集長度 = 取字節(jié)集長度 (臨時(shí)字節(jié)集文件) 時(shí)間 = 取啟動(dòng)時(shí)間 () .計(jì)次循環(huán)首 (字節(jié)集長度, 計(jì)數(shù)) i = 計(jì)數(shù) % 4 .如果真 (i = 0) i = 4 .如果真結(jié)束 結(jié)果 = 位異或 (取低位 (臨時(shí)字節(jié)集文件 [計(jì)數(shù)]), 取低位 (key [i])) 結(jié)果 = 位或 (左移 (位異或 (取高位 (臨時(shí)字節(jié)集文件 [計(jì)數(shù)]), 取高位 (key [i]), 結(jié)果), 4), 結(jié)果) 寫到內(nèi)存 (取字節(jié)集左邊 (到字節(jié)集 (結(jié)果), 1), 臨時(shí)字節(jié)集指針 + 計(jì)數(shù) - 1, 1) .計(jì)次循環(huán)尾 () 輸出調(diào)試文本 (取啟動(dòng)時(shí)間 () - 時(shí)間) 返回 (臨時(shí)字節(jié)集文件) .子程序 MP3轉(zhuǎn)kgtemp, 字節(jié)集 .參數(shù) 文件路徑, 文本型 .局部變量 key, 整數(shù)型, , "4" .局部變量 文件號(hào), 整數(shù)型 .局部變量 臨時(shí)字節(jié)集文件, 字節(jié)集 .局部變量 臨時(shí)字節(jié)集指針, 整數(shù)型 .局部變量 字節(jié)集長度, 整數(shù)型 .局部變量 計(jì)數(shù), 整數(shù)型 .局部變量 i, 整數(shù)型 .局部變量 結(jié)果, 整數(shù)型 .局部變量 輸出結(jié)果, 字節(jié)集 .局部變量 時(shí)間, 整數(shù)型 key [1] = 172 key [2] = 236 key [3] = 223 key [4] = 87 文件號(hào) = 打開文件 (文件路徑, , ) 臨時(shí)字節(jié)集文件 = 讀入字節(jié)集 (文件號(hào), 取文件長度 (文件號(hào))) 關(guān)閉文件 (文件號(hào)) 臨時(shí)字節(jié)集指針 = 取變量數(shù)據(jù)地址 (臨時(shí)字節(jié)集文件) 字節(jié)集長度 = 取字節(jié)集長度 (臨時(shí)字節(jié)集文件) 時(shí)間 = 取啟動(dòng)時(shí)間 () .計(jì)次循環(huán)首 (字節(jié)集長度, 計(jì)數(shù)) i = 計(jì)數(shù) % 4 .如果真 (i = 0) i = 4 .如果真結(jié)束 結(jié)果 = 位異或 (取高位 (臨時(shí)字節(jié)集文件 [計(jì)數(shù)]), 取低位 (臨時(shí)字節(jié)集文件 [計(jì)數(shù)]), 取高位 (key [i])) 結(jié)果 = 位或 (左移 (結(jié)果, 4), 位異或 (取低位 (臨時(shí)字節(jié)集文件 [計(jì)數(shù)]), 取低位 (key [i]))) 寫到內(nèi)存 (取字節(jié)集左邊 (到字節(jié)集 (結(jié)果), 1), 臨時(shí)字節(jié)集指針 + 計(jì)數(shù) - 1, 1) .計(jì)次循環(huán)尾 () 輸出調(diào)試文本 (取啟動(dòng)時(shí)間 () - 時(shí)間) 返回 (#head + 臨時(shí)字節(jié)集文件) .子程序 取高位, 整數(shù)型 .參數(shù) 待取整數(shù), 整數(shù)型 返回 (右移 (待取整數(shù), 4)) .子程序 取低位, 整數(shù)型 .參數(shù) 待取整數(shù), 整數(shù)型 返回 (位與 (待取整數(shù), 15)) .子程序 __啟動(dòng)窗口_將被銷毀 _刪除許可證 (許可證)
運(yùn)行結(jié)果:
關(guān)于“易語言怎么通過計(jì)算替換字節(jié)實(shí)現(xiàn)酷狗音樂緩存文件轉(zhuǎn)MP3”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。