Danke für die Hilfe. Da war ich doch nicht so weit weg. Trotzdem hatte ich es falsch.
Anhand deiner Umwandlungen habe ich das auch mal mit einer Implode-Funktion versucht. Aber das geht leider in die Hose, da die Umwandlungen hier wohl anders sein sollen.
Meine originale Implode-Funktion
Delphi-Quellcode:
// for i := 0 to Length(Values) - 1 do
// begin
// Res := Res + Values[i];
//
// if (i + 1 < Length(Values)) then
// Res := Res + ADelimiter;
// end;
oder eben
:= string.Join(',', StringArray);
Aber Join gibt es auch nicht für Integer-Arrays.
Mein Ziel: ein Integer-Array als String zurückzuliefern.
Ohne Generics würde ich das sonst so machen
Delphi-Quellcode:
function Implode(const ADelimiter: string; const Values: TArray<string>): string;
var
i: Integer;
begin
// Result := string.Join(ADelimiter, Values);
// oder
Result := '';
for i := 0 to Length(Values) - 1 do
begin
Result := Result + Values[i];
if (i + 1 < Length(Values)) then
Result := Result + ADelimiter;
end;
end;
function Implode(const ADelimiter: string; const Values: TArray<Integer>): string;
var
i: Integer;
StrArray: TArray<string>;
begin
Result := '';
for i := 0 to Length(Values) - 1 do
begin
SetLength(StrArray, Length(StrArray) + 1);
StrArray[i] := IntToStr(Values[i]);
end;
Result := Implode(ADelimiter, StrArray);
end;