Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ersten Teil eines Array (of string) löschen? (https://www.delphipraxis.net/23847-ersten-teil-eines-array-string-loeschen.html)

Nicolai1234 10. Jun 2004 18:27


Ersten Teil eines Array (of string) löschen?
 
Kann ich bei einem Array of string, den ersten Array also MeinArray[1] löschen, sodass die andern nachrücken?
Also
2 --> 1
3 --> 2 usw.

Hoffe ihr versteht was ich meine
Danke im voraus
Nicolai

Nicodius 10. Jun 2004 18:29

Re: Ersten Teil eines Array (of string) löschen?
 
ich denke so gehts


Delphi-Quellcode:
delete(Arrayname[1],1,Length(arrayname([1]))
edit: aber denke doch nciht


edit2

aber so gehts logisch: du baust ne schleife von 0 bis length(Arrayname) -- ob -1 weß ich ejtzt net

dann verschiebst alle so: Arrayname[i-1] := Arrayname[i];

Nicolai1234 10. Jun 2004 21:06

Re: Ersten Teil eines Array (of string) löschen?
 
Gibt es keine einfachere bzw elegantere Lösung?

Nicodius 10. Jun 2004 21:23

Re: Ersten Teil eines Array (of string) löschen?
 
Bei delphisource gefunden


Zitat:

Soll ein Array-Element gelöscht werden, ohne dass an dieser Stelle eine Lücke verbleibt, müssen alle folgenden Elemente um eins nach vorne kopiert werden. Bei einem dnyamischen Array kann dann das letzte Element abgeschnitten werden; ansonsten wird sein Wert in einen Standardzustand versetzt.
Delphi-Quellcode:
type TIntArray: array of integer;

function DeleteArrayElement(var arr: TIntArray; const index: integer);
var i: integer;
begin
  if index<high(arr) then begin
    for i:=index to high(arr)-1 do
      // eins nach vorne kopieren
      arr[i]:=arr[i+1];
  end;
  // Länge kürzen (bei dyn. Arrays)
  SetLength(arr, length(arr)-1);
end;

viel spass ;)

Nicodius 15. Jun 2004 15:29

Re: Ersten Teil eines Array (of string) löschen?
 
eine function ohne rückgabe gibts nicht :mrgreen:

roderich 15. Jun 2004 16:02

Re: Ersten Teil eines Array (of string) löschen?
 
für sowas drängt sich eine TStringList geradezu auf....

Roderich


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz