Adm*_*ulo 1 delphi freepascal pascalscript
我正在尝试在PascalScript函数中使用TStrings.ValueFromIndex(在FreePascal和Delphi中工作),但它不起作用,编译器返回:
未知标识符'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;
Run Code Online (Sandbox Code Playgroud)
PascalScript与Delphi/FreePascal不同.如果你看一下PascalScript 的源代码(特别是在uPSC_classes.pas),你会发现PascalScript只是包装了一个原生的Delphi/FreePascal TStringList,但是没有公开Delphi/FreePascal实际实现的所有内容TStringList.例如,没有为该ValueFromIndex属性公开包装器.
更新:
由于PascalScript不公开ValueFromIndex属性,因此您可以编写自己的代码来手动解析String以删除其Name部分(如果您不修补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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1226 次 |
| 最近记录: |