gpt4 book ai didi

delphi - delphi中如何检查Tstringlist的长度

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

这就是我正在努力做的事情。我有一个 Tstringlist,用于命名。如果名称的格式为 DOE、JOHN、NMI,我希望它将名称拆分为 3 个不同的字符串。
但问题是,如果没有中间声母怎么办?或名字。就像可能只是能源部一样,那么最后两行就出界了。并且程序崩溃了。最好的解决方案是什么?

var ptname, physname: Tstringlist;

if pos(',',Msg.Grp2[0].ObsReq[0].OrderingProviderFamilyName) > 0 then // split it if it has a comma
begin
physname := TstringList.Create;
physname.CommaText := Msg.Grp2[0].ObsReq[0].OrderingProviderFamilyName;
Parameters.ParamByName('@OrderingLastNameOBR16').Value := physname[0];
Parameters.ParamByName('@OrderingFirstNameOBR16').Value := physname[1];
Parameters.ParamByName('@OrderingMiddleNameOBR16').Value := physname[2];
physname.Free;
end

最佳答案

使用TStringList.Count

  physname := TstringList.Create;
physname.CommaText := Msg.Grp2[0].ObsReq[0].OrderingProviderFamilyName;
if physname.Count > 0 then
begin
Parameters.ParamByName('@OrderingLastNameOBR16').Value := physname[0];
if physname.Count > 1 then
begin
Parameters.ParamByName('@OrderingFirstNameOBR16').Value := physname[1];
if physname.Count > 2 then
begin
Parameters.ParamByName('@OrderingMiddleNameOBR16').Value := physname[2];
end;
end;
end;
physname.Free;

关于delphi - delphi中如何检查Tstringlist的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5183754/

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