Registriert seit: 6. Apr 2005
10.109 Beiträge
|
Re: Dynam. Array Speichern,bzw. Laden
11. Mär 2006, 07: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
|
|
Zitat
|