Delphi在case 语句中使用字符串
来源:互联网 发布:截屏软件 编辑:程序博客网 时间:2024/06/06 01:49
这种方法主要用到 RTTI 的特性。该方法的主要思路是,先把所有的备选项声名为一个枚举类型的值,只要把要找的字符串也转换为枚举型,就可以用 case 语句了。
uses TypInfo; // 引用这个单元
type TMyStrSel = (Beijing, Tianjing, Shanghai, Chongqing);
// 注意,上面这个定义不能放在某个函数内部,那样的话,它就没有运行类信息了
var
type TMyStrSel = (Beijing, Tianjing, Shanghai, Chongqing);
// 注意,上面这个定义不能放在某个函数内部,那样的话,它就没有运行类信息了
var
strSel: TMyStrSel;
函数内部编写:
str := 'Chongqing';
strSel := TMyStrSel(GetEnumValue(TypeInfo(TMyStrSel), str));
case strSel of
Beijing: ShowMessage('First');
Tianjing: ShowMessage('Second');
Shanghai: ShowMessage('Third');
Chongqing: ShowMessage('Forth');
else ShowMessage('Other');
end;
strSel := TMyStrSel(GetEnumValue(TypeInfo(TMyStrSel), str));
case strSel of
Beijing: ShowMessage('First');
Tianjing: ShowMessage('Second');
Shanghai: ShowMessage('Third');
Chongqing: ShowMessage('Forth');
else ShowMessage('Other');
end;
解释:GetEnumValue 函数返回一个字符串对应的枚举型的值在某枚举类型中的位置(枚举类型是有顺序的,要不怎么叫顺序类型呢),然后通过一个强制类型转换将这个值转化为枚举型。于是就实现了把字符串转化为枚举型的操作。
- delphi 在 case 语句中使用字符串
- Delphi在case 语句中使用字符串
- Delphi在case语句中使用字符串
- 在 case 语句中使用字符串
- 在 case 语句中使用字符串
- 在case语句中使用字符串
- Delphi case 语句使用
- 在sql语句中使用case..when
- SQL 中在WHERE里面使用Case语句
- 用枚举方法 在case 语句中使用字符
- 在项目中混合使用CASE 、JOIN等sql语句
- 在switch case 语句中能否使用continue 关键字?为什么?
- 枚举类在switch...case语句中使用的问题
- Mysql中使用case语句
- Sql 语句中case使用
- C++ 中 switch case语句 处理字符串
- 关于在DELPHI中FOR循环语句的使用问题
- 在Delphi中动态地使用SQL查询语句
- http://www.cnblogs.com/wujd/archive/2012/01/10/wujiandong-android-1.html
- 笔试题1--猫吃老鼠问题
- 关于在linux控制台按下ctrl+s后出现卡住现象的问题
- SQL 2008 Server 在Win7下的安装
- 开源软件更适合中国
- Delphi在case 语句中使用字符串
- MATLAB作图调格式代码
- 【URAL水题】集中题解区
- jquery插件之智能提示(信息来自数据库字段)
- java第三课
- apache+php+mysql 安装配置
- 【强连通分量】Instantaneous Transference
- web服务的面向资源与面向活动
- WebService学习笔记