溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

易語言怎么通過計(jì)算替換字節(jié)實(shí)現(xiàn)酷狗音樂緩存文件轉(zhuǎn)MP3

發(fā)布時(shí)間:2021-06-16 15:51:42 來源:億速云 閱讀:192 作者:小新 欄目:編程語言

這篇文章將為大家詳細(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é)果:

易語言怎么通過計(jì)算替換字節(jié)實(shí)現(xiàn)酷狗音樂緩存文件轉(zhuǎn)MP3

關(guān)于“易語言怎么通過計(jì)算替換字節(jié)實(shí)現(xiàn)酷狗音樂緩存文件轉(zhuǎn)MP3”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(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)容。

AI