![]() |
Array: Maximale Anzahl nicht festlegen
Seit mir bitte nicht böse, dass ich das frage. Als ich aray in der Suche eingegeben habe, kamen mir direkt 40 Seiten Suchergebnisse entgegen. Die erste Seite habe ich noch durchsucht, aber 40...
Ich habe jedenfalls einen Record:
Delphi-Quellcode:
Und möchte einen Array davon. Da ich den Array aus einer Textdatei einlesen möchte ergibt sich das Problem, dass diese Deklaration:
TArbeit =record
datum :String; von :integer; nach :integer; zeit :integer; end; Arbeit :array[0..100] of TArbeit; unzireichend ist, weil ich nicht weiß, wieviele Einträge die Textdatei hat. Dazu kommt noch, dass ich die Array verändere und welche lösche und hinzufüge. Daher meine Frage: Kann man Arrays quasi "dynamisch" erzeugen?? |
Re: Array: Maximale Anzahl nicht festlegen
|
Re: Array: Maximale Anzahl nicht festlegen
Hi!
Ja, das geht! Und den Namen hast Du auch schon richtig erraten: "dynamische Arrays". Die Deklaration sieht so aus:
Delphi-Quellcode:
Und die Größe legst Du so fest:
var
myArr : Array of Integer;
Delphi-Quellcode:
Damit hat das Array dann Elemente von 0 bis 9.
SetLength(myArray, 10);
ABER: Rufe SetLength so wenig wie möglich auf! Es kann unter Umständen viel Speicher fressen und das Schnellste ist es auch nicht. Ich habe ![]() MfG Peter |
Re: Array: Maximale Anzahl nicht festlegen
Nimm lieber TList anstelle von Arrays, das ist wesentlich schneller
|
Re: Array: Maximale Anzahl nicht festlegen
kann SirThornberry nur zustimmen...
lade ein Datenpaar aus der Datei in eine Variable vom Typ TARbeit und hänge diese Variable dann der Liste mit myList.Add(variable) an. dann springst du weiter zum nächsten Paar usw... --> ne simple Schleife :wink: ist sauberer als mit dynamischen arrays zu arbeiten! |
Re: Array: Maximale Anzahl nicht festlegen
mhh. TList? Never heard... Such nach TList konnte mein wissen nicht erweitern. Kann mir das jemand kurz erklären?
|
Re: Array: Maximale Anzahl nicht festlegen
|
Re: Array: Maximale Anzahl nicht festlegen
wie der name schon ausdrückt: eine liste..
genauer: eine Liste von objekten bzw Pointern |
Re: Array: Maximale Anzahl nicht festlegen
Oh gott... Ich verstehe mal wieder nur airport...
Also auf der Suche danach herauszufinden, wo der Unterschied zwischen ner Variable mit Pointer (fängt schon damit an, dass ich nicht wirklich ganz genau weiß, was ein Pointer ist) herauszufinden, bin ich auf ![]() Nun habe ich verstanden, dass eine Variable ohne pointer weniger Platz im RAM braucht. Außerdem ist die "Bedienung" mit Pointern viel komplizierter, denn man muss immer mit new(Variable); erst irgendwas machen. Da erscheint mir die Variable ohne Pointer so spontan besser... Was mache ich denn jetzt :?: :cry: :? |
Re: Array: Maximale Anzahl nicht festlegen
Schon gut... Ich habe durch Zufall etwas gefunden, was wohl viel besser hgeeignet ist:
![]() Trotzdem danke für eure Hilfe!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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 by Thomas Breitkreuz