从StringList中的值获取id

Rol*_*son 2 delphi

我有一个2行的StringList

aOldPriceTerms[0] = 'FuelAddition=336643160'
aOldPriceTerms[1] = 'Freight=336643155'
Run Code Online (Sandbox Code Playgroud)

所以它可以正常使用

aOldPriceTerms.Values ['Freight'] - >'336643155'

我想从列表中获得ID列表.

这么简单

'FuelAddition','Freight'
Run Code Online (Sandbox Code Playgroud)

目前我使用此代码,其中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;
Run Code Online (Sandbox Code Playgroud)

我的问题是有一个更清洁的方式来获取ID?

Jac*_*zyk 7

示例来自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;
Run Code Online (Sandbox Code Playgroud)

  • 最好是链接到文档而不是delphibasics.http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Classes.TStrings.Names (2认同)