![]() |
länge eines 2-Dimensionalen und Dynamischen Array
Hallo!
Kann mir jemand sagen wie ich bei einem 2-Dimensionalen und Dynamischen Array die längen feststellen kann? gruß Teekeks |
Re: länge eines 2-Dimensionalen und Dynamischen Array
wie sieht denn der array aus?
also wenn so:
Delphi-Quellcode:
dann so:
var
myArray : array of array of Integer;
Delphi-Quellcode:
also damit bekommste afaik die länge in x und y richtung (wenn mich nicht alles täuscht).
Length (myArray);
Length (myArray[0]); Wenn du Length mit High ersetzt, bekommst du jeweils den höchsten index. MfG |
Re: länge eines 2-Dimensionalen und Dynamischen Array
und wie spreche ich das dann konkret an? also auch so:
Delphi-Quellcode:
oder wie?
thearray[x,y]:={irgentwas};
|
Re: länge eines 2-Dimensionalen und Dynamischen Array
wenn du mir deine deklaration zeigen würdest könnt ich es dir sagen, meine variante die ich gepostet hab spricht man mit
Delphi-Quellcode:
an, man muss aber auch für alle arrays über setlength die länge setzen mit:
myArray[x][y] := 12356
Delphi-Quellcode:
Das würde den dynamischen array auf 10x15 felder setzen, aber obs andere möglichkeiten gibt, ka...
const
X = 10; Y = 15; var I : Integer; begin SetLength (myArray,X); for I := 0 to High (myArray) do SetLength (myArray[I],Y); end; |
Re: länge eines 2-Dimensionalen und Dynamischen Array
hi Danke für deine hilfe.
Mein Array sieht genauso aus wie deins (ich hab nur ´n Record als Type dahinter). Ich hatte in erinnerung das Setlength so geht:
Delphi-Quellcode:
Aber da hat der Debugger gemeckert.
setlength(thearray,x,y);
|
Re: länge eines 2-Dimensionalen und Dynamischen Array
Zitat:
Delphi-Quellcode:
funzt bei mir mit meinen integer array wunderbar (wieder was gelernt :D).
SetLength (myArray,10,10);
Haste ma die genaue meldung? MfG |
Re: länge eines 2-Dimensionalen und Dynamischen Array
@Hybrid666: deine Variante kann man auch mit myArray[x, y] ansprechen
und eigentlich ging das mit dem SetLength auch so ... ansonten geht auch jede Ebene einzeln (praktisch wie in "dann so:" aus der #2, nur halt mit Set davor) |
Re: länge eines 2-Dimensionalen und Dynamischen Array
ich hab gerade festgestellt das die 3 SEHHR hübschen Meldungen die ich gektigt habe mit was anderem zusammenhängen, ich hab einfach das hier gemacht:
Delphi-Quellcode:
und das geht ja erfahrungsweise nicht ^^.
dynarray1:=dynarray2;
|
Re: länge eines 2-Dimensionalen und Dynamischen Array
ne, ist eher schlecht das :D
|
Re: länge eines 2-Dimensionalen und Dynamischen Array
Hm... hier krig ich nem Speicherzugrifsfehler:
Delphi-Quellcode:
wisst ihr woran das liegen mag?
procedure TGame.InsertMap(aMap: TMap);
var x:integer; begin _Act_X:=0; _Act_Y:=0; _Map_X:=Length(aMap); _Map_Y:=Length(amap[0]); Setlength(_Map,_Map_X+1); for x:=0 to _Map_X do setlength(_map[x],_Map_Y+1); _Map:=copy(aMap);// hier krig ich den Fehler... end; // so wird aufgerufen: procedure TForm1.Button1Click(Sender: TObject); var amap:TMap; x,y:integer; afield:TField; begin SetLength(amap,31); for x:=0 to 30 do Setlength(amap[x],31); afield.Field:='w'; afield.Player:='0'; for x:=0 to 30 do for y:=0 to 30 do amap[x][y]:=afield; amap[1][3].Field:='#'; Map.InsertMap(amap); Map.SaveMap('test2'); end; // TMap ist so deklariert: TField= record Field:char; Player:char; end; TMap= array of array of TField; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:24 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