gpt4 book ai didi

delphi - TStringList ValueFromIndex 在 PascalScript 中不起作用

转载 作者:行者123 更新时间:2023-12-03 19:03:58 28 4
gpt4 key购买 nike

我试图在 PascalScript 函数中使用 TStrings.ValueFromIndex(在 FreePascal 和 Delphi 中工作),但它不起作用,编译器返回:

                                        Unknown identifier 'GETVALUEFROMINDEX'

我用得很好吗?
这个功能在 PascalScript 中可用吗?
如果没有,有什么简单的方法吗?

代码:

Function dummy(R: TStringList):String;
var
i: Integer;
RESULTv: string;
begin
for i := 0 to ReqList.Count-1 do
RESULTv := RESULTv + R.Names[i]+' -> '+ R.ValueFromIndex[i];
dummy := RESULTv;
end;

最佳答案

PascalScript 与 Delphi/FreePascal 不同。如果您查看 source code对于 PascalScript(特别是在 uPSC_classes.pas 中),您会看到 PascalScript 仅包装了原生的 Delphi/FreePascal TStringList,但并未公开 Delphi/FreePascal 在其中实际实现的所有内容TStringList。例如,没有为 ValueFromIndex 属性公开包装器。

更新:

由于 PascalScript 不公开 ValueFromIndex 属性,您可以编写自己的代码来手动解析 String 以删除其名称部分(如果您不修补 PascalScript 本身以添加丢失的属性注册), 例如:

Function GetValueFromIndex(R: TStringList; Index: Integer):String;
var
S: string;
i: Integer;
begin
S := R.Strings[Index];
i := Pos('=', S);
if I > 0 then
ValueFromIndex := Copy(S, i+1, MaxInt)
else
ValueFromIndex := '';
end;

Function dummy(R: TStringList):String;
var
i: Integer;
RESULTv: string;
begin
for i := 0 to ReqList.Count-1 do
RESULTv := RESULTv + R.Names[i] + ' -> ' + GetValueFromIndex(R, i);
dummy := RESULTv;
end;

关于delphi - TStringList ValueFromIndex 在 PascalScript 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20860080/

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