Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mehrdimensionale Dynamische Arrays (https://www.delphipraxis.net/51226-mehrdimensionale-dynamische-arrays.html)

ichbins 8. Aug 2005 18:20


Mehrdimensionale Dynamische Arrays
 
Hallo!

Kann mir einer sagen, wie ich ein mehrdimensionales Dynamisches Array dierekt deklarieren kann, d.h. ich will nicht
Delphi-Quellcode:
array of array of integer
schreiben sondern alles mit einem Array erledigen, so wie bei den normalen Arrays mit
Delphi-Quellcode:
array [0..1,0..1] of integer

Chewie 8. Aug 2005 18:40

Re: Mehrdimensionale Dynamische Arrays
 
:wiejetzt:

Was willst du tun? Ein dynamisches Array, das aber deklariert wird wie ein statisches?

whiteshark 8. Aug 2005 18:49

Re: Mehrdimensionale Dynamische Arrays
 
Ich glaube er will ein mehrdimensionales dynamisches Array erstellen. (Wahrscheinlich geht setlegth nicht)

Oder :gruebel:

Dax 8. Aug 2005 18:50

Re: Mehrdimensionale Dynamische Arrays
 
Wird nix. ;) Die Delphi-Syntax ist so wie sie ist, anders als du's geschrieben hast gehts nicht.

bigg 8. Aug 2005 18:53

Re: Mehrdimensionale Dynamische Arrays
 
du könntest auch einen neuen Typen deklarieren...

ichbins 8. Aug 2005 19:28

Re: Mehrdimensionale Dynamische Arrays
 
Tja scheisse gelaufen :cry: war aber auch nur eine Komfortangelegenheit weil bis jetzt hatte ich immer

Delphi-Quellcode:
type
  tvertline=array of tinhalt;
  tspielfeld=array of tvertline;

var
  spielfeld:tspielfeld;
Dann musste ich aber beim setlength immer so hantieren:

for i:=0 to length(spielfeld)-1 do
setlength(spielfeld[i],xyz);

Das wird dann wohl auch so bleiben müssen.

Keldorn 8. Aug 2005 19:33

Re: Mehrdimensionale Dynamische Arrays
 
Hallo

geht auch in einem Rutsch
Delphi-Quellcode:
setlength(Spielfeld,xAnzahl,YAnzahl);
Deine Variante brauchst du nur, wenn du z.B. jedem XWert (i) eine unterschiedliche Anzahl von "Items" zuweisen willst.

Mfg Frank

Pr0g 8. Aug 2005 19:36

Re: Mehrdimensionale Dynamische Arrays
 
Ich hätte das Beispiel wohl schneller schreiben sollen, nun ist man mir zuvor gekommen, aber egal ;)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  fMap: Array of Array of Integer;
  i, j,
  fCount: Integer;
  s: String;
begin
  // Länge festlegen
  Setlength(fMap, 2, 4);

  // Beispielwerte reinschreiben
  fCount := 0;
  for i := Low(fMap) to High(fMap) do
  begin
    for j := Low(fMap[i]) to High(fMap[i]) do
    begin
      fMap[i, j] := fCount;
      Inc(fCount);
    end;
  end;

  // Und in ein Memo auslesen
  Memo1.Clear;
  for i := Low(fMap) to High(fMap) do
  begin
    s := '';
    for j := Low(fMap[i]) to High(fMap[i]) do
      s := s + IntToStr(fMap[i, j]) + ' ';
    Memo1.Lines.Add(s);
  end;
end;
MfG Pr0g


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz