AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

array verändern

Offene Frage von "AlexanderBrade"
Ein Thema von AlexanderBrade · begonnen am 23. Dez 2008 · letzter Beitrag vom 24. Dez 2008
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#1

array verändern

  Alt 23. Dez 2008, 19:27
Wie kann ich aus meinem Array B[1..24] in Abhängigkeit verschiedener Bedingungen bestimmte Elemente z.B. B[2] und B[4] entfernen, sodass sie beim Nachfolgenden Sortieren in der sortierten Liste nicht mehr auftauchen?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

Re: array verändern

  Alt 23. Dez 2008, 19:32
Bei statischen Arrays kannst Du keine Elemente entfernen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#3

Re: array verändern

  Alt 23. Dez 2008, 19:33
Dann gibt es sicherlich so etwas wie dynamische...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: array verändern

  Alt 23. Dez 2008, 19:34
Ich würde sowieso einen dynamischen verwenden, denn die Größe könnte sich schnell ändern
[Edit:
Zitat:
Dann gibt es sicherlich so etwas wie dynamische...
Ja wenn du die Grenzen weglässt ( siehe auch Paramter anderer Thread)
}
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#5

Re: array verändern

  Alt 23. Dez 2008, 19:34
Jepp, die gibt es.
Delphi-Quellcode:
var
    arr1: array[1..8] of integer; //statisches Array
    arr2: array of integer; //dynamisches Array, Größe muss über SetLength festgelegt werden
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#6

Re: array verändern

  Alt 23. Dez 2008, 19:46
Wie setze ich den SetLength fest?
Wie greife ich dann auf solche Feldvariablen zu: auch z.B. B[20], wenn das mit der festgelegten Länge korrespondiert?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#7

Re: array verändern

  Alt 23. Dez 2008, 19:48
SetLength -> F1, Zugriff erfolgt wie bei einem statischen Array über Array[Index].
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#8

Re: array verändern

  Alt 23. Dez 2008, 19:54
Die Hilfe spuckt doch nur "Müll" aus, fast unabhängig davon was ich suche bzw. eingebe(Natürlich sthet das im Zusammenhang mit meinem beschränkten Wissen zu Delphi)!
Vielleciht kann mir jemand mal aufzeigen wie diese Length festgesetzt wird und vor allem wo!
Im übrigen wie lösche ich nun eigentlich ein "Objekt" aus dem array of integer, z.B. B[12]?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: array verändern

  Alt 23. Dez 2008, 19:57
Z.B. mit dem letzen Element Tauschen und dann den Array um eins verkleinern
Markus Kinzler
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#10

Re: array verändern

  Alt 23. Dez 2008, 20:02
Also ich finde die Hilfe extrem hilfreich (wie sinnig).

Suche einfach in der Hilfe nach der Routine "SetLength" und damit bekommst du eine genaue Beschreibung, wie diese funktioniert. Im Prinzip ist allerdings schon der Name selbstredend, oder kannst du kein Englisch?

Wo du die Länge festlegst und wie oft du diese änderst ist deine Sache, das musst du schon selbst entscheiden. Hier kennt ja schließlich niemand deinen Code.

Einfach Löschen ist nicht drin. Löschen besteht z.B. aus folgenden Schritten:

1. Die Elemente NACH dem zu löschenden Element um eine Position nach vorne verschieben (ja, damit überschreibst du das Element, das du löschen willst)
2. Das Array mit Hilfe von SetLength um ein Element verkürzen.

Nur zur Vollständigkeit: Objekte sind was anderes. Ein Array of Integer enthält einfach Elemente vom Typ Integer und keine Objekte.

Edit:

Wie es mkinzler geschrieben hat geht es natürlich auch. Wenn du sowieso danach sortierst, dann ist die Reihenfolge ja wurscht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 09:48 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