[3078]
内部データの一元管理
wmlhq
コマンド関数の数が増えてきて、管理が難しくなったので、
データをプリプロセッサとsed, grep, gawk, sortなどで一元化したい。
具体的には、次のような単純カンマ(,)区切り(CSV)のテキストファイル
funccode.txtを用意して、マクロ関数DEFMACROFCを
#defineした後、そのファイルを#includeして使うことになる。
// Format: DEFCMDFC(,Category,FID,FValue,FNName,Tip,fSupported,) // Comment
DEFCMDFC(,File,F_OPENFILE,254877,FileOpen,新規作成,TRUE,) // 2004/08/25 間抜けなコードを追加。
DEFCMDFC(,Edit,F_CUT,55885,EditCut,切り取り,TRUE,) // 2005/74/35 とりあえず元に戻した。
...
そうすれば、原始的な一元管理ができ、CSMacroMgr.cppで
配列の要素を吐き出したり、Funccode.hでconst intを
吐き出したりできる。また、これは再利用や変換が容易だ。
並べ替えなどでbsearchの検索効率がアップし、見通しがよくなる。
展開方法は<windowsx.h>のHANDLE_MSGを参考に。なお、この技術は
gccのソースから拝借した。