Einzelnen Beitrag anzeigen

Gargamel

Registriert seit: 19. Mär 2007
171 Beiträge
 
#1

dyn. Array verkürzen

  Alt 15. Dez 2012, 14:33
Hi

Wenn ich einem dyn. Array eine Länge zuweise, die Elemente mit Werten fülle und danach das Array mit setLength(...) verkürze, sind die obersten Elemente trotzdem verfügbar. Das verstehe ich nicht. Kann mir das jemand erklären?

Danke.

Hier in dem Codebeispiel ist es ein Array aus 5 Elementen, welches dann auf 3 gekürzt wird.

Delphi-Quellcode:
var liste:array of integer;
    i:integer;
begin
  setLength(liste, 5);

  liste[0]:=0;
  liste[1]:=1;
  liste[2]:=2;
  liste[3]:=3;
  liste[4]:=4;

  for i:=0 to 4 do
    ListBox1.Items.Add(IntToStr(liste[i]));
  Listbox1.Items.Add('Schleifenende');

  setLength(liste, 3);
  for i:=0 to 4 do
    ListBox1.Items.Add(IntToStr(liste[i]));
  Listbox1.Items.Add('Schleifenende');
end;
  Mit Zitat antworten Zitat