Einzelnen Beitrag anzeigen

MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#22

AW: Array Inhalt versetzen?

  Alt 10. Mai 2020, 08:48
Zitat von Uwe Raabe:

Ich kann auch mit folgendem Code keinen Fehler feststellen (getestet in 10.3.3):
Delphi-Quellcode:
procedure RotateRight(var A: TArray<String>);
begin
  Insert(A[Length(A)], A, 0);
  Delete(A, High(A), 1);
end;

procedure RotateLeft(var A: TArray<String>);
begin
  Insert(A[0], A, Length(A));
  Delete(A, 0, 1);
end;
Bei mir geht RotateRight nicht. Ich habe diese 10.3 Community Version
Ich bin mit meinem "...Right" zufrieden. Trotzdem Danke
Delphi-Quellcode:
 Procedure TabToRight(Var A:TArray<String>);
 Var S : String;
 Begin
  S := A[Length(A)-1];
  Insert(S, Splitted, 0);
  Delete(A,Length(A)-1,1);
 End;

Zitat von Medium:
Es wäre alles so einfach, wenn der TE bloß eine TList<String> oder grad TStringlist einsetzen würde. Jegliche potenzielle Konvertion zur notwedigen Form ist 100%ig einfacher und performanter als all die Workarounds, die hier so auftauchen. Warum nicht einfach die geeignete Datenstruktur? Das ist doch, was einen guten Programmierer ausmacht: Das richtige Werkzeug für den jeweiligen Einsatzzweck erkennen.
Ich habe es nicht ausprobiert, da ich ja eine Lösung gefunden habe und beim TList<String> erst mal schauen müsste, wo ich sonst im Programmcode was abändern muss. Ich arbeite ja an verschiedenen Stellen mit meinem Array. Wäre wohl jetzt nicht ein großes Problem mit ein paar Codeänderungen aber es geht ja jetzt. Dieses Array hat auch nicht viele Einträge. Evtl. max 20 oder so. Mein "TabToLeft" und "TabToRight" was ich hier gepostet habe, geht nun wie gewünscht.

Auch noch Danke an "himitsu" für seinen Code.

Gruß Micha
  Mit Zitat antworten Zitat