![]() |
Delphi-Version: 5
TIntegerDynArray - Länge bestimmen
Da die Embarcadero-Doku zu diesem Arraytyp mal wieder unglaublich hilfreich ist: wie lässt sich die Länge eines IntgerDynArrays herausfinden?
Wenn wir schon bei dem Thema sind, würde etwas wie das folgende überhaupt funktionieren?
Delphi-Quellcode:
Dh. was wirklich ins Array reinkommt, kann erst zur Laufzeit bestimmt werden. Man darf weiterhin annehmen, dass ich auch Gründen hier keine TList verwenden möchte.
while something do
begin if somethingelse then begin i := myIntDynArray.Length; //oder wie auch immer man an die Länge kommt myIntDynArray.SetLength(i+1); myIntDynArray[i] := value; end; [...] end; |
AW: TIntegerDynArray - Länge bestimmen
Hallo,
hm, der Code ist doch OK oder? Es ist also ein normales dynamisches Array, was in der Tat erst zur Laufzeit befüllt werden kann. Aus der Doku
Delphi-Quellcode:
type TIntegerDynArray = array of Integer;
|
AW: TIntegerDynArray - Länge bestimmen
Tja, Delphi unterkringelt das myArray.Length eben mit der Meldung "TIntegerDynArray enthält kein Element namens Length" :(
Edit: ah, habe meinen Fehler gefunden: Es muss Length(Array) und SetLength(Array,length) heißen :) |
AW: TIntegerDynArray - Länge bestimmen
|
AW: TIntegerDynArray - Länge bestimmen
In den "neueren" DelphiVerionen könnte es Methoden ala x.Length geben.
Seitdem es Record-Helper auch für einfache Typen gibt. So haben z.B. die Typen Integer und String jetzt auch paar nette Methoden dran. ![]() PS: Wenn man nicht unbedingt auf eine Funktion angewiesen ist, welche einen TXyzDynArray zurück gibt, dann sollte man besser TArray<TXyz> verwenden. ![]() |
AW: TIntegerDynArray - Länge bestimmen
|
AW: TIntegerDynArray - Länge bestimmen
|
AW: TIntegerDynArray - Länge bestimmen
Genau das Beides hatte mich auch schon genervt.
Wobei ich es auch nicht verstehe, warum der Typ
Delphi-Quellcode:
nicht kompatibel mit
array of T
Delphi-Quellcode:
ist. :wall:
TArray<T>
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 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