怎样列举以WM_或其它MB_等开头的常量?
常量在Message.pas中定义.
我见过可以列举的软件.但不知怎做.
常量在Message.pas中定义.
我见过可以列举的软件.但不知怎做.
解决方案 »
- 监视程序的运行
- 简单问题,在移动adoquery.next时,如何代码实现选择dbgrideh当前一行.
- 很簡單的一個問題:更新時老是提示一個錯誤row cannot be located for updating
- 程序自我刪除我問題
- 非常初级的问题
- ActiveX 控件在IE中使用,提示DAX Access错误,请liuxiaowei (巍巍)来帮忙!
- 有没有QQ群?小弟是从C++那边过来的
- delphi如何提交http请求返回XML数据
- 怎样判断程序已经运行?为什么我把程序关闭后,在进程里却没有关闭?
- 高分易答问题(50分),见者有分
- 怎样用Installsheild 6.3将TTS引擎和语音包打包到安装程序?
- 请问各问大大,如何遍历所有的窗体
目前我找到的是将一个杖举类型的值列出来,在这个TypInfo.pas里面.
定义一个record类型,例如
type
PConstRecord=^TConstRecord;
TConstRecord=record
Name:ShortString;
ID:Cardinal;
end;
然后你读入messages.pas文件,每读取一个结构就在堆上分配一个PConstRecord,并将名字和值放入ID中.读完了之后,将你所整理的PConstRecord放入一个文件中,以后要用就用你生成的这个文件,不必每次使用Messages.pas中读.同时你也可以先排序,并插入一些无意义的内容以便对齐(例如假设有消息编号为:1,2,5,6,你自己插入个无意义的3,4,来保证每个都有效),这样以后读入到TList中只需要 以MyList[Index]的语法就可以以O(1)的速度快速找到所对应的字符串消息了. 不过这样空间换时间的方法有点过了,你也可一采取其他的搜索方法,如二叉树,散列表都是不错的