我尝试拆分csv字符串,然后循环遍历数组并更改这些字符串,然后再将其重新构建为逗号分隔字符串。
function StrSplit(Text: String; Separator: String): Array of String;
var
i, p: Integer;
Dest: Array of String;
begin
i := 0;
repeat
SetArrayLength(Dest, i+1);
p := Pos(Separator,Text);
if p > 0 then begin
Dest[i] := Copy(Text, 1, p-1);
Text := Copy(Text, p + Length(Separator), Length(Text));
i := i + 1;
end else begin
Dest[i] := Text;
Text := '';
end;
until Length(Text)=0;
Result := Dest
end;
function FormatHttpServer(Param: String): String;
var
build: string;
s: string;
ARRAY1: Array of String;
begin
ARRAY1 := StrSplit(param, ',');
build:='';
for s in ARRAY1 do
begin
build := build + DoSomething(C);
end;
end;
我从其他地方拨打FormatHttpServer
。我无法编译脚本,因为在接下来的行中我得到了一个"类型不匹配错误"而且我不明白为什么。它应该使用字符串s循环遍历字符串数组。
for s in ARRAY1 do
答案 0 :(得分:2)
Inno Setup Pascal Script不支持for ... in
语法。
您必须使用索引:
var
I: Integer;
A: array of string;
S: string;
begin
A := { ... };
for I := 0 to GetArrayLength(A) - 1 do
begin
S := A[I];
{ Do something with S }
end;
end;