Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#17

Re: Dynam. Array Speichern,bzw. Laden

  Alt 11. Mär 2006, 06:47
Hallo Thomas,

hier ein paar Verbesserungsvorschläge zu deiner Prozedur:
  • Was passiert, wenn beim Aufruf ein unsinniger Wert als index übergeben wird?
  • Da die Prozeduren zur Manipulation von Arrays keinen Bezug zur VCL haben, würde ich sie auch nicht als Methoden der Form deklarieren.
  • Die Zahl der zu löschenden Einträge würde ich zum Parameter machen.

Delphi-Quellcode:
// uses Types

procedure ArrayDelete(var bda: TByteDynArray; const index: Cardinal; size: Cardinal = 1);
var
  iTail: Integer;
begin
  if (size = 0) or (index >= Length(bda)) then
    Exit;
  if size > (Length(bda) - index) then
    size := Length(bda) - index;
  iTail := index + size;
  if (iTail < Length(bda)) then
    Move(bda[iTail], bda[index], Length(bda) - iTail);
  SetLength(bda, Length(bda) - size);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat