![]() |
Mehrdimensionales Array variable auslegen
Wie kann ich das Array variabel auslegen?
Delphi-Quellcode:
Das ich die werte also zur laufzeit ändern kann.
ia: array [0..767, 0..100] of byte;
gruss Emil |
Re: Mehrdimensionales Array variable auslegen
Als dynamischen Array:
Delphi-Quellcode:
oder
ia: Array of Array of Byte;
Delphi-Quellcode:
Type
ByteArray = Array of Byte; ... ia: array of ByteArray; |
Re: Mehrdimensionales Array variable auslegen
Zitat:
sorry wenn die frage was dumm daher kommt. Danke schön .. gruss Emil |
Re: Mehrdimensionales Array variable auslegen
Delphi-Quellcode:
SetLength( ia, 100);
|
Re: Mehrdimensionales Array variable auslegen
Delphi-Quellcode:
ia = Array of Array of Byte;
// oder einfach nur ia = Array of {Types.}TByteDynArray;
Delphi-Quellcode:
// ia: Array[0..767, 0..100] of Byte;
SetLength(ia, 768); For i := 0 to High(ia) do SetLength(ia[i], 101); // oder SetLength(ia, 768, 101); |
Re: Mehrdimensionales Array variable auslegen
Zitat:
Das ist was ich nicht verstehe... in dem zusammenhang
Delphi-Quellcode:
länge zuweisen..
var
ia : array of byte
Delphi-Quellcode:
Habe hier aber 2 einträge ..
Setlength(ia, 100);
Delphi-Quellcode:
Muss ja in dem fall wissen welcher seite ich den neuen wert zuweise.
ia: array [0..767, 0..100] of byte;
gruss Emil |
Re: Mehrdimensionales Array variable auslegen
Zitat:
Danke schön. EDIT: warum dann einen wert mehr ? aus 767 wird 768 ? gruss Emil |
Re: Mehrdimensionales Array variable auslegen
Nein Heigh ermittelt die obere Grenze des 1. Wertes
|
Re: Mehrdimensionales Array variable auslegen
[info] hab oben was editiert :angel2:
vielleicht fällst es so besser auf, wenn man das trennt ... ergibt Beides das Selbe
Delphi-Quellcode:
und nu erkennt man auch, warum man es wie mit SetLength bearbeiten kann.
ia: Array[0..767, 0..100] of Byte;
ia: Array[0..767] of Array[0..100] of Byte; PS: hier kann man natürlich auch jedem Unterarray eine eigene Länge verpassen (nicht alle Arrays der selben Ebene müssen gleich groß sein) [add] Zitat:
[add2] hier nochmal das Ganze mit 3 Ebenen ... dürfte do dann hoffentlich klarer werden lassen
Delphi-Quellcode:
ia: Array[0..99, 0..199, 0..299] of Byte;
ia: Array[0..99] of Array[0..199] of Array[0..299] of Byte; ia: Array of Array of Array of Byte; SetLength(ia, 100, 200, 300); SetLength(ia, 100); For i1 := 0 to High(ia) do Begin { 0 to Length(ia) - 1 } SetLength(ia[i1], 200); For i2 := 0 to High(ia[i1]) do { 0 to Length(ia[i1]) - 1 } SetLength(ia[i1, i2], 300); // SetLength(ia[i1][i2], 300); End; |
Re: Mehrdimensionales Array variable auslegen
Hab es jetzt so gemacht..
Delphi-Quellcode:
var
ia : Array of Array of byte;
Delphi-Quellcode:
jetzt springt er in System.pas rein und meldet
nHeight:= PicBB.Height;
nImageSize:= (256*nHeight)*3; SetLength(ia, 768, nHeight + 1);
Delphi-Quellcode:
Zugriffsverletzng .. schreiben von Adresse.
function LoadResString(ResStringRec: PResStringRec): string;
Übergebe ich das Array normal
Delphi-Quellcode:
dann funktioniert es.
ia: array [0..767, 0..100] of byte;
gruss Emil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 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