// 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;

 


 

Zugriffe seit 6.9.2001 auf Delphi-Ecke