ich möchte gerne Arrays miteinander verketten
Code: Alles auswählen
A := Concat([1,2,3],[4,5,6]); //A will become [1,2,3,4,5,6]
Weiters suchen brachte mich auf "rosettacode". Da habe ich folgendes gefunden:
Code: Alles auswählen
type
TReturnArray = array of integer; //you need to define a type to be able to return it
function ConcatArray(a1,a2:array of integer):TReturnArray;
var
i,r:integer;
begin
{ Low(array) is not necessarily 0 }
SetLength(result,High(a1)-Low(a1)+High(a2)-Low(a2)+2); //BAD idea to set a length you won't release, just to show the idea!
r:=0; //index on the result may be different to indexes on the sources
for i := Low(a1) to High(a1) do begin
result[r] := a1[i];
Inc(r);
end;
for i := Low(a2) to High(a2) do begin
result[r] := a2[i];
Inc(r);
end;
end;
Was zu folgender Anschlussfrage führt:
Wie kann man generell Prozeduren und Funktionen bauen die mit einer beliebigen Anzahl von Eingabeparametern zurechtkommen? Bei Scilab nimmt man "varargin". Gibt es sowas für FreePascal auch?
Vielen Dank und viele Grüße
Volker