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 Array Konstante (https://www.delphipraxis.net/91344-mehrdimensionale-array-konstante.html)

Hallo_Thomas 3. Mai 2007 17:20


Mehrdimensionale Array Konstante
 
Hallo,

ich wolle eine Array MehrDimensionale Array Konstante schreiben?

Eindimensional:
Delphi-Quellcode:
const
TestConst:Array[0..1]of Integer = (1,1);
Mehrdimensinale:
Delphi-Quellcode:
const
TestConst:Array[0..1,0..1]of Integer = ?????;

turboPASCAL 3. Mai 2007 17:30

Re: Mehrdimensionale Array Konstante
 
Delphi-Quellcode:
const
  TestConst: Array[0..1, 0..1]of Integer =
    ((0,1), (2,3));

pseudosquatter 18. Jun 2009 22:15

Re: Mehrdimensionale Array Konstante
 
Tut mir Leid wenn ich so einen alten Thread noch mal aus der Versenkung hole,
aber welcher Wert wird denn der Array-Konstanten TestConst zugewiesen und wie greift man
auf ihn zu? Was in dem unten zitierten Code ist der Wert, was der Index?

Zitat:

Zitat von turboPASCAL
Delphi-Quellcode:
const
  TestConst: Array[0..1, 0..1]of Integer =
    ((0,1), (2,3));


Danke, Pseudosquatter

quendolineDD 18. Jun 2009 22:31

Re: Mehrdimensionale Array Konstante
 
"Probieren geht über Studieren" heißt doch ein netter Spruch.
Bei dieser Konstande wäre [0,0] = 0, [0,1] = 1, [1,0] = 2, [1,1] = 3.
Nagelt mich an die Wand, wenn ich mich jetzt vertan habe...

himitsu 18. Jun 2009 23:44

Re: Mehrdimensionale Array Konstante
 
Delphi-Quellcode:
man könnte es sich auch so probieren ... einfach mal unterschiedliche Dimensionen
Array[0..1, 0..2] of I = ((0,1), (2,3), (4,5));

oder vielleicht so :gruebel:
Code:
Array[color=#ff0000][[/color]0..1[color=#ff0000]][/color] of I = [color=#ff0000]([/color]0,1[color=#ff0000])[/color];

Array[color=#ff0000][[/color]0..1[color=#ff0000]][/color] of Array[color=#00ff00][[/color]0..1[color=#00ff00]][/color] of I = ...
Array[0[color=#ff0000]..[/color]1, 0[color=#00ff00]..[/color]1] of I = [color=#ff0000]([/color][color=#00ff00]([/color]0,1[color=#00ff00])[/color], [color=#00ff00]([/color]2,3[color=#00ff00])[/color][color=#ff0000])[/color];

Array[color=#ff0000][[/color]0..1[color=#ff0000]][/color] of Array[color=#00ff00][[/color]0..1[color=#00ff00]][/color] of Array[color=#0000ff][[/color]0..1[color=#0000ff]][/color] of I = ...
Array[0[color=#ff0000]..[/color]1, 0[color=#00ff00]..[/color]1, 0[color=#0000ff]..[/color]1] of I = [color=#ff0000]([/color][color=#00ff00]([/color][color=#0000ff]([/color]0,1[color=#0000ff])[/color], [color=#0000ff]([/color]2,3[color=#0000ff])[/color][color=#00ff00])[/color], [color=#00ff00]([/color][color=#0000ff]([/color]4,5[color=#0000ff])[/color], [color=#0000ff]([/color]6,7[color=#0000ff])[/color][color=#00ff00])[/color][color=#ff0000])[/color];
.                                [color=#ff0000]0[/color] [color=#a0a0a0]0    0 0[/color]     [color=#ff0000]1[/color] [color=#a0a0a0]0    0 0[/color]
.                                [color=#00ff00]0[/color] [color=#a0a0a0]0[/color]   [color=#00ff00]1[/color] [color=#a0a0a0]0[/color]     [color=#00ff00]0[/color] [color=#a0a0a0]0[/color]   [color=#00ff00]1[/color] [color=#a0a0a0]0[/color]
.                                [color=#0000ff]0 1    0 1      0 1    0 1[/color]

pseudosquatter 20. Jun 2009 11:39

Re: Mehrdimensionale Array Konstante
 
Danke für die schnellen Antworten.
Mein Ziel war ein assoziatives, mehrdimensionales Array in Turbo Pascal.
Also etwa so:

Code:
TYPE farben=(rot,gruen,blau);
TYPE farbArrayType= ARRAY[1..2, farben] OF INTEGER;
CONST farbArray:farbArrayType = ???
Was muss jetzt für ??? eingesetzt werden, um z.B. farbArray[1, rot] den Wert 10 zuzuweisen?


Oder habe ich da etwas komplett falsch verstanden?
Für jede Antwort dankbar, Pseudosquatter

himitsu 20. Jun 2009 11:49

Re: Mehrdimensionale Array Konstante
 
Delphi-Quellcode:
TYPE farben=(rot,gruen,blau);
TYPE farbArrayType= ARRAY[1..2, farben] OF INTEGER;
CONST farbArray:farbArrayType = ((00, 01, 02), (03, 04, 05));

// farbArray[2, gruen] = 04
einfach die Ebenen nacheinander ineinander verschachteln
Code:
((00, 01, 02), (03, 04, 05))
(=====1======, =====2======)

und dann
(00, 01, 02  )
(03, 04, 05  )
*rot grün blau

[edit] so, nun sieht's endlich hübscher aus :angel2:

pseudosquatter 20. Jun 2009 12:21

Re: Mehrdimensionale Array Konstante
 
Super, Vielen Dank.
Jetzt hab ichs verstanden.
Das hier ist auch der einzige Thread zu dem Thema den ich finden konnte.
Für den, ders nicht verstanden hat:

Code:
TYPE farben=(rot,gruen,blau);
TYPE farbArrayType= ARRAY[1..2, farben] OF INTEGER;
CONST farbArray:farbArrayType = ((<Wert für rot>, <Wert für gruen>, <Wert für blau>), (<Wert für rot>, <Wert für gruen>, <Wert für blau>));
Die Werte in der ersten Klammer sind für den Index 1, in der 2. für den Index 2.

Ich markiere den Thread dann als erledigt.
Pseudosquatter


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 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