![]() |
Teile eines mehrdimensionalen (dynamischen) Arrays kopieren
Hallo Leute,
seit ca. einem Monat beschäftige ich mich nun auch mit Delphi. Diese Seite hat mir auch schon häufig bei Problemen geholfen, aber bei einem bin ich noch nicht fündig geworden: Ich habe ein Array vom Typ:
Delphi-Quellcode:
der Record besteht aus 3 Integers und einem String.
TArrayX = array of array of RecordBerechnung
Mein Problem ist nun, dass ich das Array sortieren muss. Hierzu müsste ich einzelne Teile kopieren, nämlich die Records. Bloß ist mir noch keine schlaue Lösung für dieses Problem eingefallen. Eine komplizierte Lösung wäre, wenn ich über For-Schleifen jedes Element durchgehe... Aber wie bekommt man die Länge der einzelnen Elemente heraus? Funktioniert length auch bei Mehrdimensionalen Arrays? Bsp: length(ArrayX[0][]) ?, also die Länge des Arrays an der Stelle 0? Bin für alle Ideen offen. Und schon mal danke für die Antworten :wink: |
Re: Teile eines mehrdimensionalen (dynamischen) Arrays kopie
ja length() funktioniert auch mehrdimesional genau wie high():
Delphi-Quellcode:
...
meinarray=array of array of meintyp ... groessedeserstenarrays:= length(meinarray); groessedesdrittenunterarrays:=length(meinarray[3]); ... anzahlderelementedeserstenarrays:=high(meinarray); |
Re: Teile eines mehrdimensionalen (dynamischen) Arrays kopie
Die Records kannst du mit
![]() |
Re: Teile eines mehrdimensionalen (dynamischen) Arrays kopie
mein Tip:
Nicht im Speicher sortieren, sondern nur einen SortIndex pro Eintrag einführen und diesen "sortieren" (d.h. abhängig von Sortierung hochzählen). Roderich |
Re: Teile eines mehrdimensionalen (dynamischen) Arrays kopie
@all: danke für die Antworten
habs nun erstmal mit length und ein paar for-schleifen gelöst. Die Move Prozedur versteh ich allerdings noch nicht ganz... im Hilfe-Beispiel wird das Array von Char´s in einen Integer kopiert? Nur so als Beispiel: Im Array sind die Chars "0","1","2","3" soll heißen nach ASCII 30h, 31h, 32h, und 33h. jetzt verschieb ich die in die Integer-Variable... steht dort jetzt 30313233h ? Oder wie kann ich das Interpretieren? |
Re: Teile eines mehrdimensionalen (dynamischen) Arrays kopie
probiers doch aus. müsste aber eigentlich so sein.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 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