这就是我想做的事情。我有一个TStringList,里面有一个名字。如果名字的格式是DOE,JOHN,NMI,我想把名字拆分成3个不同的字符串。
但问题是,如果没有中间名或名字,该怎么办?比如可能只有DOE,那么最后两行就超出范围了。程序会崩溃。最好的解决方案是什么呢?
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