// Es wird ein
dynamisches Array mit Nullen gefüllt.
// (bei
Variante 4 kann es auch ein anderer Wert sein)
// Getestet mit RS 10.4 unter Win11
type
Tp = integer; // oder Boolean, oder Cardinal oder ... oder
ao = array of Tp;
procedure LschDyn(arr: ao); // erste Möglichkeit
begin
if Length(arr) = 0 then
exit;
ZeroMemory(@arr[0], Length(arr) * SizeOf(arr[0]));
end;
procedure LschDyn2(arr: ao); // zweite Möglichkeit
begin
if Length(arr) = 0 then
exit;
fillchar(arr[0], Length(arr) * SizeOf(arr[0]), 0);
end;
procedure LschDyn3(arr: ao); // dritte Möglichkeit
var
i: Int64;
begin
i := Length(arr);
setLength(arr, 0);
setLength(arr, i);
end;
procedure LschDyn4(arr: ao; V: Tp); // vierte Möglichkeit
var
i: integer;
begin
for i := 0 to High(arr) do
arr[i] := V;
end;
// Beispielaufruf
procedure TForm1.Button8Click(Sender: TObject);
var
tst: ao;
// value: Tp;
begin
tst := ao.Create(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // z.B.
// mach was ...
// und dann:
LschDyn(tst); // erste Möglichkeit
// zweite Möglichkeit:
// LschDyn2(tst);
// dritte Möglichkeit
// LschDyn3(tst);
// vierte Möglichkeit:
{ value := 0; // oder anderer Wert
LschDyn4(tst, value); }
end;
|