Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Array Einträge richtig löschen
mexx - Mi 28.03.07 16:48
Titel: Array Einträge richtig löschen
Ich möchte die Einträge eines Array of String löschen/entfernen. Dafür kann ich eine For-Schleife verwenden, die die Inhalte auf '' setzt. Aber es gibt vielleicht noch eine elegantere Lösung als diese?
Hobby-Programmierer - Mi 28.03.07 22:04
Nabend ...,
warum willst du überhaupt die Einträge löschen?
Wenns unbedingt sein muss, dann etwa so - hängt natürlich von der Array-Größe ab:
Du könntest dir über einen Index die gelöschten, ähmähm Items?, merken und bei Bedarf mit neuen Einträgen überschreiben;
oder aber
bei einem dyn. Array die Länge neu setzen, nachdem du jeweils mit deinen Einträgen 'nachgerückt' bist.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| var i: Integer; begin if index < High(MyArray) then for i:= index to High(MyArray) -1 do MyArray[i]:= MyArray[i+1]; SetLength(MyArray, Length(MyArray)-1); end; |
LG Mario
mexx - Do 29.03.07 07:50
Das löschen der Einträge muss einfach sein. Deinen Vorschlag hätte ich auch so machen wollen. Ich dachte es gibt einen Befehl, der alle Einträge löscht.
ene - Do 29.03.07 07:55
Moin,
wenn es ein eindimensionales Array ist, versuchs mal mit MyArr:= Nil;
IngoD7 - Do 29.03.07 08:38
ene hat folgendes geschrieben: |
wenn es ein eindimensionales Array ist, versuchs mal mit MyArr:= Nil; |
:?
Mit statischen Arrays geht das gar nicht.
Mit dynamischen Arrays ist, wenn MyArr die letzte Referenz auf das Array war, der ganze Speicher freigegeben, das Array danach also gar nicht mehr greifbar. Und wenn MyArr nicht die letzte Referenz war, dann bewirkt das - bezogen auf die Elementinhalte - gar nichts.
mexx - Do 29.03.07 08:39
Ich habs jetzt mit der For-Schleife gelöst.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!