Einzelnen Beitrag anzeigen

DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

AW: Generische string.Split Funktion

  Alt 27. Sep 2018, 13:53
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;

Geändert von DieDolly (27. Sep 2018 um 14:08 Uhr)
  Mit Zitat antworten Zitat