AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Element aus mehrdimensionalem array entfernen
Thema durchsuchen
Ansicht
Themen-Optionen

Element aus mehrdimensionalem array entfernen

Ein Thema von Meflin · begonnen am 4. Okt 2004 · letzter Beitrag vom 4. Okt 2004
Antwort Antwort
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

Element aus mehrdimensionalem array entfernen

  Alt 4. Okt 2004, 18:36
Hi,
ich habe ein mehrdimensioanles array und möchte daraus eine "zeile" entfernen. gibt es dazu eine einfache lösungsmöglichkeit wie items.delete o.ä? wenn nein, wie macht man das am einfachsten?

*MFG*
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Element aus mehrdimensionalem array entfernen

  Alt 4. Okt 2004, 18:38
Überschreibe diese Zeile doch einfach und lösch dann die letzte also:
Delphi-Quellcode:
For i:= ZULöschendeZeile to length(array) do
array[i]:=array[i+1];

setlength(array, length(array-1);
Müsstest du natürlich für mehrere Dimensionen anpassen, die Idee müsste aber klappen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Element aus mehrdimensionalem array entfernen

  Alt 4. Okt 2004, 18:39
hi meflin,

wenn dein array ein array of string ist, dann:

arrayname[2, 3] := ''; wenn es sich um ein array of pointer handelt:

arrayname[2, 3] := nil; und so weiter

edit: toxman's lösung für dynamische, meine für statische arrays

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: Element aus mehrdimensionalem array entfernen

  Alt 4. Okt 2004, 18:40
ok wenns nix einfacheres gibt...
dummerweise weis ich noch netmal wie viele dimensionen mein array hat. dann wirds halt unübersichtlich
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Element aus mehrdimensionalem array entfernen

  Alt 4. Okt 2004, 18:41
Du kannst kein Feld aus einem Array löschen, jedenfalls nicht so einfach. Es gibt zwei Möglichkeiten, entweder du kopierts alle Einträge um ein Feld nach vorne und überschreibst so den zu löschenden Eintrag und dann verkürztz du das Array um eins. Oder, so mache ich es immer, du kopierst einfach den letzten Eintrag auf den zu löschenden Eintrag und verkürzt es dann um eins. Geht aber nur, wenn die nicht unbedingt Sortierung erhaltenbleiben soll oder du sortierst es jedes mal wieder.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#6

Re: Element aus mehrdimensionalem array entfernen

  Alt 4. Okt 2004, 18:43
ok dann wohl ersteres, da der index die sortierung ist und somit mit der zweiten methode die alte ordnung nicht mehr hergestellt werden könnte. thx jedenfalls!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:22 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