Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi problem mit dynamischem array (https://www.delphipraxis.net/140250-problem-mit-dynamischem-array.html)

DeddyH 14. Sep 2009 18:09

Re: problem mit dynamischem array
 
Mal ganz langsam zum Mitschreiben:
Delphi-Quellcode:
SetLength(Array, 10);
//-> Length = 10, High = 9 (da von 0 bis 9)
SetLength(Array, High(Array)); //entspricht SetLength(Array, 9), siehe oben
//-> Length = 9, High = 8 (da von 0 bis 8)
Jetzt klarer?

gangs-taas 14. Sep 2009 18:40

Re: problem mit dynamischem array
 
ja
danke :D

Deep-Sea 15. Sep 2009 08:02

Re: problem mit dynamischem array
 
Zitat:

Zitat von DeddyH
Anderer Vorschlag (nur um den Unterschied mal zu zeigen):
Delphi-Quellcode:
SetLength(Haeufigkeitsarray, High(Haeufigkeitsarray));

Das klappt aber auch nur bei dyn. Arrays ... bei ShortStrings endet das eher negativ :wink:

DeddyH 15. Sep 2009 08:03

Re: problem mit dynamischem array
 
Ja nun, um dynamische Arrays geht es ja die ganze Zeit ;)

himitsu 15. Sep 2009 09:10

Re: problem mit dynamischem array
 
Jupp, ShortString ist auch ein statisches Array, mit dynamischer Inhaltsverwaltung. :angel2:

Deep-Sea 15. Sep 2009 10:22

Re: problem mit dynamischem array
 
Zitat:

Zitat von DeddyH
Ja nun, um dynamische Arrays geht es ja die ganze Zeit ;)

Zitat:

Zitat von himitsu
Jupp, ShortString ist auch ein statisches Array, mit dynamischer Inhaltsverwaltung. :angel2:

Ya Jungs, das weiß ich doch :lol:
Ich wollte halt nur nicht, dass ein Anfänger denkt "Oho, wenn ich SetLength mit High nutze, verkürze ich immer um eins", obwohl das nur auf Lenght(...) - 1 zutrifft ...
(Ich bin halt unverbesserlich ...)

himitsu 15. Sep 2009 10:34

Re: problem mit dynamischem array
 
Im Prinzip stimmt dieses auch, nur daß beim Sonderfall ShortString
auf andere Funktionen umgeleitet wird, bzw. es bei High als Konstante angelegt und bei Length direkt das LängenByte ausgelesen wird.

- High enthält (in diesem Fall) die maximale Größe der speicherbaren Daten,
welches alerdings einem "normalem" High entspricht, da dieses der Index des letzen Arrays im internen statischen Array entspricht
- Length enthält (in diesem Fall) den Wert des nicht automatisch initialisierten LängenBytes

gangs-taas 15. Sep 2009 14:09

Re: problem mit dynamischem array
 
okay
ich kann euch nicht mehr folgen :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr.
Seite 3 von 3     123   

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