Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - frag ueber array
buSC - Do 14.01.10 11:51
Titel: frag ueber array
hallo
ich will eine Array einrichten,wobei zuerst ich nicht weiss, wie viele Elemente drin speichern muessen,sondern in einer Schleife werden elemnte nach erfuellen einer bedingung als element des array ausgewaehlt.
kann ich so machen.
-setlength(arr,ein maximum geschaetzter Anzahl der elemnte)
- hier kommt :for i:= {... ;if bedingung then arr[i]:=...; }
-nach der for-schleife ist der anzahl bestimmt geworden(zb: k gueltige elements in arr)
-jetzt darf ich so schreiben ???
setlength(arr,k)
weil jetz nur die k erste Elemente des Arrays gueltig sind. und so will ich die unnotige laenge des Array frei wird.
danke im voraus
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
JoelH - Do 14.01.10 12:12
Grundsätzlich ja. Allerdings würd ich nicht Arr[i] := ... machen, denn dann hast du immer i elemente ;) das sollte arr[k] sein, wenn k der Zähler der gültigen Elemente ist.
Des weiteren solltest du gelegentlich überprüfen ob mittlerweile das Maximum schonmal erreicht wurde, denn sonst kommts eventuell zum Überlauf.
buSC - Do 14.01.10 12:29
ja danke fuer die Antwort.
dann wenn ich arr zuerst mit laenge 1000 definiere(setlength(arr,1000))
und letzendlich nur 10 erste Elemente dieses Array gueltig sind,
dann kann ich wieder schreiben setlength(arr,10)
und werden die erste 10 Elemente des Array weiter an ihrer Stelle bleiben und nicht geloescht , ist es richtig ???
Danke im Voraus :)
Bergmann89 - Do 14.01.10 13:15
Hey,
ja die Daten bleiben im Array. Es werden nur die gelöscht, die größer als die neue Größe sind.
MfG Bergmann.
buSC - Do 14.01.10 13:24
vielen vielen Dank fuer die Antwort.
:)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!