gpt4 book ai didi

delphi - 更新 TStringList 名称/值对中的名称值

转载 作者:行者123 更新时间:2023-12-03 15:07:40 33 4
gpt4 key购买 nike

是否可以更新特定 TStringList 名称/值对的名称字符串?

List.Names[I]:= name;

我知道 Names 是只读属性,我想知道是否还有另一种我不知道的方法?

或者我是否必须对整个字符串进行整体更新

List[I]:= name=value

问题是我在名称/值对的值部分中存储了大量字符串值

示例

name=value1,value2,value3,value4,value5,value6,value7,value8,value9,value10

我宁愿只更新名称部分9因为这就是我需要做的)

谢谢

最佳答案

您需要读取表示名称/值对的项目的索引。通过调用IndexOfName()来做到这一点。然后你修改该项目。所以代码看起来有点像这样:

Index := List.IndexOfName(OldName);
if Index=-1 then
// handle error
List[Index] := NewName + List.NameValueSeparator + List.ValueFromIndex[Index];
<小时/>

由于您使用的是支持泛型的 Delphi,因此使用 TDictionary<string, string> 可能会更好。 .

即便如此,更改项目的名称也不是小事。转换为字典后,代码如下所示:

Item := Dict.ExtractPair(OldName);
Dict.Add(NewName, Item.Value);

关于delphi - 更新 TStringList 名称/值对中的名称值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15659927/

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