Thema: Delphi Frage bezüglich arrays

Einzelnen Beitrag anzeigen

MSCH

Registriert seit: 8. Mai 2003
Ort: Berlin
42 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Frage bezüglich arrays

  Alt 31. Jul 2003, 20:50
Lass es mich so erklären:
erstens ist das ein dynamisches Array welches nichts weiter ist, als eine Kette von zeigern; in deinem Falle auf Records des typs x.

Wer das Delphi Buch geschrieben hat, war blutiger Anfänger . Seit wann benutzt man globale Variablen für die Index und Größenermittlung von Arrays ? Dazu gibts die Funktion High(). Sei's drum.
Die Funktion DSNEU macht nichs weiter, als
Code:
  Inc(pm);
  Setlength(personen,pm);
erhöht die globale Variable pm um 1 und anschließend auch das Array.
geht einfacher mit:
Code:
SetLength(personen, high(personen)+1);
Code:
  for i:=pm downto index+2 do Personen[i-1]:=Personen[i-2];
hier verschiebt er das gesamte Array vom Ende zum Anfang
was die var index für einen einfluß hab mag ich nicht deuten, das Oracle ist im Urlaub .
Wenn index = 0 dann krachts zumindest, weil Index out of Range

Wenn ich mir die nächste Funktion anschaue, soll index wohl die aktuelle Position sein. grübel; dann ist der Sinn der Schleife darin,
**keine Ahnung***, weil weiterhin Grütze. Nehmen wir an Index ist 0 und die Arraygröße ist 1 , dann heist die Schleife:
for 0:=1 downto 2 , oje oje.

Code:
var i:word;
for i:=index to pm-1 do personen[i-1]:=personen[i];
dec(pm);
setlength(personen,pm)   //dimension verkürzen
end;
hier löscht er einen Eintrag indem er alles ab dem Eintrag um eins nach vorn schiebt und den Letzen löscht, sprich das Array wieder verkleinert.

grez
msch
  Mit Zitat antworten Zitat