- 帖子
- 2
- 积分
- 14
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2012-1-24
|
[文本处理] 如何按指定字符分割含特殊符号的.RC文件, 并提取其中的字符做变量??
本帖最后由 好哇 于 2012-1-25 00:38 编辑
新年好!
这个问题我搜索过, 基本都是分割小说的. 我还想提取当中的字符作为变量, 后续有需要用, 但我写得不好.
从 exe/dll 导出来的 菜单/对话框 的文本文件 *.rc
导出来的同类型资源被包含在一个文件里了, 比如 菜单类, 只一个 menu.rc , 而不是按原有序号名称分别生成 100.rc, 106.rc, 200.rc ...
要求:
1. 在 RC 文件里, 菜单/对话框 的关键词分别为 MENU/DIALOGES , 这些名词是固定的, 而具体的资源名字位于这些关键词的前面, 通常是不连续的数字, 但也可能是英文单词. 我想把它分割开来, 并按提取到的实际名字命名;
2. 菜单/对话框/字符串 的内容会包含特殊字符, 要按原样和原来的缩进格式输出, 以免导入或运行的时候出错;
附上资料:
menu.rc 的内容:
100 MENU
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
POPUP "文件(&F)"
{
MENUITEM "新建(&N)\tCtrl+N", 40000
MENUITEM "打开(&O)...\tCtrl+O", 40001
......
}
}
106 MENU
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
POPUP "+"
{
MENUITEM "撤销(&U)", 40300
MENUITEM "重做(&R)", 40301
MENUITEM SEPARATOR
......
}
}
...
dialoges.rc 内容:
100 DIALOGES 0, 0, 255, 100
STYLE DS_FIXEDSYS | DS_NOFAILCREATE | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Explorer"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 8, "Tahoma"
{
CONTROL "OK", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 195, 75, 50, 14
}
201 DIALOGES 0, 0, 188, 129
STYLE DS_FIXEDSYS | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "打开方式..."
......
比如, 搜索带有"DIALOGES"的行, 以原格式分割, 并命名新的文件为"100.rc", "201.rc", ......
怎么样使执行效果又快又好?
非常感谢!! |
|