我有2行的StringList

aOldPriceTerms[0] = 'FuelAddition=336643160'
aOldPriceTerms[1] = 'Freight=336643155'


所以使用起来很好

aOldPriceTerms.Values ['运费']->'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;


我的问题是有一种更干净的方法来获取ID吗?

最佳答案

示例来自Delphi Basics,但是TStringList.NamesDelphi documentation中也有描述

  // 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;

关于delphi - 从StringList中的值获取ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50481299/

10-10 14:41