こんにちは。いつもお世話になってます。
VK_DELETE, VK_F10〜VK_F24, VK_OEM_102
の定数が不足しているので、追加をお願いします。
また、"constant_p7.as"の3行目に、
"// constants: Part6〜"とありますが、"Part7"の間違いだと思います。
修正お願いします。
……で終わろうと思ったのですが、
ちまちま不足している定数の報告をするのもあれなので、
ベースの青い葉っぱさんと比較して、不足している定数を特定してみました。
以下のリンク先に、不足していた定数の一覧のファイルをアップロードしておいたので、
お時間があれば、確認していただけると幸いです。
https://d.kuku.lu/937d572be6
※数値の定数と、文字列の定数でファイルが分かれています。
特定には、自作のスクリプトを使用したので、間違いがあるかもしれません。
一応、特定に使用したスクリプトを置いておきます。
実行する際は、同じフォルダに、青い葉っぱさんの"const.txt"と、constant.asのp1〜p7を入れてください。
ちなみに、処理速度は遅いです。自分の環境では40秒近く掛かりました。
#include "mod_regexp.as"
#uselib "winmm.dll"
#func timeGetTime "timeGetTime"
#define IS_INT 1 // 処理モード(定数の種類) 0=文字列 1=数値
screen 0, 640, 700
// ファイル読み込み
; 青い葉っぱさんのconst.txt
sdim const
notesel const
noteload "const.txt"
; constant.as
sdim sFile
sdim sFile_temp
index = 0
repeat 7, 1
; 一時変数に読み込み
loadFilePath = "constant_p"+cnt+".as"
exist loadFilePath
loadSize = strsize
notesel sFile_temp
noteload loadFilePath
; メイン変数に、読み込んだ内容を追加
memexpand sFile, strlen(sFile) +loadSize +1 +2; バッファサイズ拡張(+1=null, +2=改行)
poke sFile, index, sFile_temp+"\n"
index += strsize
loop
// 定数を抽出
sdim constMatchs
#if IS_INT // 数値
matches constMatchs, const, "#define\\s+(\\w+)\\s+\\$0*([\\w]+)"
#else // 文字列
matches constMatchs, const, "#define\\s+(\\w+)\\s+\"(.+)\""
#endif
nMatch = stat
mes "定数:"+nMatch
// 検索する文字列の配列作成
sdim sSearchs, 64, nMatch
repeat nMatch
#if IS_INT
sSearchs.cnt = "#define global "+constMatchs(cnt,1)+" $"+strf("%08s",constMatchs(cnt,2))
#else
sSearchs.cnt = "#define global "+constMatchs(cnt,1)+" \""+constMatchs(cnt,2)+"\""
#endif
loop
// 定数を検索し、見つからなかった定数を追加
i = 0
sdim results
notesel results
stratTime = timeGetTime()
repeat nMatch
if instr(sFile, 0, sSearchs.cnt)==-1{
#if IS_INT
noteadd constMatchs(cnt,1)+" $"+strf("%08s",constMatchs(cnt,2))
#else
noteadd constMatchs(cnt,1)+" \""+constMatchs(cnt,2)+"\""
#endif
}
i ++
if i==1000{ // 1000回ごとに
i = 0
mes ""+cnt
await
}
loop
mes "処理時間:"+str(timeGetTime()-stratTime)+"ms"
// 結果出力
#if IS_INT
notesave "result_int.txt"
#else
notesave "result_string.txt"
#endif