Einzelnen Beitrag anzeigen

Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#2

Re: CD-Datenbank - Array, aus dem man löschen kann..

  Alt 1. Feb 2004, 22:45
Hallo und herzlich willkommen in der DP!

Zu deinem Problem: Bei einem dynamisches Array muss vor Verwendung die Länge (Anzahl der Eintrgäge) festgelegt werden. Das geht mit

SetLength(Array,50); //50 Einträge möglich Wenn du nun einen Eintrag löschen willst, musst du die Anderen Einträge im Array ja um eins nach oben verschieben. Ich würde deshalb das ganze Array, außer des zu löschenden Eintrags, in ein anderes Array kopieren:

Delphi-Quellcode:
var
Arr1, Arr2: Array of TEintrag;
.
.
.
procedure EintragLoeschen(Eintrag, LaengeArr: Integer);
var i : Integer;
begin
SetLength(Arr2, LaengeArr -1);
  For i := 0 to LaengeArr - 1 do
    begin
      IF i < Eintrag THEN Arr2[i] := Arr1[i]
        ELSE
      IF i > Eintrag THEN Arr2[i] := Arr1[i+1]
    end;

  For i := 0 to Length(Arr2) -1 do
    begin
      SetLength(Arr1,Length(Arr2));
      Arr1[i] := Arr2[i]
    end;
end;
Ich hoffe mal, das das stimmt, was ich geschrieben hab. Bin schon etwas müde, also bitte korrigiert mich, wenn ich Schmarrn geschrieben hab.

Man liest sich, Stanlay
  Mit Zitat antworten Zitat