Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Arraylänge ermitteln (https://www.delphipraxis.net/5493-arraylaenge-ermitteln.html)

S - tefano 8. Jun 2003 22:58


Arraylänge ermitteln
 
Hi,

hoffe erstmal, dass es wirklich nach Sonstiges gehört.
War mir nich ganz sicher ob vielleicht doch nach Delphi- Language.
Aber naja, zu meinem Problem.
Ich habe einen dynamischen Array, dessen Länge ich verändere. Geht ja ganz normal mit Setlength.
Jetz will ich aber gerne (und möglichst ohne meine Setlength- Veränderungen global festzuhalten) an gewissen Stellen die Länge des Arrays rausfinden.
In so Sprachen wie Java gibts ja einfach die Eingenschaft length eines jeden Arrays, hier aber nich.
Und GetLength scheints auch nicht zu geben...
Muss ich also doch in einer globalen Variable immer mitschreiben, was ich gerade mit Setlength mache?
Oder gehts doch irgendwie?

Bis dann,

S - tefano

Mirilin 8. Jun 2003 23:43

Zitat:

Die Funktion Length gibt die Anzahl der Zeichen eines Strings oder der Elemente eines Array zurück.
Delphi-Quellcode:
length(arr);

S - tefano 9. Jun 2003 00:19

:wall:
Sorry, war wohl etwas spät...

Christian Seehase 9. Jun 2003 00:23

Moin Stefano,

wenn Du ein dynamisches Array verwendest weisst Du ja von vorn herein nicht, wie gross das Array werden muss. Sollte sich die Grösse ständig ändern müssen, wäre es dennoch sinnvoller das Array lieber erst einmal zu gross zu deklarieren, und nur im Notfall die Grösse zu verändern, und einen Index auf den letzten benutzten/ersten freien Eintrag selber mitzuführen.
Würdest Du jedes Mal, wenn ein Eintrag hinzugefügt wird die Grösse um eins verlängern, müsste i.d.R. jedesmal das Array auf einen neuen Platz umkopiert werden (intern), damit noch ein Feld dahinterpasst.

Dezipaitor 10. Jun 2003 21:49

high und low geben die oberen und unteren grenzen eines arrays an,
length gibt damit die länge des arrays an.
deshalb muss man bei dyn arrays auch immer length -1 verwenden,
was bei high entfällt


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 Uhr.

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