gpt4 book ai didi

delphi - 来自字符串的枚举

转载 作者:行者123 更新时间:2023-12-03 15:03:48 25 4
gpt4 key购买 nike

考虑到下面的声明,有没有办法从字符串值(例如“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 - 来自字符串的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12960702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com