delphi – 来自字符串的枚举

delphi – 来自字符串的枚举,第1张

概述鉴于下面的声明,有没有办法从字符串值(例如’one’)中检索枚举值(例如jt_one)? type TJOBTYPEENUM =(jt_one, jt_two, jt_three);CONST JOBTYPEStrings : ARRAY [jt_one..jt_three] OF STRING = ('one','two','three'); 或者我是否需要使用嵌套的if语句创 鉴于下面的声明,有没有办法从字符串值(例如’one’)中检索枚举值(例如jt_one)?

type TJOBTYPEENUM =(jt_one,jt_two,jt_three);CONST JOBTYpestrings : ARRAY [jt_one..jt_three] OF STRING =     ('one','two','three');

或者我是否需要使用嵌套的if语句创建自己的函数?

注意:我不是在寻找字符串“jt_one”

解决方法
function EnumFromString(const str: string): TJOBTYPEENUM;begin  for Result := low(Result) to high(Result) do     if JOBTYpestrings[Result]=str then      exit;  raise Exception.CreateFmt('Enum %s not found',[str]);end;

在实际代码中,您需要使用自己的异常类.如果要允许不区分大小写的匹配,请使用SameText比较字符串.

总结

以上是内存溢出为你收集整理的delphi – 来自字符串的枚举全部内容,希望文章能够帮你解决delphi – 来自字符串的枚举所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1270830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存