delphi - 从 StringList 中的值获取 id
问题描述
我有一个 2 行的 StringList
aOldPriceTerms[0] = 'FuelAddition=336643160'
aOldPriceTerms[1] = 'Freight=336643155'
所以它很好用
aOldPriceTerms.Values['Freight'] -> '336643155'
我想从列表中获得一个 ID 列表。
如此简单
'FuelAddition','Freight'
目前我使用此代码,其中 aOldPriceTerms 是实际的 StringList。
function GetList(aOldPriceTerms: TStringList): String;
var
vOldTerm : string;
vOldTermsList : TStringList;
begin
vOldTermsList := TStringList.Create;
try
for i := aOldPriceTerms.Count - 1 downto 0 do
begin
vOldTerm := Copy(aOldPriceTerms[i], 1, (Pos('=', aOldPriceTerms[i])-1));
vOldTermsList.Add(vOldTerm);
end;
Result := vOldTermsList.CommaText;
finally
FreeAndNil(vOldTermsList);
end;
end;
我的问题是有更清洁的方法来获取 ids 吗?
解决方案
示例来自Delphi Basics,但TStringList.Names
也在Delphi 文档中进行了描述
// Now display all name and age pair values
for i := 0 to names.Count-1 do
begin
ShowMessage(names.Names[i]+' is '+names.ValueFromIndex[i]);
end;
推荐阅读
- python - 拆分整体文件 Django
- python - python - 如何使用python将带有功能的图标添加到MDToolBbar?
- c# - 日期时间比较逻辑
- phpmyadmin - 如何在 RDP 上创建数据库?(phpmyadmin)
- ubuntu - 获取 TPM 所有权时出错“TCTI 无效,请参阅 --help”
- swiftui - swiftUI中标签栏的圆角?
- flutter - Flutter/Dart HMAC-SHA1编码,然后请求带有header的web api
- apache-spark - 加速访问数据湖的 UDF
- r - 如何根据其他向量的单调性(增加/减少)对向量的值求和
- sql - sql - sum() 函数没有按我的预期工作